Skip to content

Commit eb37ed0

Browse files
committed
fix(design-system): correct dark-mode neutral hover tokens (WI-1318)
The dark theme reused its border inks at border strength for the neutral background tokens: --ds-background-neutral was #a1bdd933 (20% alpha) and --ds-background-neutral-hovered was #a6c5e24d (30%), so every subtle hover — dashboard rows, nav items, dropdown entries, code blocks — rendered as a bright wash on dark surfaces. Use the same-ink 8%/16% alpha ladder the light theme uses (#a1bdd914 / #a1bdd929), which composites in family with the dark surface ladder. Also drop the remaining hardcoded colors from the dashboard onboarding panel (progress gradient, active-step tint and accent, icon fallback) in favor of the --ds-gradient-*, --ds-surface-selected, and --ds-interactive tokens.
1 parent 29a8aed commit eb37ed0

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

frontend/src/design-system/tokens/themes/dark.css

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,12 @@ html[data-color-mode="dark"],
106106

107107
/* =================================================================
108108
NEUTRAL BACKGROUNDS
109+
Same ink as --ds-border at lower alphas, mirroring the light theme's
110+
#091e42 0f/14 ladder. Values here must stay faint: at 20%+ alpha the
111+
highlight reads as a bright wash on dark surfaces.
109112
================================================================= */
110-
--ds-background-neutral: #a1bdd933;
111-
--ds-background-neutral-hovered: #a6c5e24d;
113+
--ds-background-neutral: #a1bdd914;
114+
--ds-background-neutral-hovered: #a1bdd929;
112115
--ds-background-input: #22272b;
113116
--ds-background-input-hovered: #282e33;
114117

frontend/src/lib/pages/DashboardOnboarding.svelte

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@
153153
<div class="w-full rounded-full h-2" style="background-color: var(--ds-surface);">
154154
<div
155155
class="h-2 rounded-full transition-all duration-300"
156-
style="width: {progressPercent}%; background: linear-gradient(90deg, #1388E7 0%, #1AB1BC 100%);"
156+
style="width: {progressPercent}%; background: linear-gradient(90deg, var(--ds-gradient-start) 0%, var(--ds-gradient-end) 100%);"
157157
></div>
158158
</div>
159159
</div>
@@ -164,8 +164,9 @@
164164
<div
165165
class="rounded py-3 px-4 transition-all"
166166
class:border-l-6={activeStep === 1}
167-
class:border-l-sky-600={activeStep === 1}
168-
style={activeStep === 1 ? 'background-color: rgba(19, 136, 231, 0.05);' : ''}
167+
style={activeStep === 1
168+
? 'background-color: var(--ds-surface-selected); border-color: var(--ds-interactive);'
169+
: ''}
169170
>
170171
{#if workspaceCount > 0}
171172
<!-- Completed state: strikethrough -->
@@ -192,8 +193,9 @@
192193
<div
193194
class="rounded py-3 px-4 transition-all"
194195
class:border-l-6={activeStep === 2}
195-
class:border-l-sky-600={activeStep === 2}
196-
style={activeStep === 2 ? 'background-color: rgba(19, 136, 231, 0.05);' : ''}
196+
style={activeStep === 2
197+
? 'background-color: var(--ds-surface-selected); border-color: var(--ds-interactive);'
198+
: ''}
197199
>
198200
{#if itemCount > 0}
199201
<!-- Completed state: strikethrough -->
@@ -228,7 +230,7 @@
228230
{#snippet children()}
229231
{@const WsIcon = workspaceIconMap[workspace.icon] || Grip}
230232
<div class="flex items-center gap-2">
231-
<div class="w-6 h-6 rounded flex items-center justify-center flex-shrink-0" style="background-color: {workspace.color || '#3b82f6'};">
233+
<div class="w-6 h-6 rounded flex items-center justify-center flex-shrink-0" style="background-color: {workspace.color || 'var(--color-blue-500)'};">
232234
<WsIcon size={14} color="white" />
233235
</div>
234236
<div>

0 commit comments

Comments
 (0)