diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte index bf09be3..9c8d3b9 100644 --- a/packages/web/src/App.svelte +++ b/packages/web/src/App.svelte @@ -21,6 +21,14 @@ let showHelp = $state(false); /** The finished game whose victory fanfare has been dismissed. */ let victorySeen = $state(false); + /** The fireworks get the stage before the modal takes it. */ + let victoryCurtain = $state(false); + $effect(() => { + if (view?.phase === "finished" && view.winner && !victoryCurtain) { + const t = setTimeout(() => (victoryCurtain = true), 2400); + return () => clearTimeout(t); + } + }); /** Quiet mode: skip the attack announcement modal (device preference). */ let noFanfare = $state(localStorage.getItem("wizwar-no-fanfare") === "1"); function setFanfare(announce: boolean) { @@ -949,7 +957,7 @@ net.requestStats()} onclose={() => (showHelp = false)} /> {/if} - {#if view?.phase === "finished" && view.winner && !victorySeen} + {#if view?.phase === "finished" && view.winner && victoryCurtain && !victorySeen}
🏆