clash-verge-rev/src/components/layout/use-log-toggle.ts
2022-09-20 22:15:28 +08:00

25 lines
572 B
TypeScript

import { useEffect } from "react";
import { useRecoilState } from "recoil";
import { atomEnableLog } from "@/services/states";
const LOG_KEY = "enable-log";
export default function useLogToggle() {
const [enableLog, setEnableLog] = useRecoilState(atomEnableLog);
useEffect(() => {
try {
setEnableLog(localStorage.getItem(LOG_KEY) !== "false");
} catch {}
}, []);
const setter = (enable: boolean) => {
try {
localStorage.setItem(LOG_KEY, enable.toString());
} catch {}
setEnableLog(enable);
};
return [enableLog, setter];
}