Overviews: create before publish-all; Home: the trend curves keep their dot
Playwright Tests / test-playwright (1, 2) (push) Canceled after 0s
Playwright Tests / test-playwright (2, 2) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Compose Smoke Test / test-compose (push) Canceled after 0s
Playwright Tests / merge-reports (push) Canceled after 0s

The Home table drew the one sparkline without its live dot, on the grounds
that a polled rollup's right edge is the last complete slice rather than this
instant. Identical curves reading differently is the worse trade, so the dot
is back everywhere and the cell keeps room for the half that hangs past the
curve.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XC2jX6Hdj7pxGGKzBTrbqB
This commit is contained in:
2026-08-17 12:58:35 +02:00
co-authored by Claude Opus 5
parent 1a589570b1
commit 3b5241bb9a
2 changed files with 23 additions and 22 deletions
@@ -104,6 +104,23 @@ export function OverviewToolbar({
</Tooltip> </Tooltip>
)} )}
<Tooltip>
<TooltipTrigger asChild>
<DialogTrigger asChild>
<Button
variant="ghost"
size="icon"
className={ICON}
aria-label={createLabel}
data-testid={createTestId}
>
<Plus />
</Button>
</DialogTrigger>
</TooltipTrigger>
<TooltipContent>{createLabel}</TooltipContent>
</Tooltip>
<Tooltip> <Tooltip>
<TooltipTrigger asChild> <TooltipTrigger asChild>
{/* A disabled button gets no pointer events, so the tooltip that {/* A disabled button gets no pointer events, so the tooltip that
@@ -128,23 +145,6 @@ export function OverviewToolbar({
: `Publish ${draftCount} unpublished change${draftCount === 1 ? "" : "s"}`} : `Publish ${draftCount} unpublished change${draftCount === 1 ? "" : "s"}`}
</TooltipContent> </TooltipContent>
</Tooltip> </Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<DialogTrigger asChild>
<Button
variant="ghost"
size="icon"
className={ICON}
aria-label={createLabel}
data-testid={createTestId}
>
<Plus />
</Button>
</DialogTrigger>
</TooltipTrigger>
<TooltipContent>{createLabel}</TooltipContent>
</Tooltip>
</div> </div>
) )
} }
@@ -40,9 +40,9 @@ function Tile({
* *
* Sixty slices of whatever window is selected, so the curve stays the same * Sixty slices of whatever window is selected, so the curve stays the same
* width and only its resolution moves. The same curve the node panel and the * width and only its resolution moves. The same curve the node panel and the
* edge popover draw, in the chart ramp this page's other graphs use. No live * edge popover draw, dot included, in the chart ramp this page's other graphs
* dot: the rollups are polled, so the right edge is the last completed slice * use. The dot marks the newest slice rather than this instant — the rollups
* rather than this instant. * are polled, so that slice is the last complete one.
*/ */
function Spark({ counts }: { counts: number[] }) { function Spark({ counts }: { counts: number[] }) {
const points: HistoryPoint[] = counts.map((value, index) => ({ const points: HistoryPoint[] = counts.map((value, index) => ({
@@ -57,7 +57,6 @@ function Spark({ counts }: { counts: number[] }) {
points={points} points={points}
color="var(--chart-1)" color="var(--chart-1)"
height="h-6" height="h-6"
dot={false}
readout={false} readout={false}
/> />
) )
@@ -205,7 +204,9 @@ export function HealthOverview({
<td className="whitespace-nowrap px-3 py-2 text-center"> <td className="whitespace-nowrap px-3 py-2 text-center">
{si(row.avg_lag_ms)} ms {si(row.avg_lag_ms)} ms
</td> </td>
<td className="py-2 pl-3 text-right"> {/* The dot straddles the curve's right edge, so the cell
keeps a little room for the half that hangs out. */}
<td className="py-2 pr-2 pl-3 text-right">
<Spark counts={row.spark} /> <Spark counts={row.spark} />
</td> </td>
</tr> </tr>