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> |
||
|---|---|---|
| .. | ||
| .claude | ||
| .storybook | ||
| __tests__ | ||
| content/blog | ||
| data | ||
| docs | ||
| drizzle | ||
| e2e | ||
| public | ||
| scripts | ||
| src | ||
| .dockerignore.test | ||
| .gitignore | ||
| CARD_SORTING_PORT_PLAN.md | ||
| COMPLEMENT_RACE_PORT_PLAN.md | ||
| DEVELOPMENT_STANDARDS.md | ||
| LINTING.md | ||
| README.md | ||
| biome.jsonc | ||
| drizzle.config.ts | ||
| eslint.config.js | ||
| next-env.d.ts | ||
| next.config.js | ||
| package.json | ||
| panda.config.ts | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| server.js | ||
| svg-processing-test.js | ||
| 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 | ||