From 8fd8cdfbd4bcbccff7bd4724f8d0b8836fa3cfc0 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 5 Mar 2026 10:11:56 -0500 Subject: [PATCH 1/2] Add CNAME for custom domain and fix lint warning --- public/CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/CNAME diff --git a/public/CNAME b/public/CNAME new file mode 100644 index 0000000..c9fb6b1 --- /dev/null +++ b/public/CNAME @@ -0,0 +1 @@ +darkelfbrowser.com From 5ec6cba0fd3ee9a0ea224c85248784f1a2973374 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 5 Mar 2026 10:14:37 -0500 Subject: [PATCH 2/2] next updates and fix lint --- components/EntryCutscene.tsx | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/components/EntryCutscene.tsx b/components/EntryCutscene.tsx index 317f035..dee8781 100644 --- a/components/EntryCutscene.tsx +++ b/components/EntryCutscene.tsx @@ -129,6 +129,8 @@ export function EntryCutscene({ onComplete }: EntryCutsceneProps) { }; useEffect(() => { + const currentTimers = timers.current; + // Only show once per browser session if (sessionStorage.getItem(SESSION_KEY)) { onComplete?.(); @@ -154,14 +156,14 @@ export function EntryCutscene({ onComplete }: EntryCutsceneProps) { const totalDuration = FRAME_DURATION_MS * frames.length; - timers.current.cycle = setInterval(() => { + currentTimers.cycle = setInterval(() => { setFrameIndex((prev) => (prev + 1 < frames.length ? prev + 1 : prev)); }, FRAME_DURATION_MS); - timers.current.fade = setTimeout(() => setFading(true), totalDuration - FADE_LEAD_MS); + currentTimers.fade = setTimeout(() => setFading(true), totalDuration - FADE_LEAD_MS); const scheduleMusic = (delay: number) => { - timers.current.music = setTimeout(() => { + currentTimers.music = setTimeout(() => { startAudioWithFade().catch(() => { // Playback blocked: prompt user setNeedsUserAudio(true); @@ -171,7 +173,7 @@ export function EntryCutscene({ onComplete }: EntryCutsceneProps) { scheduleMusic(MUSIC_DELAY_MS); - timers.current.hide = setTimeout(() => { + currentTimers.hide = setTimeout(() => { fadeOutAndStop().finally(() => { setVisible(false); onComplete?.(); @@ -179,12 +181,12 @@ export function EntryCutscene({ onComplete }: EntryCutsceneProps) { }, totalDuration); return () => { - if (timers.current.cycle) clearInterval(timers.current.cycle); - if (timers.current.fade) clearTimeout(timers.current.fade); - if (timers.current.hide) clearTimeout(timers.current.hide); - if (timers.current.music) clearTimeout(timers.current.music); - if (timers.current.fadeIn) clearInterval(timers.current.fadeIn); - if (timers.current.fadeOut) clearInterval(timers.current.fadeOut); + if (currentTimers.cycle) clearInterval(currentTimers.cycle); + if (currentTimers.fade) clearTimeout(currentTimers.fade); + if (currentTimers.hide) clearTimeout(currentTimers.hide); + if (currentTimers.music) clearTimeout(currentTimers.music); + if (currentTimers.fadeIn) clearInterval(currentTimers.fadeIn); + if (currentTimers.fadeOut) clearInterval(currentTimers.fadeOut); if (audioRef.current) { audioRef.current.pause(); audioRef.current.currentTime = 0;