"use client"; import { useTheme } from "~/hooks/useTheme.js"; import type { AccentColor, ThemeMode } from "~/hooks/useTheme.js"; import { useAppPreferences, type HeatmapColorScheme } from "~/hooks/useAppPreferences.js"; import { motion } from "framer-motion"; import { clsx } from "clsx"; interface PreferencesModalProps { onClose: () => void; } const ACCENT_OPTIONS: { value: AccentColor; label: string; swatch: string }[] = [ { value: "sky", label: "Sky", swatch: "#0284c7" }, { value: "indigo", label: "Indigo", swatch: "#4f46e5" }, { value: "violet", label: "Violet", swatch: "#7c3aed" }, { value: "emerald", label: "Emerald", swatch: "#059669" }, { value: "rose", label: "Rose", swatch: "#e11d48" }, { value: "amber", label: "Amber", swatch: "#d97706" }, ]; export function PreferencesModal({ onClose }: PreferencesModalProps) { const { prefs, setMode, setAccent } = useTheme(); const { prefs: appPrefs, setHideCompletedProjects, setTimelineDisplayMode, setHeatmapColorScheme, setShowDemandProjects, setBlinkOverbookedDays } = useAppPreferences(); return (
Row display style
Heatmap color scale
Changes apply instantly and are saved in your browser.