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:
@@ -215,7 +215,7 @@ onMounted(async () => {
|
||||
border-left: 2px solid transparent;
|
||||
|
||||
&:hover {
|
||||
background-color: rgba($accent-primary, 0.03);
|
||||
background-color: rgba(var(--accent-primary-rgb), 0.03);
|
||||
}
|
||||
|
||||
&.level-error {
|
||||
@@ -225,7 +225,7 @@ onMounted(async () => {
|
||||
|
||||
&.level-warning {
|
||||
border-left-color: $warning;
|
||||
.log-message { color: #d9720f; }
|
||||
.log-message { color: $warning; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,10 +244,10 @@ onMounted(async () => {
|
||||
min-width: 42px;
|
||||
text-align: center;
|
||||
|
||||
&.level-error { background: rgba($error, 0.12); color: $error; }
|
||||
&.level-warning { background: rgba($warning, 0.12); color: #d9720f; }
|
||||
&.level-debug { background: rgba($accent-primary, 0.06); color: $text-muted; }
|
||||
&.level-info { background: rgba($accent-primary, 0.06); color: $text-muted; }
|
||||
&.level-error { background: rgba(var(--error-rgb), 0.12); color: $error; }
|
||||
&.level-warning { background: rgba(var(--warning-rgb), 0.12); color: $warning; }
|
||||
&.level-debug { background: rgba(var(--accent-primary-rgb), 0.06); color: $text-muted; }
|
||||
&.level-info { background: rgba(var(--accent-primary-rgb), 0.06); color: $text-muted; }
|
||||
}
|
||||
|
||||
.log-logger {
|
||||
|
||||
@@ -163,7 +163,7 @@ function handleSelect(category: string, skill: string) {
|
||||
border-radius: $radius-sm;
|
||||
|
||||
&:hover {
|
||||
background: rgba($accent-primary, 0.06);
|
||||
background: rgba(var(--accent-primary-rgb), 0.06);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -562,7 +562,7 @@ onUnmounted(() => {
|
||||
margin-bottom: 2px;
|
||||
|
||||
&:hover {
|
||||
background: rgba($accent-primary, 0.06);
|
||||
background: rgba(var(--accent-primary-rgb), 0.06);
|
||||
color: $text-primary;
|
||||
|
||||
.session-item-delete {
|
||||
@@ -571,7 +571,7 @@ onUnmounted(() => {
|
||||
}
|
||||
|
||||
&.active {
|
||||
background: rgba($accent-primary, 0.1);
|
||||
background: rgba(var(--accent-primary-rgb), 0.1);
|
||||
color: $text-primary;
|
||||
font-weight: 500;
|
||||
}
|
||||
@@ -604,7 +604,7 @@ onUnmounted(() => {
|
||||
.session-item-shell {
|
||||
font-size: 10px;
|
||||
color: $accent-primary;
|
||||
background: rgba($accent-primary, 0.08);
|
||||
background: rgba(var(--accent-primary-rgb), 0.08);
|
||||
padding: 0 5px;
|
||||
border-radius: 3px;
|
||||
line-height: 16px;
|
||||
@@ -634,7 +634,7 @@ onUnmounted(() => {
|
||||
|
||||
&:hover {
|
||||
color: $error;
|
||||
background: rgba($error, 0.1);
|
||||
background: rgba(var(--error-rgb), 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -648,7 +648,7 @@ onUnmounted(() => {
|
||||
border-radius: $radius-sm;
|
||||
|
||||
&:hover {
|
||||
background: rgba($accent-primary, 0.06);
|
||||
background: rgba(var(--accent-primary-rgb), 0.06);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user