From 1f0e909ffdbfe010da9d47e12217ab3650ea0082 Mon Sep 17 00:00:00 2001 From: Iu Date: Sat, 10 Oct 2026 18:36:32 +0300 Subject: [PATCH] feat(frontend): darken neutral theme and reorder theme switcher - make neutral theme a warm dark graphite - order switches as dark -> neutral -> light -> system - replace neutral icon with contrast glyph --- frontend/src/app.css | 28 +++++++++---------- .../src/lib/components/ThemeSwitcher.svelte | 4 +-- frontend/src/lib/icons/registry.ts | 3 +- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/frontend/src/app.css b/frontend/src/app.css index 6a72e6b..af7b5b3 100644 --- a/frontend/src/app.css +++ b/frontend/src/app.css @@ -38,22 +38,22 @@ --shadow: 0 0% 0% / 0.4; } -/* Нейтральная (тёплая серо-бежевая) */ +/* Нейтральная (тёплый графит) */ [data-theme='neutral'] { - --bg: 40 20% 96%; - --bg-elevated: 40 22% 92%; - --bg-muted: 40 18% 87%; - --border: 40 14% 78%; - --text: 30 10% 15%; - --text-muted: 30 8% 40%; - --text-subtle: 30 6% 55%; - --primary: 25 90% 50%; + --bg: 30 12% 18%; + --bg-elevated: 30 12% 23%; + --bg-muted: 30 11% 28%; + --border: 30 9% 34%; + --text: 35 18% 93%; + --text-muted: 32 10% 68%; + --text-subtle: 30 7% 50%; + --primary: 25 90% 55%; --primary-fg: 0 0% 100%; - --danger: 0 72% 55%; - --success: 142 55% 42%; - --chrome: 40 22% 92%; - --canvas: 40 20% 96%; - --shadow: 30 20% 20% / 0.12; + --danger: 0 72% 62%; + --success: 142 45% 52%; + --chrome: 30 12% 15%; + --canvas: 30 12% 18%; + --shadow: 30 30% 5% / 0.45; } html, diff --git a/frontend/src/lib/components/ThemeSwitcher.svelte b/frontend/src/lib/components/ThemeSwitcher.svelte index a2dfa2e..8ba896e 100644 --- a/frontend/src/lib/components/ThemeSwitcher.svelte +++ b/frontend/src/lib/components/ThemeSwitcher.svelte @@ -4,9 +4,9 @@ import { theme, type Theme } from '$lib/stores/theme.svelte'; const options: { value: Theme; label: string; icon: IconName }[] = [ - { value: 'light', label: 'Light', icon: 'light_mode' }, { value: 'dark', label: 'Dark', icon: 'dark_mode' }, - { value: 'neutral', label: 'Neutral', icon: 'palette' }, + { value: 'neutral', label: 'Neutral', icon: 'contrast' }, + { value: 'light', label: 'Light', icon: 'light_mode' }, { value: 'system', label: 'System', icon: 'brightness_auto' } ]; diff --git a/frontend/src/lib/icons/registry.ts b/frontend/src/lib/icons/registry.ts index 035c0fb..609a58d 100644 --- a/frontend/src/lib/icons/registry.ts +++ b/frontend/src/lib/icons/registry.ts @@ -45,7 +45,8 @@ export const icons = { grid_view: { path: '' }, wallpaper: { path: '' }, fullscreen: { path: '' }, - fullscreen_exit: { path: '' } + fullscreen_exit: { path: '' }, + contrast: { path: '' } } satisfies Record; export type IconName = keyof typeof icons;