From 2218286f2e79f7de5a3ea1b85ee462b67494571d Mon Sep 17 00:00:00 2001 From: realChriss <77172965+realChriss@users.noreply.github.com> Date: Thu, 27 Nov 2025 08:27:32 +0100 Subject: [PATCH] fix: satisfy checks --- web/src/components/ThemeSelect.tsx | 2 +- web/src/store/instance.ts | 2 +- web/src/themes/midnight.css | 27 ++++++++++----------------- web/src/types/modules/setting.d.ts | 2 +- web/src/utils/theme.ts | 10 +++++----- 5 files changed, 18 insertions(+), 25 deletions(-) diff --git a/web/src/components/ThemeSelect.tsx b/web/src/components/ThemeSelect.tsx index e7a76c8f5..5668461b8 100644 --- a/web/src/components/ThemeSelect.tsx +++ b/web/src/components/ThemeSelect.tsx @@ -13,9 +13,9 @@ const THEME_ICONS: Record = { system: , default: , "default-dark": , + midnight: , paper: , whitewall: , - midnight: , }; const ThemeSelect = ({ value, onValueChange, className }: ThemeSelectProps = {}) => { diff --git a/web/src/store/instance.ts b/web/src/store/instance.ts index 9ac01ef4e..11636250b 100644 --- a/web/src/store/instance.ts +++ b/web/src/store/instance.ts @@ -22,7 +22,7 @@ import { createRequestKey } from "./store-utils"; /** * Valid theme options */ -const VALID_THEMES = ["system", "default", "default-dark", "paper", "whitewall", "midnight"] as const; +const VALID_THEMES = ["system", "default", "default-dark", "midnight", "paper", "whitewall"] as const; export type Theme = (typeof VALID_THEMES)[number]; /** diff --git a/web/src/themes/midnight.css b/web/src/themes/midnight.css index a72b4e466..0739fe2e3 100644 --- a/web/src/themes/midnight.css +++ b/web/src/themes/midnight.css @@ -31,26 +31,19 @@ --sidebar-accent-foreground: oklch(0.92 0.003 270); --sidebar-border: oklch(0.25 0.005 270); --sidebar-ring: oklch(0.7 0.08 290); - --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, - "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, - "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", - "Noto Color Emoji"; + --font-sans: + ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; - --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, - "Liberation Mono", "Courier New", monospace; + --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --radius: 0.5rem; --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); - --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.1), - 0 1px 2px -1px hsl(0 0% 0% / 0.1); - --shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.1), - 0 1px 2px -1px hsl(0 0% 0% / 0.1); - --shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.1), - 0 2px 4px -1px hsl(0 0% 0% / 0.1); - --shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.1), - 0 4px 6px -1px hsl(0 0% 0% / 0.1); - --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.1), - 0 8px 10px -1px hsl(0 0% 0% / 0.1); + --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1); + --shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1); + --shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1); + --shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1); + --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1); --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25); --tracking-normal: 0em; --spacing: 0.25rem; @@ -104,4 +97,4 @@ --shadow-lg: var(--shadow-lg); --shadow-xl: var(--shadow-xl); --shadow-2xl: var(--shadow-2xl); -} \ No newline at end of file +} diff --git a/web/src/types/modules/setting.d.ts b/web/src/types/modules/setting.d.ts index 350a3d67b..64e9bd2fe 100644 --- a/web/src/types/modules/setting.d.ts +++ b/web/src/types/modules/setting.d.ts @@ -1 +1 @@ -type Theme = "system" | "default" | "default-dark" | "paper" | "whitewall" | "midnight"; +type Theme = "system" | "default" | "default-dark" | "midnight" | "paper" | "whitewall"; diff --git a/web/src/utils/theme.ts b/web/src/utils/theme.ts index 83e24f91b..dcb562361 100644 --- a/web/src/utils/theme.ts +++ b/web/src/utils/theme.ts @@ -1,18 +1,18 @@ import defaultDarkThemeContent from "../themes/default-dark.css?raw"; +import midnightThemeContent from "../themes/midnight.css?raw"; import paperThemeContent from "../themes/paper.css?raw"; import whitewallThemeContent from "../themes/whitewall.css?raw"; -import midnightThemeContent from "../themes/midnight.css?raw"; -const VALID_THEMES = ["system", "default", "default-dark", "paper", "whitewall", "midnight"] as const; +const VALID_THEMES = ["system", "default", "default-dark", "midnight", "paper", "whitewall"] as const; type ValidTheme = (typeof VALID_THEMES)[number]; const THEME_CONTENT: Record = { system: null, // System theme dynamically chooses between default and default-dark default: null, "default-dark": defaultDarkThemeContent, + midnight: midnightThemeContent, paper: paperThemeContent, whitewall: whitewallThemeContent, - midnight: midnightThemeContent, }; export interface ThemeOption { @@ -24,9 +24,9 @@ export const THEME_OPTIONS: ThemeOption[] = [ { value: "system", label: "Sync with system" }, { value: "default", label: "Light" }, { value: "default-dark", label: "Dark" }, + { value: "midnight", label: "Midnight" }, { value: "paper", label: "Paper" }, { value: "whitewall", label: "Whitewall" }, - { value: "midnight", label: "Midnight"}, ]; const validateTheme = (theme: string): ValidTheme => { @@ -47,7 +47,7 @@ export const getSystemTheme = (): "default" | "default-dark" => { * Resolves the actual theme to apply based on user preference * If theme is "system", returns the system preference, otherwise returns the theme as-is */ -export const resolveTheme = (theme: string): "default" | "default-dark" | "paper" | "whitewall" | "midnight" => { +export const resolveTheme = (theme: string): "default" | "default-dark" | "midnight" | "paper" | "whitewall" => { if (theme === "system") { return getSystemTheme(); }