Skip to content

Commit 84ecb0d

Browse files
committed
chore(webapp): use shared primitives on the admin queue metrics page
1 parent 7235f69 commit 84ecb0d

1 file changed

Lines changed: 32 additions & 23 deletions

File tree

apps/webapp/app/routes/admin.queue-metrics.tsx

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,16 @@ import { z } from "zod";
66
import { Button } from "~/components/primitives/Buttons";
77
import { Callout } from "~/components/primitives/Callout";
88
import { Header1, Header2 } from "~/components/primitives/Headers";
9+
import { Input } from "~/components/primitives/Input";
910
import { Paragraph } from "~/components/primitives/Paragraph";
11+
import {
12+
Table,
13+
TableBody,
14+
TableCell,
15+
TableHeader,
16+
TableHeaderCell,
17+
TableRow,
18+
} from "~/components/primitives/Table";
1019
import { dashboardAction, dashboardLoader } from "~/services/routeBuilders/dashboardBuilder";
1120
import {
1221
probeQueueMetricsStreams,
@@ -110,14 +119,14 @@ export default function AdminQueueMetricsRoute() {
110119
Gauge sample rate 0–1 (queue_metrics:gauge_sample_rate); default{" "}
111120
{controls.sampleRateDefault}
112121
</label>
113-
<input
122+
<Input
114123
type="number"
115124
min={0}
116125
max={1}
117126
step={0.05}
118127
value={sampleRate}
119128
onChange={(e) => setSampleRate(e.target.value)}
120-
className="w-32 rounded border border-grid-bright bg-charcoal-750 px-2 py-1 text-text-bright"
129+
className="w-32"
121130
/>
122131
</div>
123132
{error && <Callout variant="error">{error}</Callout>}
@@ -130,7 +139,7 @@ export default function AdminQueueMetricsRoute() {
130139

131140
<div className="space-y-3 rounded-md border border-grid-bright p-4">
132141
<div className="flex items-center justify-between">
133-
<Header2>Stream health{totalLag > 0 ? ` lag ${totalLag}` : ""}</Header2>
142+
<Header2>Stream health{totalLag > 0 ? ` (lag ${totalLag})` : ""}</Header2>
134143
<Button
135144
variant="tertiary/small"
136145
onClick={() => revalidator.revalidate()}
@@ -152,28 +161,28 @@ export default function AdminQueueMetricsRoute() {
152161
consumer health.
153162
</Callout>
154163
)}
155-
<table className="w-full text-sm tabular-nums">
156-
<thead className="text-text-dimmed">
157-
<tr>
158-
<th className="py-1 text-left font-normal">Stream</th>
159-
<th className="py-1 text-left font-normal">Shard</th>
160-
<th className="py-1 text-right font-normal">Depth</th>
161-
<th className="py-1 text-right font-normal">Lag</th>
162-
<th className="py-1 text-right font-normal">Pending</th>
163-
</tr>
164-
</thead>
165-
<tbody className="text-text-bright">
164+
<Table>
165+
<TableHeader>
166+
<TableRow>
167+
<TableHeaderCell>Stream</TableHeaderCell>
168+
<TableHeaderCell>Shard</TableHeaderCell>
169+
<TableHeaderCell alignment="right">Depth</TableHeaderCell>
170+
<TableHeaderCell alignment="right">Lag</TableHeaderCell>
171+
<TableHeaderCell alignment="right">Pending</TableHeaderCell>
172+
</TableRow>
173+
</TableHeader>
174+
<TableBody>
166175
{streams.map((s) => (
167-
<tr key={`${s.stream}-${s.shard}`} className="border-t border-grid-dimmed">
168-
<td className="py-1">{s.stream}</td>
169-
<td className="py-1">{s.shard}</td>
170-
<td className="py-1 text-right">{s.depth}</td>
171-
<td className="py-1 text-right">{s.lag ?? "unknown"}</td>
172-
<td className="py-1 text-right">{s.pending}</td>
173-
</tr>
176+
<TableRow key={`${s.stream}-${s.shard}`}>
177+
<TableCell>{s.stream}</TableCell>
178+
<TableCell>{s.shard}</TableCell>
179+
<TableCell alignment="right">{s.depth}</TableCell>
180+
<TableCell alignment="right">{s.lag ?? "unknown"}</TableCell>
181+
<TableCell alignment="right">{s.pending}</TableCell>
182+
</TableRow>
174183
))}
175-
</tbody>
176-
</table>
184+
</TableBody>
185+
</Table>
177186
</div>
178187
</div>
179188
</main>

0 commit comments

Comments
 (0)