+
Signed in as {user.name ?? user.email ?? user.sub} · {user.role}
diff --git a/web/src/utils/theme.ts b/web/src/utils/theme.ts
new file mode 100644
index 0000000..b27a43e
--- /dev/null
+++ b/web/src/utils/theme.ts
@@ -0,0 +1,16 @@
+export type Theme = "light" | "dark";
+
+const THEME_KEY = "hlm-theme";
+
+export function getTheme(): Theme {
+ return document.documentElement.getAttribute("data-bs-theme") === "dark" ? "dark" : "light";
+}
+
+export function setTheme(theme: Theme): void {
+ document.documentElement.setAttribute("data-bs-theme", theme);
+ try {
+ localStorage.setItem(THEME_KEY, theme);
+ } catch {
+ // localStorage unavailable (private browsing etc.) — theme still applies for this page load
+ }
+}