Skip to content

Commit 0c26529

Browse files
sonpiazclaude
andcommitted
fix: add CORS support + migrate text-primary0 to text-secondary
- Install convex-helpers, wrap all 75 HTTP routes with corsRouter (allowed: evox-ten.vercel.app, localhost:3000/3001) - Migrate 179 text-primary0 refs across 64 files to text-secondary - Remove unused --color-primary0 token from globals.css Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0d048bf commit 0c26529

Some content is hidden

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

68 files changed

+302
-257
lines changed

app/ceo/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ export default function CEODashboardPage() {
8787
<span className="text-emerald-400 font-bold">
8888
{todayMetrics?.completed}
8989
</span>
90-
<span className="text-primary0">done</span>
90+
<span className="text-secondary">done</span>
9191
</div>
9292
<div className="flex items-center gap-1">
9393
<span className="text-blue-400 font-bold">
@@ -143,7 +143,7 @@ export default function CEODashboardPage() {
143143

144144
{/* Live Feed - What's happening */}
145145
<section>
146-
<h2 className="text-xs font-bold uppercase tracking-wider text-primary0 mb-2 flex items-center gap-2">
146+
<h2 className="text-xs font-bold uppercase tracking-wider text-secondary mb-2 flex items-center gap-2">
147147
<span className="h-2 w-2 rounded-full bg-emerald-500 animate-pulse" />
148148
Live
149149
</h2>
@@ -158,7 +158,7 @@ export default function CEODashboardPage() {
158158
onClick={() => setShowTerminals(!showTerminals)}
159159
className="w-full flex items-center justify-between py-2 text-sm"
160160
>
161-
<span className="text-primary0 uppercase tracking-wider text-xs font-bold">
161+
<span className="text-secondary uppercase tracking-wider text-xs font-bold">
162162
Terminals
163163
</span>
164164
<span className="text-tertiary">{showTerminals ? "-" : "+"}</span>

app/globals.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@
6363
--color-text-secondary: #a0a0a0;
6464
--color-text-tertiary: #707070;
6565
--color-text-disabled: #484848;
66-
--color-primary0: #888888;
6766

6867
/* === Design System V2 — Borders === */
6968
--color-border-default: #222222;

app/sync/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export default function SyncDashboard() {
5656
</div>
5757

5858
{/* Timestamp */}
59-
<div className="mt-8 text-center text-sm text-primary0">
59+
<div className="mt-8 text-center text-sm text-secondary">
6060
Last updated: {new Date(timestamp).toLocaleString()}
6161
</div>
6262
</div>
@@ -171,7 +171,7 @@ function AgentRow({
171171
</div>
172172

173173
{/* Status */}
174-
<div className="text-sm text-primary0 capitalize">{agent.status}</div>
174+
<div className="text-sm text-secondary capitalize">{agent.status}</div>
175175
</div>
176176
);
177177
}

components/activity-feed.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export function ActivityFeed({ activities }: ActivityFeedProps) {
6060
const list = safe.slice(0, 20);
6161

6262
if (list.length === 0) {
63-
return <p className="text-sm text-primary0">No recent activity</p>;
63+
return <p className="text-sm text-secondary">No recent activity</p>;
6464
}
6565

6666
return (

components/agent-card.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,14 +173,14 @@ export function AgentCard({
173173
{statusLabels[normalizedStatus] ?? statusLabels.offline}
174174
</Badge>
175175
<span className="text-xs text-tertiary"></span>
176-
<span className="text-xs text-primary0">
176+
<span className="text-xs text-secondary">
177177
{sessionBased ? "Session-based" : getRelativeTime(lastActive)}
178178
</span>
179179
</div>
180180

181181
{/* AGT-147: Task count badge */}
182182
{taskCounts && (
183-
<p className="text-xs text-primary0">
183+
<p className="text-xs text-secondary">
184184
{taskCounts.backlog} backlog · {taskCounts.inProgress} in progress · {taskCounts.done} done
185185
</p>
186186
)}

components/ceo/AccountabilityGrid.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export function AccountabilityGrid({ className }: AccountabilityGridProps) {
5353
if (agents.length === 0) {
5454
return (
5555
<div className={className}>
56-
<h2 className="text-xs font-bold uppercase tracking-wider text-primary0 mb-2">
56+
<h2 className="text-xs font-bold uppercase tracking-wider text-secondary mb-2">
5757
Accountability
5858
</h2>
5959
<div className="text-center py-4 text-tertiary text-sm">
@@ -65,7 +65,7 @@ export function AccountabilityGrid({ className }: AccountabilityGridProps) {
6565

6666
return (
6767
<div className={className}>
68-
<h2 className="text-xs font-bold uppercase tracking-wider text-primary0 mb-2">
68+
<h2 className="text-xs font-bold uppercase tracking-wider text-secondary mb-2">
6969
Accountability
7070
</h2>
7171
<div className="space-y-2">
@@ -102,7 +102,7 @@ export function AccountabilityGrid({ className }: AccountabilityGridProps) {
102102
{agent.slaBreaches} SLA
103103
</span>
104104
)}
105-
<span className="ml-auto text-primary0">
105+
<span className="ml-auto text-secondary">
106106
reply {formatMs(agent.avgReplyTimeMs)} / act {formatMs(agent.avgActionTimeMs)}
107107
</span>
108108
</div>

components/ceo/BlockersCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@ export function BlockersCard({ className }: BlockersCardProps) {
4040
<div className="flex-1 min-w-0">
4141
<span className="text-white">{blocker.title}</span>
4242
{blocker.linearId && (
43-
<span className="text-primary0 ml-1">({blocker.linearId})</span>
43+
<span className="text-secondary ml-1">({blocker.linearId})</span>
4444
)}
4545
{blocker.stale && (
4646
<span className="text-yellow-500 ml-1 text-xs">[stale 24h+]</span>
4747
)}
4848
</div>
49-
<span className="text-primary0 text-xs shrink-0">
49+
<span className="text-secondary text-xs shrink-0">
5050
{blocker.owner}
5151
</span>
5252
</div>

components/ceo/LiveFeed.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export function LiveFeed({ limit = 8, className }: LiveFeedProps) {
5353
if (feed.length === 0) {
5454
return (
5555
<div className={className}>
56-
<div className="text-center py-6 text-primary0 text-sm">
56+
<div className="text-center py-6 text-secondary text-sm">
5757
No recent activity
5858
</div>
5959
</div>
@@ -105,7 +105,7 @@ export function LiveFeed({ limit = 8, className }: LiveFeedProps) {
105105

106106
{/* Meta info (files, lines) - only for commits */}
107107
{item.meta && (
108-
<div className="text-[10px] text-primary0 mt-0.5 font-mono">
108+
<div className="text-[10px] text-secondary mt-0.5 font-mono">
109109
{item.meta}
110110
</div>
111111
)}

components/ceo/LoopSummaryCard.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export function LoopSummaryCard({ className }: LoopSummaryCardProps) {
5454
{
5555
label: "Broken",
5656
value: summary.brokenToday,
57-
color: summary.brokenToday > 0 ? "text-red-400" : "text-primary0",
57+
color: summary.brokenToday > 0 ? "text-red-400" : "text-secondary",
5858
bg: summary.brokenToday > 0
5959
? "bg-red-500/10 border-red-500/20"
6060
: "bg-surface-4/50 border-gray-500/30",
@@ -69,7 +69,7 @@ export function LoopSummaryCard({ className }: LoopSummaryCardProps) {
6969

7070
return (
7171
<div className={className}>
72-
<h2 className="text-xs font-bold uppercase tracking-wider text-primary0 mb-2">
72+
<h2 className="text-xs font-bold uppercase tracking-wider text-secondary mb-2">
7373
The Loop
7474
</h2>
7575
<div className="grid grid-cols-4 gap-2">
@@ -81,7 +81,7 @@ export function LoopSummaryCard({ className }: LoopSummaryCardProps) {
8181
<div className={`text-lg font-bold tabular-nums ${m.color}`}>
8282
{m.value}
8383
</div>
84-
<div className="text-[10px] text-primary0 uppercase tracking-wide">
84+
<div className="text-[10px] text-secondary uppercase tracking-wide">
8585
{m.label}
8686
</div>
8787
</div>

components/ceo/UnresolvedAlerts.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export function UnresolvedAlerts({ className, limit = 10 }: UnresolvedAlertsProp
103103
</div>
104104

105105
{/* Row 3: Status + broken reason */}
106-
<div className="flex items-center gap-2 mt-1 text-[10px] text-primary0">
106+
<div className="flex items-center gap-2 mt-1 text-[10px] text-secondary">
107107
<span>Status: {alert.messageStatusLabel}</span>
108108
{alert.loopBroken && alert.loopBrokenReason && (
109109
<span className="text-red-400 truncate">

0 commit comments

Comments
 (0)