Skip to content

Commit b18ed63

Browse files
committed
refactor(theming): extend codemod with solid status fills (211 more sites → semantic tokens)
1 parent 304819a commit b18ed63

58 files changed

Lines changed: 199 additions & 190 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/actions/[actionId]/page.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ export default function DecisionReplayPage() {
104104
const s = parseInt(score, 10);
105105
if (s >= 70) return 'text-error bg-error-subtle border-error/20';
106106
if (s >= 40) return 'text-warning bg-warning-subtle border-warning/20';
107-
return 'text-success bg-green-500/10 border-green-500/20';
107+
return 'text-success bg-status-success/10 border-green-500/20';
108108
};
109109

110110
// --- Assumption actions ---
@@ -317,7 +317,7 @@ export default function DecisionReplayPage() {
317317
<div className="space-y-6 relative before:absolute before:left-3 before:top-2 before:bottom-2 before:w-px before:bg-white/5">
318318
{/* 1. Goal */}
319319
<div className="relative flex gap-4 pl-1">
320-
<div className="z-10 mt-1 h-4 w-4 rounded-full bg-blue-500 border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(59,130,246,0.3)]" />
320+
<div className="z-10 mt-1 h-4 w-4 rounded-full bg-status-info border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(59,130,246,0.3)]" />
321321
<div>
322322
<div className="text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1">Goal Declared</div>
323323
<div className="text-sm text-white font-medium">{action.declared_goal}</div>
@@ -332,9 +332,9 @@ export default function DecisionReplayPage() {
332332
{/* 2. Policy Evaluation */}
333333
<div className="relative flex gap-4 pl-1">
334334
<div className={`z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${
335-
guardDecision?.decision === 'allow' ? 'bg-emerald-500' :
336-
guardDecision?.decision === 'block' ? 'bg-red-500' :
337-
guardDecision?.decision === 'require_approval' ? 'bg-amber-500' : 'bg-zinc-500'
335+
guardDecision?.decision === 'allow' ? 'bg-status-success' :
336+
guardDecision?.decision === 'block' ? 'bg-status-error' :
337+
guardDecision?.decision === 'require_approval' ? 'bg-status-warning' : 'bg-zinc-500'
338338
}`} />
339339
<div className="flex-1">
340340
<div className="text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1">Policy Evaluation</div>
@@ -366,8 +366,8 @@ export default function DecisionReplayPage() {
366366
{assumptions.length > 0 && (
367367
<div className="relative flex gap-4 pl-1">
368368
<div className={`z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${
369-
assumptions.every(a => a.validated) ? 'bg-emerald-500' :
370-
assumptions.some(a => a.invalidated) ? 'bg-red-500' : 'bg-amber-500'
369+
assumptions.every(a => a.validated) ? 'bg-status-success' :
370+
assumptions.some(a => a.invalidated) ? 'bg-status-error' : 'bg-status-warning'
371371
}`} />
372372
<div>
373373
<div className="text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1">Assumption Check</div>
@@ -388,7 +388,7 @@ export default function DecisionReplayPage() {
388388
{/* 4. Risk Signals */}
389389
{trace?.root_cause_indicators?.length > 0 && (
390390
<div className="relative flex gap-4 pl-1">
391-
<div className="z-10 mt-1 h-4 w-4 rounded-full bg-amber-500 border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(245,158,11,0.3)]" />
391+
<div className="z-10 mt-1 h-4 w-4 rounded-full bg-status-warning border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(245,158,11,0.3)]" />
392392
<div>
393393
<div className="text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1">Risk Signals</div>
394394
<div className="space-y-1.5 mt-2">
@@ -405,7 +405,7 @@ export default function DecisionReplayPage() {
405405

406406
{/* 5. Final Decision */}
407407
<div className="relative flex gap-4 pl-1">
408-
<div className={`z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${getStatusVariant(action.status) === 'success' ? 'bg-emerald-500' : 'bg-red-500'}`} />
408+
<div className={`z-10 mt-1 h-4 w-4 rounded-full border-4 border-surface-secondary shadow-[0_0_0_1px_rgba(255,255,255,0.1)] ${getStatusVariant(action.status) === 'success' ? 'bg-status-success' : 'bg-status-error'}`} />
409409
<div>
410410
<div className="text-[10px] font-semibold text-disabled uppercase tracking-widest mb-1">Final Outcome</div>
411411
<div className="flex items-center gap-2">
@@ -552,7 +552,7 @@ export default function DecisionReplayPage() {
552552
</div>
553553
)}
554554
{asm.invalidated_reason && (
555-
<div className="text-xs text-error mt-2 p-2 rounded bg-red-500/5 border border-error/10">
555+
<div className="text-xs text-error mt-2 p-2 rounded bg-status-error/5 border border-error/10">
556556
<span className="font-semibold uppercase text-[9px] tracking-wider">Invalidated Reason:</span> {asm.invalidated_reason}
557557
</div>
558558
)}
@@ -562,7 +562,7 @@ export default function DecisionReplayPage() {
562562
<button
563563
onClick={() => handleValidateAssumption(asm.assumption_id)}
564564
disabled={isPending}
565-
className="px-3 py-1.5 bg-emerald-500 text-white hover:bg-emerald-600 disabled:opacity-50 text-[11px] rounded font-semibold transition-colors"
565+
className="px-3 py-1.5 bg-status-success text-white hover:bg-emerald-600 disabled:opacity-50 text-[11px] rounded font-semibold transition-colors"
566566
>
567567
{pendingOps[asm.assumption_id] === 'validating' ? 'Validating...' : 'Validate'}
568568
</button>
@@ -605,7 +605,7 @@ export default function DecisionReplayPage() {
605605
<span className="text-sm font-bold text-success">0.02 (Nominal)</span>
606606
</div>
607607
<div className="h-2 bg-tertiary rounded-full overflow-hidden">
608-
<div className="h-full bg-emerald-500" style={{ width: '2%' }} />
608+
<div className="h-full bg-status-success" style={{ width: '2%' }} />
609609
</div>
610610
<p className="text-xs text-tertiary">
611611
Drift is calculated by comparing actual outcomes against declared intent and verified assumptions. A nominal score indicates high alignment.
@@ -664,7 +664,7 @@ export default function DecisionReplayPage() {
664664
<div className="flex items-center gap-4">
665665
<div className="flex-1 h-12 flex items-end gap-1">
666666
{[20, 35, 25, 60, 45, 30, 80, 20, 15, 25, 30, 35, 40].map((h, i) => (
667-
<div key={i} className={`flex-1 rounded-t-sm transition-all ${i === 6 ? 'bg-amber-500' : 'bg-tertiary'}`} style={{ height: `${h}%` }} />
667+
<div key={i} className={`flex-1 rounded-t-sm transition-all ${i === 6 ? 'bg-status-warning' : 'bg-tertiary'}`} style={{ height: `${h}%` }} />
668668
))}
669669
</div>
670670
<div className="text-right">
@@ -688,7 +688,7 @@ export default function DecisionReplayPage() {
688688
{parseJsonArray(action.side_effects).length > 0 ? (
689689
<div className="space-y-2">
690690
{parseJsonArray(action.side_effects).map((se, i) => (
691-
<div key={i} className="flex items-center gap-3 p-3 rounded bg-amber-500/5 border border-warning/10 text-xs text-amber-200">
691+
<div key={i} className="flex items-center gap-3 p-3 rounded bg-status-warning/5 border border-warning/10 text-xs text-amber-200">
692692
<AlertTriangle size={14} className="shrink-0" />
693693
{se}
694694
</div>
@@ -704,7 +704,7 @@ export default function DecisionReplayPage() {
704704
{parseJsonArray(action.artifacts_created).length > 0 ? (
705705
<div className="flex flex-wrap gap-2">
706706
{parseJsonArray(action.artifacts_created).map((a, i) => (
707-
<div key={i} className="px-3 py-1.5 rounded bg-blue-500/5 border border-blue-500/10 text-xs text-info font-mono">
707+
<div key={i} className="px-3 py-1.5 rounded bg-status-info/5 border border-blue-500/10 text-xs text-info font-mono">
708708
{a}
709709
</div>
710710
))}
@@ -766,7 +766,7 @@ export default function DecisionReplayPage() {
766766
<div>
767767
<div className="text-[9px] font-bold text-disabled uppercase tracking-widest mb-1">Status</div>
768768
<div className="flex items-center gap-2">
769-
<div className={`h-2 w-2 rounded-full ${action.status === 'completed' ? 'bg-emerald-500' : 'bg-red-500'}`} />
769+
<div className={`h-2 w-2 rounded-full ${action.status === 'completed' ? 'bg-status-success' : 'bg-status-error'}`} />
770770
<span className="text-xs font-semibold text-secondary">{action.status.toUpperCase()}</span>
771771
</div>
772772
</div>
@@ -854,7 +854,7 @@ export default function DecisionReplayPage() {
854854
<button
855855
onClick={() => handleResolveLoop(loop.loop_id)}
856856
disabled={!resolveTexts[loop.loop_id]?.trim() || !!pendingOps[loop.loop_id]}
857-
className="flex-1 px-2 py-1 bg-emerald-500 text-white hover:bg-emerald-600 disabled:opacity-50 text-[10px] rounded font-bold transition-colors"
857+
className="flex-1 px-2 py-1 bg-status-success text-white hover:bg-emerald-600 disabled:opacity-50 text-[10px] rounded font-bold transition-colors"
858858
>
859859
Resolve
860860
</button>

app/activity/page.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ export default function GlobalActivityFeed() {
167167
<Card hover={false}>
168168
<div className="flex items-center justify-between border-b border-border px-5 py-4">
169169
<div className="flex items-center gap-2">
170-
<span aria-hidden="true" className="h-1.5 w-1.5 rounded-full bg-emerald-500" />
170+
<span aria-hidden="true" className="h-1.5 w-1.5 rounded-full bg-status-success" />
171171
<h2 className="text-[11px] font-semibold uppercase tracking-[0.14em] text-secondary">Live feed</h2>
172172
</div>
173173
<div className="text-[11px] font-semibold uppercase tracking-[0.14em] tabular-nums text-tertiary">

app/agents/[agentId]/components/AgentSignals.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default function AgentSignals({ signals }) {
1717
<div className="space-y-3">
1818
{signals.map((signal, i) => (
1919
<div key={signal.type + '-' + i} className="flex items-start gap-3">
20-
<span className={`mt-1 h-2 w-2 shrink-0 rounded-full ${signal.severity === 'red' ? 'bg-red-500' : 'bg-amber-500'}`} />
20+
<span className={`mt-1 h-2 w-2 shrink-0 rounded-full ${signal.severity === 'red' ? 'bg-status-error' : 'bg-status-warning'}`} />
2121
<div className="min-w-0">
2222
<div className="text-sm font-medium text-white">{signal.label}</div>
2323
<div className="mt-0.5 text-xs text-secondary">{signal.detail}</div>

app/agents/[agentId]/components/AgentVitalsStrip.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Brain, Fingerprint } from 'lucide-react';
22

33
const presenceDot = {
4-
online: 'bg-emerald-500',
5-
stale: 'bg-amber-500',
4+
online: 'bg-status-success',
5+
stale: 'bg-status-warning',
66
offline: 'bg-zinc-500',
77
unknown: 'bg-zinc-500',
88
};

app/agents/page.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ import { EmptyState } from '../components/ui/EmptyState';
1414
import { Skeleton } from '../components/ui/Skeleton';
1515

1616
const statusDotMap = {
17-
active: 'bg-emerald-500',
18-
online: 'bg-emerald-500',
19-
critical: 'bg-red-500',
20-
error: 'bg-red-500',
21-
degraded: 'bg-amber-500',
17+
active: 'bg-status-success',
18+
online: 'bg-status-success',
19+
critical: 'bg-status-error',
20+
error: 'bg-status-error',
21+
degraded: 'bg-status-warning',
2222
offline: 'bg-zinc-600',
2323
unknown: 'bg-zinc-500',
2424
};

app/approve/page.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ export default function ApprovePage() {
292292
</p>
293293
<Link
294294
href="/login"
295-
className="inline-flex min-h-[44px] items-center justify-center rounded-lg border border-active/30 bg-orange-500/10 px-4 text-sm font-semibold text-brand transition-colors hover:border-active/50 hover:bg-orange-500/20"
295+
className="inline-flex min-h-[44px] items-center justify-center rounded-lg border border-active/30 bg-brand/10 px-4 text-sm font-semibold text-brand transition-colors hover:border-active/50 hover:bg-brand/20"
296296
>
297297
Go to login
298298
</Link>

app/bug-hunter/page.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ const SCOPES = [
2121

2222
const SEVERITY_CONFIG = {
2323
critical: { variant: 'error', color: 'text-error', bg: 'bg-error-subtle', border: 'border-error/20' },
24-
high: { variant: 'warning', color: 'text-brand', bg: 'bg-orange-500/10', border: 'border-active/20' },
25-
medium: { variant: 'warning', color: 'text-warning', bg: 'bg-yellow-500/10', border: 'border-yellow-500/20' },
26-
low: { variant: 'success', color: 'text-success', bg: 'bg-green-500/10', border: 'border-green-500/20' },
24+
high: { variant: 'warning', color: 'text-brand', bg: 'bg-brand/10', border: 'border-active/20' },
25+
medium: { variant: 'warning', color: 'text-warning', bg: 'bg-status-warning/10', border: 'border-yellow-500/20' },
26+
low: { variant: 'success', color: 'text-success', bg: 'bg-status-success/10', border: 'border-green-500/20' },
2727
};
2828

2929
export default function BugHunterPage() {

app/capabilities/[capabilityId]/components/CapabilityTestPanel.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export default function CapabilityTestPanel({
117117
</form>
118118

119119
{validationError ? (
120-
<div className="rounded-lg border border-yellow-500/20 bg-yellow-500/10 px-3 py-2 text-sm text-yellow-200">
120+
<div className="rounded-lg border border-yellow-500/20 bg-status-warning/10 px-3 py-2 text-sm text-yellow-200">
121121
{validationError}
122122
</div>
123123
) : null}

app/capabilities/components/CapabilityRegistryCard.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ const healthVariant = {
2525
};
2626

2727
const healthDot = {
28-
healthy: 'bg-emerald-500',
29-
degraded: 'bg-amber-500',
30-
unhealthy: 'bg-red-500',
31-
failing: 'bg-red-500',
28+
healthy: 'bg-status-success',
29+
degraded: 'bg-status-warning',
30+
unhealthy: 'bg-status-error',
31+
failing: 'bg-status-error',
3232
unknown: 'bg-zinc-500',
3333
untested: 'bg-zinc-500',
3434
};

app/compliance/exports/page.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ export default function ComplianceExportsPage() {
479479
<div className="flex min-w-0 items-center gap-3">
480480
<span
481481
aria-hidden="true"
482-
className={`h-1.5 w-1.5 shrink-0 rounded-full ${sch.enabled ? 'bg-emerald-500' : 'bg-zinc-500'}`}
482+
className={`h-1.5 w-1.5 shrink-0 rounded-full ${sch.enabled ? 'bg-status-success' : 'bg-zinc-500'}`}
483483
/>
484484
<span className="truncate text-sm font-medium text-white">{sch.name}</span>
485485
{fws.map(fw => <Badge key={fw} size="xs">{fw}</Badge>)}
@@ -516,9 +516,9 @@ export default function ComplianceExportsPage() {
516516
<div className="space-y-2">
517517
{trends.slice(0, 10).map((t, i) => {
518518
const barColor =
519-
t.coverage_percentage >= 80 ? 'bg-emerald-500'
520-
: t.coverage_percentage >= 60 ? 'bg-amber-500'
521-
: 'bg-red-500';
519+
t.coverage_percentage >= 80 ? 'bg-status-success'
520+
: t.coverage_percentage >= 60 ? 'bg-status-warning'
521+
: 'bg-status-error';
522522
return (
523523
<div key={i} className="flex items-center justify-between gap-3 py-1.5">
524524
<div className="flex items-center gap-2">

0 commit comments

Comments
 (0)