Files
kiss-translator/src/hooks/ColorMode.js

25 lines
503 B
JavaScript
Raw Normal View History

2023-08-30 18:05:37 +08:00
import { useCallback } from "react";
import { useSetting } from "./Setting";
2023-07-20 13:45:41 +08:00
/**
* 深色模式hook
* @returns
*/
export function useDarkMode() {
2023-08-30 18:05:37 +08:00
const {
setting: { darkMode },
updateSetting,
} = useSetting();
2023-07-20 13:45:41 +08:00
const toggleDarkMode = useCallback(() => {
2025-10-15 12:43:24 +08:00
const nextMode = {
light: "dark",
dark: "auto",
auto: "light",
};
updateSetting({ darkMode: nextMode[darkMode] || "light" });
2023-08-31 00:18:57 +08:00
}, [darkMode, updateSetting]);
2023-08-30 18:05:37 +08:00
return { darkMode, toggleDarkMode };
2023-07-20 13:45:41 +08:00
}