Web: visual design pass (issue #26) #28
Reference in New Issue
Block a user
Delete Branch "design-polish-issue-26"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Addresses the screenshot-review feedback in #26. No framework or build step added — stays within the existing plain HTML/CSS/vanilla-JS + go:embed architecture.
acknowledgeIncident'sUPDATEhad no guard on the incident's current status, so acknowledging an already-acknowledged incident silently re-logged the event — now idempotent, with regression tests on both the authenticated route and the ntfy ack-button route). Relabel escalation re-pages so they don't look like the same page landing twice. Copy the primary action up near the top. Label the "···" button. Group the timeline by phase (triggered/acknowledged/resolved). Add an "at a glance" summary row (duration/severity/responsible) and collapse the group labels by default.--fs-*type-scale token set and migrate the few genuinely isolated cases onto it (left sizes tied to a fixed shape, a deliberately prominent display, or a non-negotiable constraint like the iOS-zoom-prevention input size as documented exceptions rather than guess at a render this change can't see).Filed #27 separately for an unrelated
rows.Err()lint finding noticed inhandleIncidentTimelinewhile in this file — left out of this diff to keep it scoped to #26.Verified with the full
fmt lint test helm-lintgate (including-race), plus a live instance against the test DB with seeded incidents and schedule data to trace the on-call grouping and timeline phase-splitting logic against real API responses.Closes #26.
🤖 Generated with Claude Code