diff --git a/frontend/src/components/Sidebar.tsx b/frontend/src/components/Sidebar.tsx index 76c128e..84c65d6 100644 --- a/frontend/src/components/Sidebar.tsx +++ b/frontend/src/components/Sidebar.tsx @@ -66,10 +66,14 @@ const TOOL_GROUPS: { label: string; items: { to: string; icon: typeof Search; la function useDarkMode() { const [dark, setDark] = useState(() => { if (typeof window === "undefined") return false; - return localStorage.getItem("theme") === "dark"; + const saved = localStorage.getItem("theme"); + if (saved) return saved === "dark"; + // 首次访问跟随系统偏好 + return window.matchMedia?.("(prefers-color-scheme: dark)").matches ?? false; }); useEffect(() => { const root = document.documentElement; + root.classList.add("theme-transition"); if (dark) { root.classList.add("dark"); localStorage.setItem("theme", "dark"); @@ -77,6 +81,8 @@ function useDarkMode() { root.classList.remove("dark"); localStorage.setItem("theme", "light"); } + const t = setTimeout(() => root.classList.remove("theme-transition"), 300); + return () => clearTimeout(t); }, [dark]); return [dark, () => setDark((d) => !d)] as const; } @@ -181,7 +187,7 @@ export default function Sidebar() {
- v0.2.0 + v2.1
diff --git a/frontend/src/pages/JobMonitor.tsx b/frontend/src/pages/JobMonitor.tsx index 2ad648d..71c4790 100644 --- a/frontend/src/pages/JobMonitor.tsx +++ b/frontend/src/pages/JobMonitor.tsx @@ -130,7 +130,7 @@ export default function JobMonitor() { : "bg-orange-100 text-orange-700" }`} > - {(j as any).authority === "go_core" ? "Go" : "Py"} + {(j as any).authority === "go_core" ? "Go" : "存档"} )} {j.id}