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
@@ -185,7 +185,7 @@ watch(() => `${props.category}/${props.skill}`, loadSkill, { immediate: true })
border-radius: 4px;
&:hover {
background: rgba($accent-primary, 0.06);
background: rgba(var(--accent-primary-rgb), 0.06);
}
}
@@ -150,7 +150,7 @@ async function handleToggle(category: string, skillName: string, newEnabled: boo
border-radius: $radius-sm;
&:hover {
background: rgba($accent-primary, 0.04);
background: rgba(var(--accent-primary-rgb), 0.04);
}
}
@@ -174,7 +174,7 @@ async function handleToggle(category: string, skillName: string, newEnabled: boo
.category-count {
font-size: 11px;
color: $text-muted;
background: rgba($accent-primary, 0.06);
background: rgba(var(--accent-primary-rgb), 0.06);
padding: 1px 6px;
border-radius: 8px;
}
@@ -200,12 +200,12 @@ async function handleToggle(category: string, skillName: string, newEnabled: boo
gap: 8px;
&:hover {
background: rgba($accent-primary, 0.06);
background: rgba(var(--accent-primary-rgb), 0.06);
color: $text-primary;
}
&.active {
background: rgba($accent-primary, 0.1);
background: rgba(var(--accent-primary-rgb), 0.1);
color: $text-primary;
font-weight: 500;
}