feat: implement milestone-based progress system and activate new lessons

Progress System:
- Replace percentage-based progress with milestone markers (1, 5, 10, 20, 30, 50, 75, 100)
- Add visual milestone indicators with reached/current/next states
- Add celebration animation when milestones are reached
- Update progress bar to show progress toward next milestone
- Add progressTextMilestone i18n key for all 6 languages

New Lessons Activated:
- HTML Dialog (native modal dialogs)
- HTML Progress & Meter (indicator elements)
- HTML Fieldset (form grouping)
- HTML Datalist (autocomplete inputs)

This adds 10 new lessons across all 6 languages, bringing total from ~66 to ~76.
This commit is contained in:
2026-01-16 13:56:29 +01:00
parent 9844d9ed15
commit b693013743
7 changed files with 209 additions and 13 deletions

View File

@@ -1019,6 +1019,65 @@ nav.sidebar-section {
color: var(--light-text);
}
/* Milestone Progress */
.milestone-progress {
gap: var(--spacing-sm);
}
.milestones {
display: flex;
justify-content: space-between;
padding: 0 2px;
}
.milestone {
display: flex;
align-items: center;
justify-content: center;
min-width: 24px;
height: 24px;
font-size: 0.7rem;
font-weight: 600;
color: var(--light-text);
background: var(--border-color);
border-radius: 50%;
transition: all 0.3s ease;
}
.milestone.reached {
background: linear-gradient(135deg, #9163b8, #7c4dff);
color: white;
}
.milestone.current {
background: linear-gradient(135deg, #d45aa0, #1aafb8);
color: white;
transform: scale(1.15);
box-shadow: 0 2px 8px rgba(212, 90, 160, 0.4);
}
.milestone.next {
border: 2px dashed var(--light-text);
background: transparent;
}
/* Milestone celebration animation */
@keyframes milestone-pop {
0% {
transform: scale(1);
}
50% {
transform: scale(1.4);
}
100% {
transform: scale(1.15);
}
}
.milestone.just-reached {
animation: milestone-pop 0.5s ease-out;
}
/* Module List in Sidebar */
.module-list {
/* No max-height - parent nav.sidebar-section handles overflow */