feat: add dark theme support with CSS custom properties and Naive UI integration

Implement runtime theme switching using CSS custom properties delegated through SCSS variables, with light/dark/system modes, FOUC prevention, sidebar toggle, and settings selector. Add theme-aware video assets for sidebar and chat thinking indicator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-04-16 23:13:04 +08:00
parent 076a7c2a38
commit b5aeb876b8
32 changed files with 465 additions and 126 deletions
+10 -1
View File
@@ -19,6 +19,15 @@
}
}
// Theme transition (applied programmatically on toggle, not on load)
html.theme-transitioning,
html.theme-transitioning *,
html.theme-transitioning *::before,
html.theme-transitioning *::after {
transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease,
box-shadow 0.3s ease, fill 0.3s ease, stroke 0.3s ease !important;
}
html, body, #app {
height: 100%;
width: 100%;
@@ -67,7 +76,7 @@ a {
}
::selection {
background: rgba($accent-primary, 0.3);
background: rgba(var(--accent-primary-rgb), 0.3);
}
// Shared page header