import { useEffect, useState } from "react"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; export type RoadmapTheme = "space" | "fantasy" | "city" | "adventure"; const key = "aethex_roadmap_theme_v1"; export default function ThemeToggle({ value, onChange, }: { value?: RoadmapTheme; onChange?: (v: RoadmapTheme) => void; }) { const [theme, setTheme] = useState(value || "space"); useEffect(() => { try { const raw = localStorage.getItem(key); if (raw) { const saved = JSON.parse(raw) as RoadmapTheme; setTheme(saved); onChange?.(saved); } } catch {} // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const set = (v: RoadmapTheme) => { setTheme(v); onChange?.(v); try { localStorage.setItem(key, JSON.stringify(v)); } catch {} }; return ( set(v as RoadmapTheme)} className="w-full" > Space Fantasy City Adventure ); }