import { useSettings } from "@/store/settings"; import { Switch } from "@/ui/misc"; const ACCENTS = [ { id: "teal", color: "#0f766e" }, { id: "blue", color: "#2563eb" }, { id: "purple", color: "#7c3aed" }, { id: "rose", color: "#e11d48" }, { id: "orange", color: "#ea580c" }, { id: "green", color: "#16a34a" }, ]; export function AppearanceSettings() { const s = useSettings((st) => st.settings); const update = useSettings((st) => st.update); return (

Appearance

Make ihasmail yours.

Theme

{(["system", "light", "dark"] as const).map((t) => ( ))}
update({ themeMessageBody: v })} label="Apply the theme to messages too" hint="Plain-text mail already follows the theme. With this on, HTML mail that brings no colours of its own does as well, instead of sitting on a white card. Messages that style themselves are left exactly as the sender designed them." />

Accent color

{ACCENTS.map((a) => (

Density & text

Sidebar

update({ labelsSidebar: v })} label="Show labels in the sidebar" /> update({ showHiddenFolders: v })} label="Show unsubscribed (hidden) folders" /> update({ sidebarCollapsed: v })} label="Collapse sidebar to icons" />
); }