import useSWR, { useSWRConfig } from "swr"; import { IconButton, ListItemText, Switch, Typography } from "@mui/material"; import { getVergeConfig, openAppDir, openLogsDir, patchVergeConfig, } from "../../services/cmds"; import { ArrowForward } from "@mui/icons-material"; import { SettingList, SettingItem } from "./setting"; import { CmdType } from "../../services/types"; import { version } from "../../../package.json"; import PaletteSwitch from "./palette-switch"; import GuardState from "./guard-state"; interface Props { onError?: (err: Error) => void; } const SettingVerge = ({ onError }: Props) => { const { mutate } = useSWRConfig(); const { data: vergeConfig } = useSWR("getVergeConfig", getVergeConfig); const { theme_mode = "light", theme_blur = false, traffic_graph } = vergeConfig ?? {}; const onSwitchFormat = (_e: any, value: boolean) => value; const onChangeData = (patch: Partial) => { mutate("getVergeConfig", { ...vergeConfig, ...patch }, false); }; return ( onChangeData({ theme_mode: e ? "dark" : "light" })} onGuard={(e) => patchVergeConfig({ theme_mode: e ? "dark" : "light" }) } > onChangeData({ theme_blur: e })} onGuard={(e) => patchVergeConfig({ theme_blur: e })} > onChangeData({ traffic_graph: e })} onGuard={(e) => patchVergeConfig({ traffic_graph: e })} > v{version} ); }; export default SettingVerge;