import { useMessage } from "@workspace/i18n" import { MonitorIcon, MoonIcon, SunIcon } from "@workspace/ui/components/icon" import { cn } from "@workspace/ui/lib/utils" import { appearanceMessages } from "../messages" import type { ThemeMode } from "../preferences" import { AppearanceOptionList, type AppearanceOption, } from "./appearance-option-list" export interface ThemeModeOptionListProps { className?: string onValueChange: (value: ThemeMode) => void value: ThemeMode } export function ThemeModeOptionList({ className, onValueChange, value, }: ThemeModeOptionListProps) { const title = useMessage(appearanceMessages.themeMode) const lightLabel = useMessage(appearanceMessages.lightMode) const darkLabel = useMessage(appearanceMessages.darkMode) const systemLabel = useMessage(appearanceMessages.followSystem) const descriptions: Record = { light: useMessage(appearanceMessages.lightModeDescription), dark: useMessage(appearanceMessages.darkModeDescription), system: useMessage(appearanceMessages.followSystemDescription), } const items: readonly AppearanceOption[] = [ { icon: , label: lightLabel, value: "light" }, { icon: , label: darkLabel, value: "dark" }, { icon: , label: systemLabel, value: "system" }, ] return (

{title}

{descriptions[value]}

) }