🐛 Fix rewards

This commit is contained in:
Victor Bodinaud
2025-02-27 14:52:33 +01:00
parent 38318a5217
commit 7cdc081227

View File

@@ -510,6 +510,12 @@
const sortedRewards = [...data.rewards].sort((a, b) => a.price - b.price); const sortedRewards = [...data.rewards].sort((a, b) => a.price - b.price);
sortedRewards.forEach(reward => { sortedRewards.forEach(reward => {
// Récupérer le titre localisé (français par défaut, sinon anglais, sinon première langue disponible)
let rewardTitle = '';
if (reward.title) {
rewardTitle = reward.title.fr || reward.title.en || Object.values(reward.title)[0] || '';
}
// Calculer le pourcentage pour les récompenses limitées // Calculer le pourcentage pour les récompenses limitées
let percentTaken = 0; let percentTaken = 0;
let stockText = ""; let stockText = "";
@@ -523,19 +529,19 @@
} }
html += ` html += `
<div class="reward-item"> <div class="reward-item">
<div class="reward-price">${formatter.format(reward.price)}</div> <div class="reward-price">${formatter.format(reward.price)}</div>
<div class="reward-title">${reward.title}</div> <div class="reward-title">${rewardTitle}</div>
<div class="reward-description">${reward.description}</div> <div class="reward-description">${reward.description}</div>
<div class="reward-stats"> <div class="reward-stats">
<span class="reward-stat">${reward.orders_count} contributeurs</span> <span class="reward-stat">${reward.orders_count} contributeurs</span>
${stockText} ${stockText}
</div> </div>
${reward.stock ? ` ${reward.stock ? `
<div class="reward-progress"> <div class="reward-progress">
<div class="reward-progress-fill" style="width: ${percentTaken}%"></div> <div class="reward-progress-fill" style="width: ${percentTaken}%"></div>
</div>` : ''} </div>` : ''}
</div>`; </div>`;
}); });
html += '</div>'; html += '</div>';
@@ -564,25 +570,47 @@
dateStr = date.toLocaleDateString('fr-FR', { year: 'numeric', month: 'short', day: 'numeric' }); dateStr = date.toLocaleDateString('fr-FR', { year: 'numeric', month: 'short', day: 'numeric' });
} }
const avatarUrl = contributor.avatar || 'https://s3-eu-west-1.amazonaws.com/com.ulule.assets/site/build/img/avatars/avatar-blue.png'; const avatarUrl = contributor.avatar ? (contributor.avatar['90'] || '') : 'https://s3-eu-west-1.amazonaws.com/com.ulule.assets/site/build/img/avatars/avatar-blue.png';
// Extraire le nom de la récompense avec le format title.fr si disponible
let rewardName = '';
if (contributor.latest_project_order &&
contributor.latest_project_order.items &&
contributor.latest_project_order.items.length > 0) {
const item = contributor.latest_project_order.items[0];
if (item.reward && item.reward.parent && item.reward.parent.title) {
rewardName = item.reward.parent.title.fr ||
item.reward.parent.title.en ||
Object.values(item.reward.parent.title)[0] || '';
// Ajouter la variante si elle existe
if (item.reward.description_fr) {
rewardName += ` (${item.reward.description_fr})`;
}
}
}
html += ` html += `
<div class="contributor-item"> <div class="contributor-item">
<div class="contributor-details"> <div class="contributor-details">
<div class="contributor-info"> <div class="contributor-info">
<div class="contributor-profile"> <div class="contributor-profile">
<img class="contributor-avatar" src="${avatarUrl}" alt="${contributor.name}" /> <img class="contributor-avatar" src="${avatarUrl}" alt="${contributor.name || 'Contributeur'}" />
<div> <div>
<div class="contributor-name">${contributor.name || 'Contributeur anonyme'}</div> <div class="contributor-name">${contributor.name || contributor.screenname || 'Contributeur anonyme'}</div>
${contributor.reward ? `<div class="contributor-reward">${contributor.reward}</div>` : ''} ${rewardName ? `<div class="contributor-reward">${rewardName}</div>` : ''}
${contributor.location ? `<div class="contributor-location">${contributor.location}</div>` : ''} ${contributor.location ? `<div class="contributor-location">${contributor.location}</div>` : ''}
${dateStr ? `<div class="contributor-date">Depuis le ${dateStr}</div>` : ''} ${dateStr ? `<div class="contributor-date">Depuis le ${dateStr}</div>` : ''}
</div> </div>
</div> </div>
</div> </div>
${contributor.amount ? `<div class="contributor-amount">${formatter.format(contributor.amount)}</div>` : ''} ${contributor.latest_project_order && contributor.latest_project_order.items && contributor.latest_project_order.items[0].line_total ?
`<div class="contributor-amount">${formatter.format(contributor.latest_project_order.items[0].line_total)}</div>` : ''}
</div> </div>
${contributor.comment ? `<div class="contributor-comment">"${contributor.comment}"</div>` : ''} ${contributor.latest_project_comment && contributor.latest_project_comment.comment ?
`<div class="contributor-comment">"${contributor.latest_project_comment.comment}"</div>` : ''}
</div>`; </div>`;
}); });