From 021b9d35ea1e6a0e6ef597fa8dda36e375dfb60b Mon Sep 17 00:00:00 2001 From: Hermann_Kitio Date: Tue, 21 Apr 2026 00:47:24 +0300 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20t=C3=A2ches=20G2+G3=20?= =?UTF-8?q?=E2=80=94=20clavier=20+=20minuteur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 3cd9dd6..cadf293 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -37,6 +37,34 @@ Chaque entrée suit ce format : - Code source de `src/entities/user/access.ts` et `lib.ts` avec tests +## 2026-04-21 — Tâches G2+G3 — Clavier + Minuteur + +### Ajouté +- Composant SpecialCharsKeyboard — 30 caractères spéciaux + français en flex-wrap, sticky au scroll +- Bloc "Temps restant" sticky avec TimerDisplay MM:SS + (critique < 2min : rouge + pulse, expiré : rouge bold) +- Composant WordCountBar — barre de progression colorée + (orange < cible, vert dans cible, rouge > cible) +- Hook useTimer avec 7 tests unitaires +- Config par tâche dans simulationConfig.ts + (EE T1: 10min/60-120 mots, T2: 20min/120-150, + T3: 30min/120-180) +- Auto-submit à l'expiration si ≥ 30 mots +- Bouton "Soumettre ma production" (était "Envoyer") +- Textarea auto-resize sans scroll interne + +### Changed +- Compteur de caractères remplacé par WordCountBar +- Bouton soumission bloqué si < 30 mots + +### Tests +- Typecheck : 0 erreur +- Vitest : 66/66 passés (+7 tests useTimer) +- Test manuel : minuteur + clavier validés sur mobile + et desktop + + ## 2026-04-21 — Tâche G1 — Affichage de la consigne ### Ajouté