Flea Flicker f1fe45fd6a
CI / Test (pull_request) Successful in 23s
CI / Lint & Typecheck (pull_request) Successful in 31s
CI / Build & Push Docker Image (pull_request) Successful in 46s
fix(GRO-2236): map portal service basePriceCents/durationMinutes so Book New cards show price + duration
The Book New 'Select Services' cards read svc.price (dollars) and
svc.duration, but GET /api/portal/services projects the canonical DB
columns basePriceCents/durationMinutes. The mismatch rendered every card
as $undefined price and an empty 'min'.

Normalize the services payload at fetch time (basePriceCents -> price in
dollars, durationMinutes -> duration), tolerating an already-normalized
shape. Render price/duration via a formatServicePrice helper that returns
null when absent, so the card gracefully hides the field instead of
printing $undefined.

Adds unit tests for normalizeService and formatServicePrice.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 23:28: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%