Skip to content

feat: module list completion tracking, quiz navigation, results screen, reward history filters - #395

Merged
DeFiVC merged 1 commit into
ChainLearnOfficial:mainfrom
TheHalalHunter:feat/ui-components-273-276
Aug 29, 2026
Merged

feat: module list completion tracking, quiz navigation, results screen, reward history filters#395
DeFiVC merged 1 commit into
ChainLearnOfficial:mainfrom
TheHalalHunter:feat/ui-components-273-276

Conversation

@TheHalalHunter

@TheHalalHunter TheHalalHunter commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #273, Closes #274, Closes #275, Closes #276.


#273 — ModuleList completion tracking (module-list.tsx)

  • Quiz badge: violet pill on contentType: 'interactive' modules; blue pill on contentType: 'video'
  • Content-type icon in the trailing column alongside duration
  • Dark mode fixes for completed/active title text and status icons
  • All existing features preserved: checkmark, current-module highlight, lock for inaccessible, click-to-navigate

#274 — QuizInterface question navigation (quiz-interface.tsx)

  • Dot navigation bar — gray (unanswered), light primary (answered), scaled primary (current); click any dot to jump
  • Answered counter (X/N answered) and optional time limit in header
  • Inline submission error display with Loader2 spinner during submit
  • Consolidated retry flow — removed duplicate retry buttons

#275 — ResultsScreen quiz results (results-screen.tsx — new file)

  • Circular score ring with colour-coded threshold (green / amber / red), fraction display, pass/fail Badge
  • Bouncing trophy on pass (animate-bounce)
  • Per-question breakdown: your answer, correct answer, explanation for wrong answers
  • Token reward banner when rewardClaimed is true
  • Action footer: pass → continue to next module (derived from store) or back to course; fail → retry + back to course
  • QuizInterface updated to render <ResultsScreen> instead of inline block; quiz page threads courseId

#276 — RewardHistory filters + export (reward-history.tsx, dashboard/page.tsx)

  • Summary stats: total LEARN earned, confirmed count, pending count, failed count (always over full unfiltered list)
  • Filter bar: course search (debounced 250ms), status select, date-from / date-to — all combinable via useMemo
  • Export CSV: downloads filtered list as reward-history-YYYY-MM-DD.csv
  • Status Badge pills on each row (success / warning / destructive)
  • RewardHistory wired into the dashboard rewards tab

Files changed

  • src/components/course/module-list.tsx
  • src/components/course/quiz-interface.tsx
  • src/components/course/results-screen.tsx (new)
  • src/app/courses/[courseId]/quiz/page.tsx
  • src/components/rewards/reward-history.tsx
  • src/app/dashboard/page.tsx

@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@TheHalalHunter Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@netlify

netlify Bot commented Aug 29, 2026

Copy link
Copy Markdown

Deploy Preview for chainlearn failed.

Name Link
🔨 Latest commit c22102f
🔍 Latest deploy log https://app.netlify.com/projects/chainlearn/deploys/6a92e81a638e700008578ca7

@DeFiVC
DeFiVC merged commit 3a79d18 into ChainLearnOfficial:main Aug 29, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants