diff --git a/frontend/src/state/AppProvider.tsx b/frontend/src/state/AppProvider.tsx index d7a5c5d..0970bf4 100644 --- a/frontend/src/state/AppProvider.tsx +++ b/frontend/src/state/AppProvider.tsx @@ -239,7 +239,11 @@ export function AppProvider({ children }: { children: ReactNode }) { const copyText = useCallback((text: string) => api.copyText(text), []); - useThemeSync(state?.settings.theme); + useEffect(() => { + if (state?.settings.theme) { + applyTheme(state.settings.theme); + } + }, [state?.settings.theme]); const value = useMemo( () => ({ diff --git a/frontend/src/styles.css b/frontend/src/styles.css index 9708f92..60604c0 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -62,655 +62,33 @@ Obsidian theme (MIT): black panels, deep-pink primary (#ff1493), purple secondary (#8b00ff family), yellow highlights (#ffd700). */ :root[data-theme='neon'] { - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --bg: #000000; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --surface: #0b0b0e; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --surface-2: #131318; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --surface-hover: #191921; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --border: #2b1224; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --border-strong: #4d1c3d; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --text: #f5f2f7; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --text-muted: #a89bb0; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --primary: #ff1493; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --primary-hover: #ff4fb0; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --primary-soft: #2b0a1e; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --on-primary: #ffffff; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --danger: #ff3355; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --danger-soft: #330810; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --warning: #ffd700; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --warning-soft: #332b03; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --success: #00e68a; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --success-soft: #04301f; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --info: #b388ff; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --info-soft: #1c1035; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --focus: #ff1493; - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 8px 24px rgba(255, 20, 147, 0.07); - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.85), 0 0 32px rgba(255, 20, 147, 0.12); - - /* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ - :root[data-theme='glass'] { - --bg: #0d0d0d; - --surface: #1a1a1f; - --surface-2: #24242a; - --border: #3a3a44; - --border-strong: #4a4a5a; - --text: #e0e0e7; - --text-muted: #888899; - --primary: #7fdbff; - --primary-hover: #5bc0de; - --primary-soft: #1e2a3a; - --on-primary: #050512; - --danger: #ff6b6b; - --danger-soft: #332a2a; - --warning: #f0ad4f; - --warning-soft: #332a2a; - --success: #5cb85c; - --success-soft: #2ecc71; - --info: #5bc0de; - --info-soft: #1e2c3c; - --focus: #7fdbff; - --shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.4); - --shadow-modal: 0 12px 40px rgba(0, 0, 0, 0.5); - } } -/* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ +/* "Glass" — muted frosted aesthetic inspired by the Meridian Obsidian theme + (MIT): dark panels, cyan accents, and glass-like transparency simulation. */ :root[data-theme='glass'] { --bg: #0d0d0d; --surface: #1a1a1f; diff --git a/src/main.rs b/src/main.rs index c919b04..920afe9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -442,7 +442,7 @@ fn cli_settings(args: &[String]) -> Result { match key.as_str() { "theme" => { let theme = Theme::parse(value).ok_or_else(|| { - AppError::config("Theme must be one of: light, dark, system, neon") + AppError::config("Theme must be one of: light, dark, glass, neon") })?; app.settings.theme = theme; } diff --git a/src/settings.rs b/src/settings.rs index 7af6ffe..75ea91e 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -60,7 +60,7 @@ fn default_true() -> bool { impl Default for Settings { fn default() -> Self { Self { - theme: Theme::System, + theme: Theme::Light, confirm_before_publish: true, shorten_npub: true, relays: crate::relays::default_relays(),