Komplettes AdivmentSystem überarbeitet!

This commit is contained in:
2025-09-11 17:07:43 +02:00
parent 28616b3b0c
commit 6d5dc9eb7a
9 changed files with 1087 additions and 16 deletions

View File

@@ -1121,22 +1121,29 @@ function displayAchievements() {
const isCompleted = achievement.is_completed;
const progress = achievement.progress || 0;
const earnedAt = achievement.earned_at;
const completionCount = achievement.completion_count || 0;
// Translate achievement
const translatedAchievement = translateAchievement(achievement);
// Debug logging
if (achievement.name === 'Tageskönig') {
console.log('Tageskönig Debug:', { isCompleted, progress, earnedAt });
console.log('Tageskönig Debug:', { isCompleted, progress, earnedAt, completionCount });
}
let progressText = '';
if (isCompleted) {
const achievedText = currentLanguage === 'de' ? 'Erreicht am' : 'Achieved on';
const completedText = currentLanguage === 'de' ? 'Abgeschlossen' : 'Completed';
progressText = earnedAt ?
`${achievedText} ${new Date(earnedAt).toLocaleDateString(currentLanguage === 'de' ? 'de-DE' : 'en-US')}` :
completedText;
const timesText = currentLanguage === 'de' ? 'x geschafft' : 'x completed';
if (completionCount > 1) {
progressText = `${completionCount}${timesText}`;
} else {
progressText = earnedAt ?
`${achievedText} ${new Date(earnedAt).toLocaleDateString(currentLanguage === 'de' ? 'de-DE' : 'en-US')}` :
completedText;
}
} else if (progress > 0) {
// Show progress for incomplete achievements
const conditionValue = getAchievementConditionValue(achievement.name);
@@ -1146,6 +1153,7 @@ function displayAchievements() {
}
const pointsText = currentLanguage === 'de' ? 'Punkte' : 'Points';
const totalPoints = completionCount > 0 ? achievement.points * completionCount : achievement.points;
return `
<div class="achievement-card ${isCompleted ? 'completed' : 'incomplete'}"
@@ -1155,7 +1163,7 @@ function displayAchievements() {
<h4 class="achievement-name">${translatedAchievement.name}</h4>
<p class="achievement-description">${translatedAchievement.description}</p>
<div class="achievement-meta">
<span class="achievement-points">+${achievement.points} ${pointsText}</span>
<span class="achievement-points">+${totalPoints} ${pointsText}</span>
${progressText ? `<span class="achievement-progress">${progressText}</span>` : ''}
</div>
</div>