Fix: Into reload issue

This commit is contained in:
Zakaria
2026-06-06 14:11:39 -04:00
parent 7dbefd49dc
commit 436849f4c7
3 changed files with 28 additions and 2 deletions
+26
View File
@@ -29,6 +29,7 @@ const STATS_KEY = "fancy-wordle-stats-v2"
const LOCAL_ROUND_KEY = "fancy-wordle-hourly-round-v1"
const PLAY_INTERVAL_MS = 60 * 60 * 1000
const GUESS_TIMEOUT_MS = 10000
const INTRO_SEEN_KEY = "fancy-wordle-intro-seen-v1"
const INTRO_DURATION_MS = 5200
const INTRO_LETTER_SETS = [
["D", "E", "S", "I", "G", "N"],
@@ -168,6 +169,14 @@ function initializeIntro() {
if (introOverlay.dataset.initialized) return
introOverlay.dataset.initialized = "true"
if (hasSeenIntro()) {
introDismissed = true
introOverlay.hidden = true
document.body.classList.remove("intro-active")
return
}
introDismissed = false
document.body.classList.add("intro-active")
introSkipButton?.addEventListener("click", dismissIntro)
@@ -187,6 +196,22 @@ function prefersReducedMotion() {
return window.matchMedia?.("(prefers-reduced-motion: reduce)").matches
}
function hasSeenIntro() {
try {
return sessionStorage.getItem(INTRO_SEEN_KEY) === "true"
} catch {
return false
}
}
function rememberIntroSeen() {
try {
sessionStorage.setItem(INTRO_SEEN_KEY, "true")
} catch {
// If storage is unavailable, the intro still dismisses for the current page load.
}
}
function setIntroTile(tile, letter, status) {
const letterElement = tile.querySelector(".intro-letter")
tile.dataset.status = status
@@ -248,6 +273,7 @@ function dismissIntro() {
if (introDismissed) return
introDismissed = true
rememberIntroSeen()
clearIntroTimers()
setIntroFrame(INTRO_LETTER_SETS.length - 1, false)
introTileRow?.classList.add("is-solved", "is-logo")