import useSWR, { useSWRConfig } from "swr"; import { Box, List, ListItemText, ListSubheader, Switch, Typography, } from "@mui/material"; import { getVergeConfig, patchVergeConfig } from "../services/cmds"; import { CmdType } from "../services/types"; import { version } from "../../package.json"; import GuardState from "./guard-state"; import SettingItem from "./setting-item"; import PaletteSwitch from "./palette-switch"; import SysproxyTooltip from "./sysproxy-tooltip"; interface Props { onError?: (err: Error) => void; } const SettingVerge = ({ onError }: Props) => { const { mutate } = useSWRConfig(); const { data: vergeConfig } = useSWR("getVergeConfig", getVergeConfig); const { theme_mode: mode = "light", theme_blur: blur = false, enable_auto_launch: startup = false, enable_system_proxy: proxy = false, } = vergeConfig ?? {}; const onSwitchFormat = (_e: any, value: boolean) => value; const onChangeData = (patch: Partial) => { mutate("getVergeConfig", { ...vergeConfig, ...patch }, false); }; return ( Common Setting onChangeData({ theme_mode: e ? "dark" : "light" })} onGuard={(c) => patchVergeConfig({ theme_mode: c ? "dark" : "light" }) } > onChangeData({ theme_blur: e })} onGuard={(e) => patchVergeConfig({ theme_blur: e })} > onChangeData({ enable_auto_launch: e })} onGuard={(e) => patchVergeConfig({ enable_auto_launch: e })} > System Proxy } /> onChangeData({ enable_system_proxy: e })} onGuard={(e) => patchVergeConfig({ enable_system_proxy: e })} > v{version} ); }; export default SettingVerge;