Aller au contenu principal

0047 — Dashboard learner filtres + TopBar

Date : 2026-04-22 Statut : Acté

Contexte

Issues #28 L5 + #29 L6. Plusieurs contrôles du dashboard learner étaient décoratifs (filtres pills, input recherche, notification bell, view toggle).

Décision

  • L5 — 3 pills "Tous / En cours / Terminés" dans AllCoursesSection deviennent fonctionnels via activeFilter state local + filtrage useMemo ; EmptyState contextualisé par filtre avec bouton "Voir tous les cours" pour revenir à l'état all.
  • L6
    • Input recherche DashboardTopBar devient contrôlé : state search lifté dans LearnerDashboardPage, filtre courses sur title.includes(query) (sans debounce — liste locale).
    • NotificationBelltoast.info placeholder (option B de la spec).
    • ViewStateToggle wrappé dans {import.meta.env.DEV && (...)} — invisible en prod, tree-shaké au build.

Conséquences

  • Dashboard learner pleinement réactif.
  • Outils de dev tree-shakés en prod.
  • Notifications restent hors scope MVP (cf. cadrage MVP).