import { useThemeStore, type DarkMode } from "@/stores/themeStore"; import { useBackgroundStore } from "@/stores/backgroundStore"; import { Switch, Button, Slider } from "@heroui/react"; import { DEFAULT_BG } from "@/lib/mode"; import clsx from "clsx"; import { SettingCard, SettingRow, PageHeader, SectionTitle } from "@/components/setting"; function ThemePreviewCard({ mode, selected, onClick }: { mode: DarkMode; selected: boolean; onClick: () => void }) { const isDark = mode === "dark"; const isAuto = mode === "auto"; const label = isAuto ? "跟随系统" : isDark ? "深色模式" : "浅色模式"; return ( ); } export function ThemeBgSetting() { const { darkMode, setDarkMode, parallax, setParallax } = useThemeStore(); const { image, opacity, setOpacity, blur, setBlur, setImage, reset } = useBackgroundStore(); const handlePickImage = async () => { const dataUrl = await (window as any).electronAPI?.pickBackgroundImage(); if (dataUrl) { setImage(dataUrl); } }; const handleReset = async () => { await reset(); }; return (
深色模式
setDarkMode("light")} /> setDarkMode("auto")} /> setDarkMode("dark")} />
背景
{image && image !== DEFAULT_BG && (
背景预览
)}
setBlur(typeof v === "number" ? v : v[0])} > setOpacity((typeof v === "number" ? v : v[0]) / 100)} >
); }