import { forwardRef, useImperativeHandle, useState } from "react"; import { useTranslation } from "react-i18next"; import { List, Switch } from "@mui/material"; import { useVerge } from "@/hooks/use-verge"; import { BaseDialog, DialogRef, Notice } from "@/components/base"; import { SettingItem } from "./setting-comp"; import { GuardState } from "./guard-state"; export const LayoutViewer = forwardRef((props, ref) => { const { t } = useTranslation(); const { verge, patchVerge, mutateVerge } = useVerge(); const [open, setOpen] = useState(false); useImperativeHandle(ref, () => ({ open: () => setOpen(true), close: () => setOpen(false), })); const onSwitchFormat = (_e: any, value: boolean) => value; const onError = (err: any) => { Notice.error(err.message || err.toString()); }; const onChangeData = (patch: Partial) => { mutateVerge({ ...verge, ...patch }, false); }; return ( setOpen(false)} onCancel={() => setOpen(false)} > onChangeData({ theme_blur: e })} onGuard={(e) => patchVerge({ theme_blur: e })} > onChangeData({ traffic_graph: e })} onGuard={(e) => patchVerge({ traffic_graph: e })} > onChangeData({ enable_memory_usage: e })} onGuard={(e) => patchVerge({ enable_memory_usage: e })} > ); });