diff --git a/web/app/(app)/audit/page.tsx b/web/app/(app)/audit/page.tsx index e8f22d6..0d7e7de 100644 --- a/web/app/(app)/audit/page.tsx +++ b/web/app/(app)/audit/page.tsx @@ -77,18 +77,18 @@ export default function AuditPage() { {events.map((e: AuditEvent) => ( - + {formatDate(e.created_at)} - + - + {e.actor} - + {e.details} diff --git a/web/app/(app)/keys/[id]/page.tsx b/web/app/(app)/keys/[id]/page.tsx index bf7c6d5..f90a23c 100644 --- a/web/app/(app)/keys/[id]/page.tsx +++ b/web/app/(app)/keys/[id]/page.tsx @@ -385,7 +385,7 @@ export default function KeyDetailPage() { {key.assignments.map((assignment) => ( - + - + {assignment.server?.ip_address ?? "n/a"} - + {assignment.revoked_at ? "revoked" : "active"} - + {new Date(assignment.assigned_at).toLocaleDateString()} - + {assignment.revoked_at ? new Date(assignment.revoked_at).toLocaleDateString() diff --git a/web/app/(app)/keys/page.tsx b/web/app/(app)/keys/page.tsx index 8f1805c..26cd967 100644 --- a/web/app/(app)/keys/page.tsx +++ b/web/app/(app)/keys/page.tsx @@ -146,21 +146,21 @@ export default function KeysPage() { {keys.map((key: Key) => ( - + {key.label} - + {key.fingerprint} - + {key.source} - + {key.assigned_count ?? 0} server{(key.assigned_count ?? 0) !== 1 ? "s" : ""} - + {new Date(key.created_at).toLocaleDateString()} diff --git a/web/app/(app)/monitors/[id]/page.tsx b/web/app/(app)/monitors/[id]/page.tsx index f5239ff..43edc76 100644 --- a/web/app/(app)/monitors/[id]/page.tsx +++ b/web/app/(app)/monitors/[id]/page.tsx @@ -180,17 +180,17 @@ export default function MonitorDetailPage() { {incidents.map((inc) => ( - + {new Date(inc.started_at).toLocaleString()} - + {inc.resolved_at ? ( {new Date(inc.resolved_at).toLocaleString()} ) : ( ongoing )} - + {inc.cause || "n/a"} diff --git a/web/app/(app)/monitors/page.tsx b/web/app/(app)/monitors/page.tsx index b93fbf4..5c17228 100644 --- a/web/app/(app)/monitors/page.tsx +++ b/web/app/(app)/monitors/page.tsx @@ -76,24 +76,24 @@ export default function MonitorsPage() { {monitors.map((m) => ( - + {m.name} - + {m.type} - + {targetSummary(m)} - + {m.state.status} - + {m.state.latency_ms}ms - + {m.state.last_check_at ? new Date(m.state.last_check_at).toLocaleTimeString() : "n/a"} diff --git a/web/app/(app)/secrets/[group]/page.tsx b/web/app/(app)/secrets/[group]/page.tsx index aeb23b3..0745b68 100644 --- a/web/app/(app)/secrets/[group]/page.tsx +++ b/web/app/(app)/secrets/[group]/page.tsx @@ -138,11 +138,11 @@ function SecretRow({ group, secret }: { group: string; secret: Secret }) { return ( - + {secret.key} - {revealed == null ? •••••••••••• : {revealed}} - + {revealed == null ? •••••••••••• : {revealed}} + {new Date(secret.updated_at).toLocaleString()} diff --git a/web/app/(app)/secrets/page.tsx b/web/app/(app)/secrets/page.tsx index 85ad4d4..e935803 100644 --- a/web/app/(app)/secrets/page.tsx +++ b/web/app/(app)/secrets/page.tsx @@ -139,15 +139,15 @@ export default function SecretsPage() { {groups.map((g: SecretGroupSummary) => ( - + {g.group} - + {g.key_count} key{g.key_count !== 1 ? "s" : ""} - + {new Date(g.updated_at).toLocaleString()} diff --git a/web/app/(app)/servers/[id]/page.tsx b/web/app/(app)/servers/[id]/page.tsx index d886b2f..28b3356 100644 --- a/web/app/(app)/servers/[id]/page.tsx +++ b/web/app/(app)/servers/[id]/page.tsx @@ -269,13 +269,13 @@ function UpdatesModal({ updates, onClose, onApply, isApplying, applySuccess }: { {updates.map((u) => ( - + {u.name} - + {u.current_version || "n/a"} - + {u.new_version} @@ -585,19 +585,19 @@ export default function ServerDetailPage() { .filter((a) => a.key) .map((assignment) => ( - + {assignment.key.label} - + {assignment.key.fingerprint} - + {assignment.key.source} - + {assignment.revoked_at ? "revoked" : "active"} - + {formatDate(assignment.assigned_at)} diff --git a/web/app/(app)/servers/page.tsx b/web/app/(app)/servers/page.tsx index 3b966de..ab842e1 100644 --- a/web/app/(app)/servers/page.tsx +++ b/web/app/(app)/servers/page.tsx @@ -113,23 +113,23 @@ export default function ServersPage() { {servers.map((server: Server) => ( - + {server.hostname} - + {server.ip_address} - + {server.os_info} - + - + {server.last_seen ? formatLastSeen(server.last_seen) diff --git a/web/app/(app)/workflows/[id]/runs/page.tsx b/web/app/(app)/workflows/[id]/runs/page.tsx index d5c15b3..43958d6 100644 --- a/web/app/(app)/workflows/[id]/runs/page.tsx +++ b/web/app/(app)/workflows/[id]/runs/page.tsx @@ -51,7 +51,7 @@ export default function WorkflowRunsPage() { {runs.map((r: WorkflowRun) => ( - + - + {r.status} - {new Date(r.started_at).toLocaleString()} - {r.triggered_by} - {r.server_runs.length} + {new Date(r.started_at).toLocaleString()} + {r.triggered_by} + {r.server_runs.length} ))} diff --git a/web/app/(app)/workflows/page.tsx b/web/app/(app)/workflows/page.tsx index 2e347d4..704af38 100644 --- a/web/app/(app)/workflows/page.tsx +++ b/web/app/(app)/workflows/page.tsx @@ -70,15 +70,15 @@ export default function WorkflowsPage() { {workflows.map((w: Workflow) => ( - + {w.name} - + {w.target_server_ids.length} server{w.target_server_ids.length !== 1 ? "s" : ""} - + {w.steps.length} diff --git a/web/components/settings/MembersCard.tsx b/web/components/settings/MembersCard.tsx index fd2485c..702b4e4 100644 --- a/web/components/settings/MembersCard.tsx +++ b/web/components/settings/MembersCard.tsx @@ -115,11 +115,11 @@ export function MembersCard() { const locked = isSelf || managedByHQ || (u.role === "owner" && !isOwner); return ( - + {u.email} {isSelf && (you)} - + {locked ? ( {u.role} ) : ( @@ -136,11 +136,11 @@ export function MembersCard() { )} - + {u.auth_source === "oidc" ? "SSO" : u.auth_source === "hq" ? "Vantage HQ" : "Password"} - {u.last_login ? new Date(u.last_login).toLocaleString() : "Never"} - + {u.last_login ? new Date(u.last_login).toLocaleString() : "Never"} + {managedByHQ ? ( hqUrl ? (