Skip to content

fix(galerie): démos réellement interactives + badge « aperçu statique » — vitrine item 4#73

Merged
remigit55 merged 3 commits into
masterfrom
fix/vitrine-04-demos-interactives
Jun 13, 2026
Merged

fix(galerie): démos réellement interactives + badge « aperçu statique » — vitrine item 4#73
remigit55 merged 3 commits into
masterfrom
fix/vitrine-04-demos-interactives

Conversation

@remigit55

Copy link
Copy Markdown
Collaborator

Item 4 — Démos figées de la galerie /components

Implements: vitrine-04-demos-interactives

Tient la promesse « rendu réel » : audit systématique des handlers morts (() => {}) de la galerie, puis chaque composition est soit rendue interactive, soit étiquetée « aperçu statique ».

Rendus interactifs (un useState chacun)

Démo Avant Après
Segmented Jour/Semaine/Mois (le cas épinglé par l'audit) onClick={() => {}}, bloqué sur « Semaine » sélection réelle, aria-pressed
colorPicker valeur figée valeur libre éditable
pageLayout onNavigate={() => {}} navigation entre items
toast onClose={() => {}} fermeture réelle + bouton « rejouer » (pas de carte vide)
avatar (sidebar) onLogout={() => {}} retour visible « onLogout appelé »
fileUploader onFiles={() => {}} fichiers sélectionnés listés
wizardForm onComplete={() => {}} message de fin de parcours

Étiquetés « aperçu statique »

Clusters d'icônes purement illustratifs (patterns de composition, non câblés) — un badge discret rend la promesse honnête sans fabriquer un faux éditeur : toolbar ghost raised, toolbar text, toolbar data, strip nav, strip social.

Hors périmètre (assumé, transparent)

Les 15 commandes de commandPalette gardent action: () => {}. La palette est pleinement interactive (ouverture, Ctrl+K, recherche, navigation clavier, sélection qui ferme) ; action est le point d'intégration de l'app hôte, sans cible réelle sur une page vitrine. Pas de fabrication d'effets factices.

Détails

  • i18n FR/EN : gallery.demo.* (badge + messages de feedback), parité garantie par le type Dictionary.
  • CSS : .demo-static-tag (badge pilule, tokens --bpm-*).
  • Les boutons de style (variants/sizes/icons, action cluster, danger confirm) ne sont pas étiquetés : un bouton « Primary » de démo n'implique aucune action — seuls les clusters qui miment un widget fonctionnel le sont.

Validation

  • tsc --noEmit : 0 ; npm run build ✅ ; route /components OK.
  • Audit handlers : 0 handler mort restant hors commandPalette (justifié ci-dessus).
  • ⚠️ Pas de capture pixel (navigateur bloqué par la politique réseau). Logique d'interactivité relue (états, aria-pressed, parité i18n). Un test clic réel reste recommandé à la revue.

Je m'arrête pour revue avant l'item 5 (code copiable dans les cartes de la galerie).

https://claude.ai/code/session_01R2zjjDD1srqhoMnFx8LWx9


Generated by Claude Code

claude added 3 commits June 12, 2026 16:43
Tient la promesse « rendu réel » de /components : plus aucun handler mort,
chaque composition est soit interactive, soit étiquetée.

Rendus interactifs (un état chacun) :
- segmented Jour/Semaine/Mois (le cas épinglé par l'audit) — sélection réelle
- colorPicker (valeur libre), pageLayout (navigation), toast (fermeture +
  bouton rejouer), avatar (onLogout → retour visible), fileUploader (fichiers
  listés), wizardForm (onComplete → message de fin)

Étiquetés « aperçu statique » (clusters d'icônes illustratifs, non câblés) :
- toolbar ghost raised, toolbar text, toolbar data, strip nav, strip social

i18n FR/EN (gallery.demo.*) + style .demo-static-tag.

Hors périmètre assumé : les 15 commandes de commandPalette gardent action: noop
— la palette est pleinement interactive (ouverture, recherche, navigation
clavier, sélection) ; action est le point d'intégration de l'app hôte, sans
cible sur une page vitrine.

Implements: vitrine-04-demos-interactives

https://claude.ai/code/session_01R2zjjDD1srqhoMnFx8LWx9
…s-interactives

# Conflicts:
#	app/globals.css
…s-interactives

# Conflicts:
#	app/globals.css
@remigit55
remigit55 merged commit f208d8b into master Jun 13, 2026
1 check 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

Development

Successfully merging this pull request may close these issues.

2 participants