diff --git a/apps/web/src/app/not-found.tsx b/apps/web/src/app/not-found.tsx index 789c05fa..04c2164a 100644 --- a/apps/web/src/app/not-found.tsx +++ b/apps/web/src/app/not-found.tsx @@ -194,6 +194,7 @@ const STATUS_CODE_EASTER_EGGS: Record< export default function NotFound() { const [abacusValue, setAbacusValue] = useState(404); const [activeEasterEgg, setActiveEasterEgg] = useState(null); + const [fadeKey, setFadeKey] = useState(0); const { updateConfig, resetToDefaults } = useAbacusDisplay(); // Easter egg activation - update global abacus config when special codes are entered @@ -202,6 +203,7 @@ export default function NotFound() { if (easterEgg && activeEasterEgg !== abacusValue) { setActiveEasterEgg(abacusValue); + setFadeKey((prev) => prev + 1); // Trigger fade animation // Update global abacus display config to use custom beads // This affects ALL abaci rendered in the app until page reload! @@ -215,6 +217,7 @@ export default function NotFound() { } else if (!easterEgg && activeEasterEgg !== null) { // User changed away from an easter egg code - reset to defaults setActiveEasterEgg(null); + setFadeKey((prev) => prev + 1); // Trigger fade animation resetToDefaults(); (window as any).__easterEggMode = null; } @@ -227,14 +230,29 @@ export default function NotFound() { return ( +

{activeEasterEgg ? STATUS_CODE_EASTER_EGGS[activeEasterEgg].message