Skip to content

Commit 5c16a8a

Browse files
committed
feat: redesign sidebar progress to show milestone progress and total lessons
1 parent 17b3d53 commit 5c16a8a

4 files changed

Lines changed: 41 additions & 7 deletions

File tree

src/app.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ const elements = {
164164
refFooterLessonLinks: document.getElementById("ref-footer-lesson-links"),
165165
sectionFooterLessonLinks: document.getElementById("section-footer-lesson-links"),
166166
progressFill: document.getElementById("progress-fill"),
167-
progressText: document.getElementById("progress-text"),
167+
progressCurrent: document.getElementById("progress-current"),
168+
progressTotal: document.getElementById("progress-total"),
168169
milestonesContainer: document.getElementById("milestones"),
169170
resetBtn: document.getElementById("reset-btn"),
170171
disableFeedbackToggle: document.getElementById("disable-feedback-toggle"),
@@ -322,9 +323,11 @@ function updateProgressDisplay() {
322323
elements.progressFill.style.width = `${progressPercent}%`;
323324
elements.progressFill.style.setProperty('--progress-percent', progressPercent);
324325

325-
// Update progress text - show completed of total lessons
326-
elements.progressText.textContent = t("progressTextMilestone", {
327-
completed: stats.totalCompleted,
326+
// Update progress current - show progress towards next milestone
327+
elements.progressCurrent.textContent = `${stats.totalCompleted}/${stats.nextMilestone}`;
328+
329+
// Update progress total - show total lessons
330+
elements.progressTotal.textContent = t("progressTotal", {
328331
total: stats.totalLessons
329332
});
330333

src/i18n.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const translations = {
4141
progress: "Progress",
4242
progressText: "{percent}% Complete ({completed}/{total})",
4343
progressTextMilestone: "{completed} of {total} lessons completed",
44+
progressTotal: "{total} lessons total",
4445
lessons: "Lessons",
4546
settings: "Settings",
4647
showHints: "Show Hints",
@@ -264,6 +265,7 @@ const translations = {
264265
progress: "Fortschritt",
265266
progressText: "{percent}% abgeschlossen ({completed}/{total})",
266267
progressTextMilestone: "{completed} von {total} Lektionen abgeschlossen",
268+
progressTotal: "{total} Lektionen insgesamt",
267269
lessons: "Lektionen",
268270
settings: "Einstellungen",
269271
showHints: "Hinweise anzeigen",
@@ -487,6 +489,7 @@ const translations = {
487489
progress: "Postęp",
488490
progressText: "{percent}% ukończone ({completed}/{total})",
489491
progressTextMilestone: "{completed} z {total} lekcji ukończonych",
492+
progressTotal: "{total} lekcji łącznie",
490493
lessons: "Lekcje",
491494
settings: "Ustawienia",
492495
showHints: "Pokaż podpowiedzi",
@@ -709,6 +712,7 @@ const translations = {
709712
progress: "Progreso",
710713
progressText: "{percent}% completado ({completed}/{total})",
711714
progressTextMilestone: "{completed} de {total} lecciones completadas",
715+
progressTotal: "{total} lecciones en total",
712716
lessons: "Lecciones",
713717
settings: "Configuración",
714718
showHints: "Mostrar pistas",
@@ -933,6 +937,7 @@ const translations = {
933937
progress: "التقدم",
934938
progressText: "{percent}% مكتمل ({completed}/{total})",
935939
progressTextMilestone: "{completed} من {total} درس مكتمل",
940+
progressTotal: "{total} درس إجمالي",
936941
lessons: "الدروس",
937942
settings: "الإعدادات",
938943
showHints: "إظهار التلميحات",
@@ -1152,6 +1157,7 @@ const translations = {
11521157
progress: "Прогрес",
11531158
progressText: "{percent}% завершено ({completed}/{total})",
11541159
progressTextMilestone: "{completed} з {total} уроків завершено",
1160+
progressTotal: "{total} уроків всього",
11551161
lessons: "Уроки",
11561162
settings: "Налаштування",
11571163
showHints: "Показувати підказки",

src/index.html

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -476,10 +476,13 @@ <h4 data-i18n="progress">Progress</h4>
476476
<span class="milestone" data-value="75">75</span>
477477
<span class="milestone" data-value="100">100</span>
478478
</div>
479-
<div class="progress-bar">
480-
<div class="progress-fill" id="progress-fill"></div>
479+
<div class="progress-bar-row">
480+
<div class="progress-bar">
481+
<div class="progress-fill" id="progress-fill"></div>
482+
</div>
483+
<span class="progress-current" id="progress-current">0/1</span>
481484
</div>
482-
<span class="progress-text" id="progress-text">0 of 100</span>
485+
<span class="progress-total" id="progress-total">0 of 100 lessons</span>
483486
</div>
484487
</div>
485488

src/main.css

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,6 +1040,28 @@ nav.sidebar-section {
10401040
color: var(--light-text);
10411041
}
10421042

1043+
.progress-bar-row {
1044+
display: flex;
1045+
align-items: center;
1046+
gap: var(--spacing-sm);
1047+
}
1048+
1049+
.progress-bar-row .progress-bar {
1050+
flex: 1;
1051+
}
1052+
1053+
.progress-current {
1054+
font-size: 0.85rem;
1055+
font-weight: 600;
1056+
color: var(--text-color);
1057+
white-space: nowrap;
1058+
}
1059+
1060+
.progress-total {
1061+
font-size: 0.75rem;
1062+
color: var(--light-text);
1063+
}
1064+
10431065
/* Milestone Progress */
10441066
.milestone-progress {
10451067
gap: var(--spacing-sm);

0 commit comments

Comments
 (0)