From 4ba86429d5184b80282a1779e8d9632e93c07d35 Mon Sep 17 00:00:00 2001 From: Bobban Rydh Date: Sat, 19 Sep 2026 01:56:08 +0200 Subject: [PATCH] Move dark mode toggle from sidebar to Settings > Display --- web/src/layout/AppShell.tsx | 18 ------------- web/src/pages/settings/DisplaySettings.tsx | 31 ++++++++++++++++++++++ 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/web/src/layout/AppShell.tsx b/web/src/layout/AppShell.tsx index 39eddd1..4d36ae2 100644 --- a/web/src/layout/AppShell.tsx +++ b/web/src/layout/AppShell.tsx @@ -18,11 +18,8 @@ import { IconStethoscope, IconSettings, IconMenu2, - IconSun, - IconMoon, } from "@tabler/icons-react"; import type { CurrentUser } from "../api/client"; -import { getTheme, setTheme, type Theme } from "../utils/theme"; interface NavItem { to: string; @@ -54,17 +51,10 @@ const roleRank: Record = { viewer: 0, operator: 1, export default function AppShell({ user, children }: { user: CurrentUser; children: ReactNode }) { const [sidebarOpen, setSidebarOpen] = useState(false); - const [theme, setThemeState] = useState(() => getTheme()); const visibleItems = NAV_ITEMS.filter( (item) => !item.minRole || roleRank[user.role] >= roleRank[item.minRole], ); - function toggleTheme() { - const next: Theme = theme === "dark" ? "light" : "dark"; - setTheme(next); - setThemeState(next); - } - return (
+ +
+
+
+

Theme

+
+
+

+ A personal preference remembered on this browser only — it doesn't affect other signed-in + users. +

+ +
+
+
);