import { useTranslation } from "react-i18next" import { toast } from "sonner" import { IStartupMode } from "~/universal/types/enum" import i18n from "@/i18n" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" import { Switch } from "@/components/ui/switch" import { settingsStoreActions, useAppStore } from "@/store" import { SettingsRow } from "./settings-row" import { useSettingsSave } from "./use-settings-save" import { defaultSettingsConfig, } from "./utils" interface SettingsSectionGeneralProps { isMac: boolean isItemVisible: (itemId: string) => boolean } export function SettingsSectionGeneral({ isMac, isItemVisible, }: SettingsSectionGeneralProps) { const { t } = useTranslation() const appConfig = useAppStore.use.appConfig() const settingsConfig = appConfig?.settings ?? defaultSettingsConfig const saveSettingsConfig = useSettingsSave() const handleLanguageChange = async (value: string) => { try { await settingsStoreActions.saveLanguage(value) toast.success(i18n.t("TIPS_SET_SUCCEED", { lng: value })) } catch (error) { toast.error(error instanceof Error ? error.message : t("FAILED")) } } return (