feat(rich): interactive widget configs — QuizConfig, QuizState, TableConfig, PollConfig (#40, #32) #135

Merged
charles merged 2 commits from feat/40-32-interactive-widgets into main 2026-04-06 02:22:27 +00:00
Owner

Résumé

Structs de configuration et état runtime pour les widgets interactifs dans fractal-rich :

  • QuizConfig + QuizState : QCM avec feedback correct/incorrect, allow_multiple
  • PollConfig : sondage sans réponses correctes
  • TableConfig : table triable par colonne avec filtre textuel
  • QuizState::is_correct() : vérifie les réponses après soumission
  • 4 tests unitaires (désérialisation + logique d'état)

Closes #32, #40

Plan de test

  • cargo test -p fractal-rich passe
  • QuizState::toggle("a", false) sélectionne uniquement "a"
  • QuizState::is_correct() retourne true si toutes les réponses correctes sont sélectionnées
## Résumé Structs de configuration et état runtime pour les widgets interactifs dans `fractal-rich` : - `QuizConfig` + `QuizState` : QCM avec feedback correct/incorrect, `allow_multiple` - `PollConfig` : sondage sans réponses correctes - `TableConfig` : table triable par colonne avec filtre textuel - `QuizState::is_correct()` : vérifie les réponses après soumission - 4 tests unitaires (désérialisation + logique d'état) Closes #32, #40 ## Plan de test - [ ] `cargo test -p fractal-rich` passe - [ ] `QuizState::toggle("a", false)` sélectionne uniquement "a" - [ ] `QuizState::is_correct()` retourne `true` si toutes les réponses correctes sont sélectionnées
feat(rich): expose interactive module in lib.rs
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
05553e6bf4
charles deleted branch feat/40-32-interactive-widgets 2026-04-06 02:22:27 +00:00
Sign in to join this conversation.
No description provided.