"use client"; import { cn } from "@/lib/utils"; export type ThemeKey = "dark" | "light" | "system"; const themes: { value: ThemeKey }[] = [ { value: "light" }, { value: "dark" }, { value: "system" }, ]; const THEME_TEXT: Record = { dark: "Dark", light: "Light", system: "System", }; interface ThemeSelectorProps { value?: string; onSelect: (value: ThemeKey) => void; className?: string; } export function ThemeSelector({ value, onSelect, className, }: ThemeSelectorProps) { return (
{themes.map((item) => { const isDark = item.value === "dark"; const isSystem = item.value === "system"; const isActive = value === item.value; return (
onSelect(item.value)} >
{THEME_TEXT[item.value]}
{isActive && (
)}
); })}
); }