"use client"; import { useEffect, useState } from "react"; import { THEME_KEY, THEME_META as META, THEME_ORDER as ORDER, type Theme, coerceTheme, nextTheme, } from "@/lib/theme"; export type { Theme }; export function applyTheme(t: Theme) { document.documentElement.dataset.theme = t; try { localStorage.setItem(THEME_KEY, t); } catch { /* private mode — non-fatal */ } } /** Inline, runs before paint to avoid a theme flash. Injected in
. */ export const themeBootScript = `(function(){try{var t=localStorage.getItem(${JSON.stringify( THEME_KEY, )})||'dark';document.documentElement.dataset.theme=t;}catch(e){document.documentElement.dataset.theme='dark';}})();`; export function ThemeToggle({ compact = false }: { compact?: boolean }) { const [theme, setTheme] = useState