🐛 Fix rewards
This commit is contained in:
@@ -510,6 +510,12 @@
|
||||
const sortedRewards = [...data.rewards].sort((a, b) => a.price - b.price);
|
||||
|
||||
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
|
||||
let percentTaken = 0;
|
||||
let stockText = "";
|
||||
@@ -525,7 +531,7 @@
|
||||
html += `
|
||||
<div class="reward-item">
|
||||
<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-stats">
|
||||
<span class="reward-stat">${reward.orders_count} contributeurs</span>
|
||||
@@ -541,7 +547,6 @@
|
||||
html += '</div>';
|
||||
rewardsContainer.innerHTML = html;
|
||||
}
|
||||
|
||||
function updateContributors(data) {
|
||||
if (!data.contributors || data.contributors.length === 0) {
|
||||
contributorsContainer.innerHTML = '<p>Aucun contributeur trouvé ou impossible de récupérer la liste.</p>';
|
||||
@@ -556,6 +561,74 @@
|
||||
|
||||
let html = '';
|
||||
|
||||
data.contributors.forEach(contributor => {
|
||||
// Formater la date si elle existe
|
||||
let dateStr = '';
|
||||
if (contributor.date_joined) {
|
||||
const date = new Date(contributor.date_joined);
|
||||
dateStr = date.toLocaleDateString('fr-FR', { year: 'numeric', month: 'short', day: 'numeric' });
|
||||
}
|
||||
|
||||
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 += `
|
||||
<div class="contributor-item">
|
||||
<div class="contributor-details">
|
||||
<div class="contributor-info">
|
||||
<div class="contributor-profile">
|
||||
<img class="contributor-avatar" src="${avatarUrl}" alt="${contributor.name || 'Contributeur'}" />
|
||||
<div>
|
||||
<div class="contributor-name">${contributor.name || contributor.screenname || 'Contributeur anonyme'}</div>
|
||||
${rewardName ? `<div class="contributor-reward">${rewardName}</div>` : ''}
|
||||
${contributor.location ? `<div class="contributor-location">${contributor.location}</div>` : ''}
|
||||
${dateStr ? `<div class="contributor-date">Depuis le ${dateStr}</div>` : ''}
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
${contributor.latest_project_comment && contributor.latest_project_comment.comment ?
|
||||
`<div class="contributor-comment">"${contributor.latest_project_comment.comment}"</div>` : ''}
|
||||
</div>`;
|
||||
});
|
||||
|
||||
contributorsContainer.innerHTML = html;
|
||||
}
|
||||
|
||||
if (!data.contributors || data.contributors.length === 0) {
|
||||
contributorsContainer.innerHTML = '<p>Aucun contributeur trouvé ou impossible de récupérer la liste.</p>';
|
||||
return;
|
||||
}
|
||||
|
||||
const formatter = new Intl.NumberFormat('fr-FR', {
|
||||
style: 'currency',
|
||||
currency: 'EUR',
|
||||
maximumFractionDigits: 0
|
||||
});
|
||||
|
||||
let html = '';
|
||||
|
||||
data.contributors.forEach(contributor => {
|
||||
// Formater la date si elle existe
|
||||
let dateStr = '';
|
||||
|
||||
Reference in New Issue
Block a user