Flea Flicker a781b53547
CI / Test (pull_request) Successful in 25s
CI / Lint & Typecheck (pull_request) Successful in 31s
CI / Build & Push Docker Image (pull_request) Successful in 47s
feat(GRO-2319): live-render full StatusBadge palette in portal
- StatusBadge normalizes underscore status keys (no_show → no-show) so a
  DB-sourced no_show appointment renders the styled "No-show" badge instead
  of a raw gray label (item 1).
- deriveDisplayStatus derives a Pending badge for an upcoming appointment
  whose confirmationStatus is pending, and Waitlisted for synthetic waitlist
  entries (item 2, CMPO-approved on GRO-2326/GRO-2328).
- AppointmentCard renders waitlist-backed entries with a muted dashed-border
  card + "You're on the waitlist…" subtext, and hides the confirm/notes/
  reschedule/cancel actions (a waitlist entry is not a booked appointment).
- Tests for normalizeStatusKey, deriveDisplayStatus, and the No-show badge.
- UAT_PLAYBOOK.md §5.12f added for the now-live palette states.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-09 10:37:36 +00:00
2026-05-02 21:35:00 +00:00
2026-05-14 17:42:22 +00:00

web

GroomBook web app (extracted from groombook/app monorepo)

S
Description
GroomBook web app (extracted from groombook/app monorepo)
Readme 42 MiB
Languages
TypeScript 99.5%
CSS 0.3%