diff --git a/frontend/src/app/dashboard/page.tsx b/frontend/src/app/dashboard/page.tsx index 5ac9755..6c4f396 100644 --- a/frontend/src/app/dashboard/page.tsx +++ b/frontend/src/app/dashboard/page.tsx @@ -403,24 +403,24 @@ function TopMetricCard({ }) { const iconTone = accent === "blue" - ? "bg-blue-50 text-blue-600" + ? "bg-[color:var(--accent-soft)] text-[color:var(--accent)]" : accent === "green" - ? "bg-emerald-50 text-emerald-600" + ? "bg-[color:rgba(52,211,153,0.15)] text-[color:var(--success)]" : accent === "violet" - ? "bg-violet-50 text-violet-600" - : "bg-green-50 text-green-600"; + ? "bg-[color:rgba(251,191,36,0.15)] text-[color:var(--warning)]" + : "bg-[color:rgba(52,211,153,0.15)] text-[color:var(--success)]"; return ( -
+
-

+

{title}

{infoText ? ( @@ -429,11 +429,11 @@ function TopMetricCard({ ) : null}
-

+

{value}

{secondary ? ( -

{secondary}

+

{secondary}

) : null}
@@ -455,13 +455,13 @@ function InfoBlock({ rows: SummaryRow[]; }) { return ( -
+
-

{title}

+

{title}

{infoText ? ( @@ -473,32 +473,32 @@ function InfoBlock({ {badge.text} ) : null}
-
+
{rows.map((row) => (
- {row.label} + {row.label} {row.value} @@ -1022,10 +1022,10 @@ export default function DashboardPage() { -
+
{metricsQuery.error ? ( -
+
Load failed: {metricsQuery.error.message}
) : null} @@ -1088,14 +1088,14 @@ export default function DashboardPage() { />
-
+
-

+

Pending Approvals

Open global approvals @@ -1103,73 +1103,73 @@ export default function DashboardPage() {
{!metrics && metricsQuery.isLoading ? ( -
+
Loading pending approvals...
) : !metrics && metricsQuery.error ? ( -
+
Pending approvals are temporarily unavailable.
) : hasPendingApprovals ? (
-
+
{pendingApprovalItems.map((item) => ( - - + + {item.task_title || "Pending approval"} - + {item.board_name} ยท {item.confidence}% score - + {formatRelativeTimestamp(item.created_at)} ))}
{pendingApprovalsTotal > pendingApprovalItems.length ? ( -

+

Showing latest {formatCount(pendingApprovalItems.length)}{" "} of {formatCount(pendingApprovalsTotal)} pending approvals.

) : null}
) : ( -
+
No pending approvals across your boards.
)}
-
+
-

+

Sessions

- + {formatCount(activeSessions)}
{!hasConfiguredGateways ? ( -
+
No gateways are configured for any board yet.
) : gatewayStatusesQuery.isLoading ? ( -
+
Loading sessions...
) : sessionSummaries.length > 0 ? ( <> {gatewayUnavailableCount > 0 ? ( -
+
{formatCount(gatewayUnavailableCount)} gateway {gatewayUnavailableCount === 1 ? "" : "s"}{" "} unavailable; showing sessions from reachable gateways. @@ -1178,31 +1178,31 @@ export default function DashboardPage() { {sessionSummaries.map((session) => (
-

+

{session.title}

-

+

{session.subtitle}

-

+

{session.usage === DASH ? "Usage unavailable" : session.usage}

-

+

{session.lastSeenAt ? formatRelativeTimestamp(session.lastSeenAt) : "Activity unavailable"} @@ -1213,25 +1213,25 @@ export default function DashboardPage() { ))} ) : gatewayUnavailableCount === gatewayTargets.length ? ( -

+
Session data is unavailable for all configured gateways.
) : ( -
+
No active sessions detected.
)}
-
+
-

+

Recent Activity

Open feed @@ -1253,11 +1253,11 @@ export default function DashboardPage() { onKeyDown={(interactionEvent) => handleLogRowKeyDown(interactionEvent, eventHref) } - className="cursor-pointer overflow-hidden rounded-lg border border-slate-200 bg-white px-3 py-2 transition hover:border-slate-300 focus-visible:border-slate-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300" + className="cursor-pointer overflow-hidden rounded-lg border border-[color:var(--border)] bg-[color:var(--surface-muted)] px-3 py-2 transition hover:border-[color:var(--border-strong)] hover:bg-[color:var(--surface-strong)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--accent)]" >
-
+
-

+

{event.event_type}

-
+

{formatRelativeTimestamp(event.created_at)}

{formatTimestamp(event.created_at)}

@@ -1278,10 +1278,10 @@ export default function DashboardPage() { ); }) ) : ( -
- +
+ No activity yet -

+

Activity appears here when events are emitted.