'use client' import { DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRadioItemIndicator, DropdownMenuTrigger, } from '@langgenius/dify-ui/dropdown-menu' import { useTheme } from 'next-themes' import { useTranslation } from 'react-i18next' import ActionButton from '@/app/components/base/action-button' const THEMES = ['light', 'dark', 'system'] as const export type Theme = typeof THEMES[number] const isTheme = (value: string): value is Theme => { return (THEMES as readonly string[]).includes(value) } export default function ThemeSelector() { const { t } = useTranslation() const { theme, setTheme } = useTheme() const handleThemeChange = (newTheme: Theme) => { setTheme(newTheme) } const handleThemeValueChange = (value: string) => { if (isTheme(value)) handleThemeChange(value) } const getCurrentIcon = () => { switch (theme) { case 'light': return case 'dark': return default: return } } return ( )} > {getCurrentIcon()} {t('theme.light', { ns: 'common' })} {t('theme.dark', { ns: 'common' })} {t('theme.auto', { ns: 'common' })} ) }