import { browser } from "$app/environment"; import { writable } from "svelte/store"; const storageKey = (date = new Date()) => `aprilFoolsExecutiveMode:${date.getFullYear()}`; export const isAprilFoolsDay = (date = new Date()) => date.getMonth() === 3 && date.getDate() === 1; let hydrated = !browser; const store = writable(false); export const hydrateAprilFools = () => { if (!browser || hydrated) return; const storedValue = localStorage.getItem(storageKey()); store.set(storedValue === null ? isAprilFoolsDay() : storedValue === "true"); hydrated = true; }; store.subscribe((value) => { if (!browser || !hydrated) return; localStorage.setItem(storageKey(), String(value)); }); export const aprilFoolsVisible = () => isAprilFoolsDay(); const aprilFools = { subscribe: store.subscribe, set: store.set, toggle: () => store.update((value) => !value), }; export default aprilFools;