Skip to content

Commit ded574b

Browse files
sonpiazclaude
andcommitted
refactor: migrate CEODashboard, ViewTabs, HallOfFame to Design System V2 tokens
- bg-black → bg-base, bg-zinc-900 → bg-surface-1 - border-zinc-800 → border-border-default - hover:bg-zinc-800 → hover:bg-surface-2 - divide-zinc-800 → divide-border-default - bg-zinc-800 → bg-surface-4 - ViewTabs: bg-zinc-950 → bg-base, text-zinc-500 → text-text-tertiary Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 79492f9 commit ded574b

File tree

4 files changed

+33
-33
lines changed

4 files changed

+33
-33
lines changed

app/agents/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import { HallOfFame } from "@/components/evox/HallOfFame";
1313

1414
export default function HallOfFamePage() {
1515
return (
16-
<div className="min-h-screen bg-black text-white">
17-
<header className="flex items-center gap-3 px-4 sm:px-6 py-4 border-b border-zinc-800/60">
16+
<div className="min-h-screen bg-base text-white">
17+
<header className="flex items-center gap-3 px-4 sm:px-6 py-4 border-b border-border-default">
1818
<Link href="/?view=team" className="text-zinc-600 hover:text-zinc-400 text-sm transition-colors">
1919
&larr; Dashboard
2020
</Link>

components/evox/CEODashboard.tsx

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
118118
const isLoading = !dataLoaded;
119119

120120
return (
121-
<div className="min-h-screen bg-black text-white">
121+
<div className="min-h-screen bg-base text-white">
122122
{/* ─── Header ─── */}
123-
<header className="flex items-center justify-between px-4 sm:px-6 py-4 border-b border-zinc-800/60">
123+
<header className="flex items-center justify-between px-4 sm:px-6 py-4 border-b border-border-default">
124124
<h1 className="text-lg font-bold tracking-tight">
125125
EVOX
126126
</h1>
@@ -144,7 +144,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
144144
{/* ─── Metric Cards ─── */}
145145
<div className="grid grid-cols-2 sm:grid-cols-3 gap-3">
146146
{/* Velocity */}
147-
<div className="bg-zinc-900/60 border border-zinc-800/60 rounded-xl p-4">
147+
<div className="bg-surface-1 border border-border-default rounded-xl p-4">
148148
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500 mb-1">
149149
Velocity
150150
</div>
@@ -169,7 +169,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
169169
</div>
170170

171171
{/* Commits */}
172-
<div className="bg-zinc-900/60 border border-zinc-800/60 rounded-xl p-4">
172+
<div className="bg-surface-1 border border-border-default rounded-xl p-4">
173173
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500 mb-1">
174174
Commits
175175
</div>
@@ -180,7 +180,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
180180
</div>
181181

182182
{/* Team */}
183-
<div className="bg-zinc-900/60 border border-zinc-800/60 rounded-xl p-4">
183+
<div className="bg-surface-1 border border-border-default rounded-xl p-4">
184184
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500 mb-1">
185185
Team
186186
</div>
@@ -191,7 +191,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
191191
</div>
192192

193193
{/* Today */}
194-
<div className="bg-zinc-900/60 border border-zinc-800/60 rounded-xl p-4">
194+
<div className="bg-surface-1 border border-border-default rounded-xl p-4">
195195
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500 mb-1">
196196
Today
197197
</div>
@@ -207,7 +207,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
207207
</div>
208208

209209
{/* Success Rate (merged from Health) */}
210-
<div className="bg-zinc-900/60 border border-zinc-800/60 rounded-xl p-4">
210+
<div className="bg-surface-1 border border-border-default rounded-xl p-4">
211211
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500 mb-1">
212212
Success Rate
213213
</div>
@@ -245,7 +245,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
245245
</div>
246246

247247
{/* Errors (merged from Health) */}
248-
<div className="bg-zinc-900/60 border border-zinc-800/60 rounded-xl p-4">
248+
<div className="bg-surface-1 border border-border-default rounded-xl p-4">
249249
<div className="text-[10px] font-bold uppercase tracking-wider text-zinc-500 mb-1">
250250
Errors
251251
</div>
@@ -266,7 +266,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
266266
key={i}
267267
className={cn(
268268
"flex-1 rounded-sm min-h-[2px]",
269-
d.value > 0 ? "bg-red-500/60" : "bg-zinc-800"
269+
d.value > 0 ? "bg-red-500/60" : "bg-surface-4"
270270
)}
271271
style={{ height: `${(d.value / max) * 100}%`, minHeight: d.value > 0 ? "4px" : "2px" }}
272272
title={`${d.label}: ${d.value}`}
@@ -297,7 +297,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
297297
<Link
298298
key={agent.name}
299299
href={`/agents/${agent.name.toLowerCase()}`}
300-
className="flex items-center gap-1.5 px-2.5 py-1.5 shrink-0 hover:bg-zinc-800/30 rounded-lg transition-colors"
300+
className="flex items-center gap-1.5 px-2.5 py-1.5 shrink-0 hover:bg-surface-2 rounded-lg transition-colors"
301301
>
302302
<span className="text-xs font-medium text-zinc-300">
303303
{agent.name}
@@ -309,13 +309,13 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
309309
{/* ─── Activity + Commits (2-col desktop) ─── */}
310310
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
311311
{/* Live Activity */}
312-
<div className="bg-zinc-900/40 border border-zinc-800/60 rounded-xl overflow-hidden">
313-
<div className="px-4 py-2.5 border-b border-zinc-800/40">
312+
<div className="bg-surface-1 border border-border-default rounded-xl overflow-hidden">
313+
<div className="px-4 py-2.5 border-b border-border-default">
314314
<span className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">
315315
Live Activity
316316
</span>
317317
</div>
318-
<div className="divide-y divide-zinc-800/30">
318+
<div className="divide-y divide-border-default">
319319
{liveFeed && liveFeed.length > 0 ? (
320320
liveFeed.map((item) => (
321321
<div key={item.id} className="px-4 py-2.5 flex items-start gap-2.5">
@@ -342,13 +342,13 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
342342
</div>
343343

344344
{/* Recent Commits */}
345-
<div className="bg-zinc-900/40 border border-zinc-800/60 rounded-xl overflow-hidden">
346-
<div className="px-4 py-2.5 border-b border-zinc-800/40">
345+
<div className="bg-surface-1 border border-border-default rounded-xl overflow-hidden">
346+
<div className="px-4 py-2.5 border-b border-border-default">
347347
<span className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">
348348
Recent Commits
349349
</span>
350350
</div>
351-
<div className="divide-y divide-zinc-800/30">
351+
<div className="divide-y divide-border-default">
352352
{commits && commits.length > 0 ? (
353353
commits.slice(0, 5).map((commit) => (
354354
<div key={commit._id} className="px-4 py-2.5 flex items-start gap-2.5">
@@ -373,13 +373,13 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
373373
</div>
374374

375375
{/* ─── Agent Comms ─── */}
376-
<div className="bg-zinc-900/40 border border-zinc-800/60 rounded-xl overflow-hidden">
377-
<div className="px-4 py-2.5 border-b border-zinc-800/40">
376+
<div className="bg-surface-1 border border-border-default rounded-xl overflow-hidden">
377+
<div className="px-4 py-2.5 border-b border-border-default">
378378
<span className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">
379379
Agent Comms
380380
</span>
381381
</div>
382-
<div className="divide-y divide-zinc-800/30">
382+
<div className="divide-y divide-border-default">
383383
{comms && comms.length > 0 ? (
384384
comms.slice(0, 5).map((msg, i) => (
385385
<div key={msg._id || i} className="px-4 py-2.5">
@@ -412,7 +412,7 @@ export function CEODashboard({ className }: CEODashboardProps = {}) {
412412
? "bg-emerald-500/20 text-emerald-400"
413413
: /blocked|failed/i.test(kw)
414414
? "bg-red-500/20 text-red-400"
415-
: "bg-zinc-800 text-zinc-500"
415+
: "bg-surface-4 text-zinc-500"
416416
)}
417417
>
418418
{kw}

components/evox/HallOfFame.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export function HallOfFame({ className }: HallOfFameProps) {
7878
key={agent.name}
7979
href={`/agents/${agent.name.toLowerCase()}`}
8080
className={cn(
81-
"border rounded-xl p-4 text-center transition-colors hover:bg-zinc-800/30",
81+
"border rounded-xl p-4 text-center transition-colors hover:bg-surface-2",
8282
style.border, style.bg,
8383
agent.rank === 1 && "sm:order-first"
8484
)}
@@ -100,7 +100,7 @@ export function HallOfFame({ className }: HallOfFameProps) {
100100
{agent.badges.length > 0 && (
101101
<div className="flex flex-wrap justify-center gap-1 mt-3">
102102
{agent.badges.map((b) => (
103-
<span key={b} className={cn("text-[9px] px-1.5 py-0.5 rounded", BADGE_COLORS[b] ?? "bg-zinc-800 text-zinc-400")}>
103+
<span key={b} className={cn("text-[9px] px-1.5 py-0.5 rounded", BADGE_COLORS[b] ?? "bg-surface-4 text-text-secondary")}>
104104
{b}
105105
</span>
106106
))}
@@ -133,16 +133,16 @@ export function HallOfFame({ className }: HallOfFameProps) {
133133
)}
134134

135135
{/* Leaderboard Table */}
136-
<div className="bg-zinc-900/40 border border-zinc-800/60 rounded-xl overflow-hidden">
137-
<div className="px-4 py-2.5 border-b border-zinc-800/40">
136+
<div className="bg-surface-1 border border-border-default rounded-xl overflow-hidden">
137+
<div className="px-4 py-2.5 border-b border-border-default">
138138
<span className="text-[10px] font-bold uppercase tracking-wider text-zinc-500">
139139
Leaderboard
140140
</span>
141141
</div>
142142
<div className="overflow-x-auto">
143143
<table className="w-full text-xs">
144144
<thead>
145-
<tr className="text-[10px] uppercase text-zinc-600 border-b border-zinc-800/30">
145+
<tr className="text-[10px] uppercase text-zinc-600 border-b border-border-default">
146146
<th className="text-left px-4 py-2 font-medium w-8">#</th>
147147
<th className="text-left px-3 py-2 font-medium">Agent</th>
148148
<th className="text-right px-3 py-2 font-medium">Tasks</th>
@@ -152,9 +152,9 @@ export function HallOfFame({ className }: HallOfFameProps) {
152152
<th className="text-left px-4 py-2 font-medium">Badges</th>
153153
</tr>
154154
</thead>
155-
<tbody className="divide-y divide-zinc-800/20">
155+
<tbody className="divide-y divide-border-default">
156156
{leaderboard.map((agent) => (
157-
<tr key={agent.name} className="hover:bg-zinc-800/20 transition-colors">
157+
<tr key={agent.name} className="hover:bg-surface-2 transition-colors">
158158
<td className="px-4 py-2.5 tabular-nums text-zinc-500">{agent.rank}</td>
159159
<td className="px-3 py-2.5">
160160
<Link
@@ -174,7 +174,7 @@ export function HallOfFame({ className }: HallOfFameProps) {
174174
<td className="px-4 py-2.5">
175175
<div className="flex gap-1 flex-wrap">
176176
{agent.badges.map((b) => (
177-
<span key={b} className={cn("text-[9px] px-1.5 py-0.5 rounded", BADGE_COLORS[b] ?? "bg-zinc-800 text-zinc-400")}>
177+
<span key={b} className={cn("text-[9px] px-1.5 py-0.5 rounded", BADGE_COLORS[b] ?? "bg-surface-4 text-text-secondary")}>
178178
{b}
179179
</span>
180180
))}

components/evox/ViewTabs.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export function ViewTabs({ activeTab, onTabChange, className }: ViewTabsProps) {
2727
return (
2828
<div
2929
className={cn(
30-
"flex items-center border-b border-zinc-800 bg-zinc-950 px-4 overflow-x-auto scrollbar-hide",
30+
"flex items-center border-b border-border-default bg-base px-4 overflow-x-auto scrollbar-hide",
3131
className
3232
)}
3333
role="tablist"
@@ -46,8 +46,8 @@ export function ViewTabs({ activeTab, onTabChange, className }: ViewTabsProps) {
4646
className={cn(
4747
"relative px-3 py-2.5 text-sm transition-colors whitespace-nowrap shrink-0",
4848
activeTab === tab.id
49-
? "text-white"
50-
: "text-zinc-500 hover:text-zinc-300"
49+
? "text-text-primary"
50+
: "text-text-tertiary hover:text-text-secondary"
5151
)}
5252
>
5353
{tab.label}

0 commit comments

Comments
 (0)