Fix glass theme: repair broken Default impl that blocked all builds
Commit a01f258 removed Theme::System but missed Settings::default(),
so the crate failed to compile and every desktop launch kept spawning
a stale backend binary that rejected 'glass'. Also untangles the
glass palette CSS that was duplicated as nested blocks inside the
neon rule, and re-applies the theme reactively when settings change.
This commit is contained in:
parent
db2d22f999
commit
bfe14f0d97
4 changed files with 9 additions and 627 deletions
|
|
@ -239,7 +239,11 @@ export function AppProvider({ children }: { children: ReactNode }) {
|
||||||
|
|
||||||
const copyText = useCallback((text: string) => api.copyText(text), []);
|
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<AppContextValue>(
|
const value = useMemo<AppContextValue>(
|
||||||
() => ({
|
() => ({
|
||||||
|
|
|
||||||
|
|
@ -62,655 +62,33 @@
|
||||||
Obsidian theme (MIT): black panels, deep-pink primary (#ff1493), purple
|
Obsidian theme (MIT): black panels, deep-pink primary (#ff1493), purple
|
||||||
secondary (#8b00ff family), yellow highlights (#ffd700). */
|
secondary (#8b00ff family), yellow highlights (#ffd700). */
|
||||||
:root[data-theme='neon'] {
|
: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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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;
|
--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);
|
--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);
|
--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'] {
|
:root[data-theme='glass'] {
|
||||||
--bg: #0d0d0d;
|
--bg: #0d0d0d;
|
||||||
--surface: #1a1a1f;
|
--surface: #1a1a1f;
|
||||||
|
|
|
||||||
|
|
@ -442,7 +442,7 @@ fn cli_settings(args: &[String]) -> Result<String, AppError> {
|
||||||
match key.as_str() {
|
match key.as_str() {
|
||||||
"theme" => {
|
"theme" => {
|
||||||
let theme = Theme::parse(value).ok_or_else(|| {
|
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;
|
app.settings.theme = theme;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ fn default_true() -> bool {
|
||||||
impl Default for Settings {
|
impl Default for Settings {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
Self {
|
Self {
|
||||||
theme: Theme::System,
|
theme: Theme::Light,
|
||||||
confirm_before_publish: true,
|
confirm_before_publish: true,
|
||||||
shorten_npub: true,
|
shorten_npub: true,
|
||||||
relays: crate::relays::default_relays(),
|
relays: crate::relays::default_relays(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue