fix(jeu): overlay fonctionnel — CSS complet + URL sanitizée + data-state
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s

- 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>
This commit is contained in:
isUnknown 2026-03-20 12:08:33 +01:00
parent 2af4604c08
commit ddfcf4de70
2 changed files with 119 additions and 10 deletions

View file

@ -1,17 +1,19 @@
<?php if ($block->url()->isNotEmpty()): ?>
<?php if ($block->url()->isNotEmpty()):
$iframeUrl = preg_replace('/\s+/', '', $block->url()->value());
?>
<div class="iframe-game-container">
<iframe
loading="eager"
importance="high"
width="400"
height="650"
style="border: none; overflow: hidden; pointer-events: none; display: block;"
src="<?= $block->url()->html() ?>"
style="border: none; overflow: hidden; pointer-events: none; display: block; width: 100%;"
src="<?= htmlspecialchars($iframeUrl, ENT_QUOTES, 'UTF-8') ?>"
></iframe>
<div class="iframe-click-overlay">
<div class="iframe-click-overlay" data-state="initial">
<div class="overlay-content">
<div class="play-icon"></div>
<p>Cliquez pour jouer</p>
<p class="overlay-message">Cliquez pour jouer</p>
</div>
</div>
<button class="iframe-deactivate-btn" title="Deactivate game (restore scrolling)"></button>