elemes/frontend
a2nr 1f4217be76 fix(quiz): enforce 75% passing threshold, sync server progress, and persist attempt review
- Only show celebration overlay and top bar completed checkmark if quiz score meets 75% threshold (>= 0.75) and exercises are done
- Return is_done, state, and composite_percent in POST /lesson-progress for exercise and quiz submissions
- Synchronize frontend LessonManager state with authoritative server is_done response
- Add has_quiz_attempt check in routes/lessons.py and token_service to recognize existing attempts even when composite state is in_progress
- Update QuizTab to display persistent attempt review, score status, and explanation instead of retake prompt on page load/refresh
- Make QuizQuestionView finish handler async, await finishQuiz(), and disable submission buttons to prevent navigation race conditions
- Update local ordered_lessons completion state dynamically upon passing
- Add unit and integration tests covering response payload attributes and has_quiz_attempt API field
- Bump APP_VERSION to 30
2026-09-09 07:33:52 +07:00
..
src fix(quiz): enforce 75% passing threshold, sync server progress, and persist attempt review 2026-09-09 07:33:52 +07:00
static
…
.dockerignore
…
Dockerfile fix(markdown): sanitasi DOMPurify, perbaikan parser flashcard & kompatibilitas SSR Node 20 2026-08-28 05:24:44 +07:00
node-polyfill.cjs refactor(markdown): konsolidasi polyfill nodeCompat & hapus dependency dompurify 2026-08-28 11:12:39 +07:00
package-lock.json refactor(markdown): konsolidasi polyfill nodeCompat & hapus dependency dompurify 2026-08-28 11:12:39 +07:00
package.json refactor(markdown): konsolidasi polyfill nodeCompat & hapus dependency dompurify 2026-08-28 11:12:39 +07:00
svelte.config.js
…
tsconfig.json
…
vite.config.ts
…
vitest.config.ts fix(review): address code review findings for dev to master merge 2026-09-06 18:08:58 +07:00