backend phase 13 & frontend phase 6
This commit is contained in:
@@ -12,6 +12,29 @@ for awareness.
|
||||
- **Requests filed:** frontend/requests/for-backend.md (yes/no)
|
||||
-->
|
||||
|
||||
## frontend-phase-6-b7 — Search & discovery (find a verified, same-gender nurse) — 2026-07-09
|
||||
- **Shipped:** the family discovery slice — `services/search` (types/keys/constants/apis/hooks + a shared
|
||||
`filterParams.ts` C1↔C2 URL serializer) and screens **C1** `/search` (reused category grid + f3 region
|
||||
picker + prominent same-gender facet + Toman price + live-count CTA; `useSearchFilters` colocated
|
||||
controller with debounced price), **C2** `/search/results` (rating-sorted `NurseResultCard` list, all
|
||||
four states incl. "relax filters" empty, load-more), **C3** `/search/nurse/[nurseId]` (TrustBadge + نظام
|
||||
پرستاری badges, attribute chips, `ServicePriceRow` services, latest review, "درخواست رزرو" handoff).
|
||||
Two shared tested components: `NurseResultCard`, `ServicePriceRow`. `/bookings/request` = f7 handoff stub.
|
||||
i18n `search` (filled) + `booking` (seeded) in both locales. Reused f4 category grid, f5 TrustBadge, f3
|
||||
geo picker, f0 money util — none rebuilt.
|
||||
- **Headline caching:** the **filter object IS the query key** — reverting to a prior filter set is a cache
|
||||
hit with zero network (keepPreviousData avoids flashing); price input debounced.
|
||||
- **Consumes:** dev/contracts/domains/search.md (b7) + b6 trust badge / b5 variant reads.
|
||||
- **Mocked client-side:** `services/search` via `searchMockApi` (**USE_SEARCH_MOCK=true, primary**) — b7's
|
||||
index row + b5/b6 reads don't yet expose nurse name/avatar/distance or an aggregated profile
|
||||
(name/bio/specialties/services list/latest review). Real `searchClientApi` maps what exists; swap is one
|
||||
line once REQ-012 lands. Recorded in the phase report (not mocks-registry — that's for backend DI seams).
|
||||
- **Gate:** npm run check green · npm run test:ci green (165 tests, +8). `npm run build` compiles + types
|
||||
clean; prerender fails only on the pre-existing f5 `/nurse/verification` "Missing .env variable!" (needs
|
||||
env set — unrelated to f6).
|
||||
- **Requests filed:** frontend/requests/for-backend.md — yes (REQ-012: search row name/avatar/distance +
|
||||
`GET nurses/{id}/profile` aggregation).
|
||||
|
||||
## frontend-phase-5-b6 — Nurse verification flow (trust engine) — 2026-07-09
|
||||
- **Shipped:** `services/verification` domain (types/keys/constants/validation/apis[client+mock(primary)+seam]/
|
||||
hooks/index) — ONE cached `status()` query drives B3+B6, every mutation invalidates it. The nurse
|
||||
|
||||
Reference in New Issue
Block a user