soroban-abacus-flashcards/apps/web
Thomas Hallock d6f1c13317 fix(404): reset easter egg config on page reload/close
Fix easter egg persistence bug where custom bead styles from the 404
page easter eggs (200, 404, 666, etc.) would persist across page reloads
and browser sessions when they should only last for the current session.

Root cause:
- Easter eggs call updateConfig() which saves to localStorage
- AbacusDisplayProvider loads from localStorage on mount
- Easter egg customization persisted indefinitely

Solution:
- Save original abacus config on 404 page mount
- Restore original config on beforeunload event
- Easter eggs persist while navigating site (client-side routing)
- Easter eggs reset on page reload or tab close

Behavior:
 Easter egg persists across Next.js navigation (Link, router.push)
 Easter egg resets on page reload (F5, Cmd+R)
 Easter egg resets on tab/window close
 Restores user's original bead style, not just defaults

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 20:33:36 -06:00
..
.claude chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
.storybook chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
__tests__ chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
content/blog chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
data
docs fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
drizzle fix(worksheets): remove foreign key constraint to support guest users 2025-11-06 08:26:09 -06:00
e2e chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
public refactor(worksheets): extract ConfigPanel helper components (Phase 1) 2025-11-08 11:50:49 -06:00
scripts chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
src fix(404): reset easter egg config on page reload/close 2025-11-08 20:33:36 -06:00
.dockerignore.test chore: trigger Docker rebuild 2025-11-07 12:11:46 -06:00
.gitignore
CARD_SORTING_PORT_PLAN.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
COMPLEMENT_RACE_PORT_PLAN.md
DEVELOPMENT_STANDARDS.md
LINTING.md
README.md fix: prevent undefined displayRules error in worksheet generator 2025-11-07 13:01:54 -06:00
biome.jsonc chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
drizzle.config.ts chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
eslint.config.js chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
next-env.d.ts
next.config.js feat: enable production source maps for easier debugging 2025-11-08 20:32:06 -06:00
package.json refactor(worksheets): extract utility functions 2025-11-07 22:09:35 -06:00
panda.config.ts chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
playwright.config.ts chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
pnpm-lock.yaml
server.js chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
svg-processing-test.js chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00
test-arcade-api.sh
test-flashcards-final.pdf
test-flashcards.pdf
test-simplified.pdf
test_fullscreen_persistence.html
test_panda_simple.html
tsconfig.json
tsconfig.server.json
vitest.config.ts chore: restore stashed work from previous session 2025-11-08 14:59:40 -06:00

README.md

Test deployment - Mon Nov 3 16:31:57 CST 2025