- jeu.php : iframe démarre sur about:blank, URL stockée dans data-src
- Article.svelte : event delegation sur document (plus de timeout/querySelector)
→ le src de l'iframe est injecté seulement quand l'user clique (évite l'iframe noir)
→ supprime l'ancien $effect avec setTimeout au profit d'une délégation propre
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- jeu.php : supprime les espaces de l'URL (preg_replace), ajoute data-state="initial" sur l'overlay
- Article.svelte : porte le CSS complet depuis l'ancienne app React
(background opaque, play icon, hover, deactivate btn, game-active state)
- JS : ignore les clics sur overlay ended, remet data-state="initial" au deactivate
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- site/blueprints/blocks/jeu.yml : champ URL pour l'iframe
- site/snippets/blocks/jeu.php : rendu HTML statique (container + overlay + bouton désactivation)
- Article.svelte : $effect pour attacher les handlers clic sur .iframe-game-container
et onMount pour écouter postMessage GameReleaseFocus depuis impact.games
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Expertise : réordonne align-self avant font-size dans .expertise-title
- Router : ajout console.log pour debug des données de slide
- expertise.json.php : suppression newline final
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SVG curves : height 100vh / width auto (conserve le ratio)
- Carousel : fusionne les règles de border sur .active picture img
- Mobile : carousel décalé d'une ligne (grid-area 15), taille active corrigée
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Déplace les liens read-more après l'image sur mobile (desktop-only/mobile-only)
- Corrige le champ date : article.date → article.published
- Ajuste le padding .page-container sur mobile
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Retire la section newsletter commentée et tout son CSS associé
- Remplace les h3 par des p.footer-label (sémantique plus correcte)
- Réduit le gap des colonnes footer
- Fix divider mobile (7% width, 2px height)
- Ajoute offset margin-left pour .collection .page-scrollable-footer mobile
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- App.svelte : flèches clavier bloquées sur sous-page (ArrowLeft → history.back())
- Blog/WhitePapers : reset de articleData/itemData après 1100ms (post-transition)
pour éviter le flash pendant l'animation de changement de slide
- WhitePapers : singleSlug jamais resetté (pré-affiché à l'arrivée sur la slide)
- WhitePapers : $effect sur isActive pour replaceState + openItem si itemData null
- WhitePapers/Blog : handlePopState ignore les popstate hors de la page courante
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Nouveau layout desktop : flex row avec catch-area (label + titre) et form-area (formulaire)
- Mobile : height 100vh non-scrollable, overlay formulaire déclenché au clic
- Tablet : grid 2 colonnes
- Suppression des préfixes wp- sur toutes les classes (CSS scopé Svelte)
- white-paper.json.php : intro via ->inline() pour texte brut
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Footer renommé page-scrollable-footer, positionné en dernier enfant
de .page-container dans About, Blog et Article
- Marges négatives pour aligner le footer pleine largeur (about / blog)
- Retrait du footer global fixe de App.svelte
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Footer global fixé en bas (App.svelte), masqué par le contenu des slides
- margin-bottom sur .page-scrollable pour l'effet footer reveal (about, blog, article)
- About : champ intro remplacé par heading (text) + subtitle (writer), blueprint + API + vue mis à jour
- LanguageSwitcher : div → button avec hitbox élargie
- i18n : clé our_team (fr: NOTRE ÉQUIPE / en: OUR TEAM)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Même logique que les touches fléchées : navigation entre jeux,
aux limites passage à la slide précédente/suivante via slideTo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- App.svelte : classe active sur la slide courante
- Portfolio : flèches PNG custom, <output> pour le compteur, transition gallery mobile avec délai à l'entrée seulement
- fonts.css : @font-face Danzza Light + classe .font-face-danzza-light corrigée
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Background fixe mobile (BG GAME MOBILE.png, position bottom)
- GalleryAnimation en plein écran sur mobile (position fixed, opacité 0.8)
- Arrows + compteur 01/05 ajoutés (desktop grid-area 18/16, mobile 18/15)
- Layout mobile : mockup centré, texte par-dessus, keywords masqués, nav horizontale 75px
- Séparation desktop-only / mobile-only pour la galerie
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Le footer était auto-placé par la CSS Grid golden-grid avant l'article.
Wrap article + footer dans .article-wrapper qui porte le grid-area.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Refonte complète du Footer (sémantique propre, données dynamiques depuis
le store site, bouton subscribe avec l'animation .button partagée).
Intégré dans About, Blog et Article. Scroll-to-top au départ de About et Blog.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Ajout d'un calque position:fixed avec BACKGROUND2 derrière toutes les slides.
About et Blog (transparents) le laissent apparaître naturellement.
Les autres slides (opaques) le recouvrent sans changement.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>