Skip to content

feat(ui): confettis festifs animés sur les héros des hubs#9

Merged
julienrata merged 2 commits into
mainfrom
feat/confetti-festif
Jun 17, 2026
Merged

feat(ui): confettis festifs animés sur les héros des hubs#9
julienrata merged 2 commits into
mainfrom
feat/confetti-festif

Conversation

@julienrata

Copy link
Copy Markdown
Owner

Ajoute une touche festive aux bandeaux héros : un calque de confettis animés, dans la continuité de la DA festive (cf. DECISIONS.md — pivot DA festive).

Contenu

  • Composant partagé shared/components/confetti/ (ConfettiComponent) : calque SVG décoratif tokenisé, aria-hidden, positionné en absolu derrière le contenu (z-index négatif).
  • tone light / dark : palette multicolore de marque sur fond clair (accueil), variante claire translucide sur le dégradé festif des hubs.
  • Utilisé dans les 5 hubs via <app-confetti> (accueil en light, solid / design-patterns / claude-code-setup / bonnes-pratiques en tone="dark").
  • Apparition en cascade (cc-pop + --cc-stagger), neutralisée par prefers-reduced-motion.

Garanties

  • Aucune valeur en dur : couleurs/durées via tokens --cc-* (seules restent opacités et géométrie SVG).
  • Contraste du texte préservé (calque derrière, texte plein).
  • Accueil migré de l'ancien SVG inline vers le composant partagé — pas de code mort.
  • npm run check (lint + build) vert.

Indépendance

PR distincte du refactor (#8) : régions de code disjointes, mergeable dans n'importe quel ordre.

🤖 Generated with Claude Code

julienrata and others added 2 commits June 17, 2026 12:01
Composant partagé `ConfettiComponent` (calque SVG décoratif tokenisé,
`aria-hidden`, apparition en cascade `cc-pop`/`--cc-stagger` neutralisée par
`prefers-reduced-motion`). Inclus dans les 5 hubs via `<app-confetti>` : palette
multicolore claire à l'accueil (fond doux), variante `tone="dark"` translucide
sur le dégradé festif des autres héros. Aucune valeur en dur, contraste du texte
préservé (calque en z-index négatif derrière le contenu).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Le calque SVG en `…slice` était agrandi (~×2,4) dans des héros bien plus larges
que hauts : 6 des 8 pièces tombaient hors de la bande visible et étaient clippées
par `overflow: hidden`, ne laissant que 2 formes surdimensionnées. En `none`, le
SVG remplit exactement le héros — les 8 pièces réparties, plus aucun clip. Léger
étirement sans incidence (formes décoratives). Vérifié au rendu (accueil + hub).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@julienrata
julienrata merged commit b34d557 into main Jun 17, 2026
2 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

Development

Successfully merging this pull request may close these issues.

1 participant