frontend phase 13
This commit is contained in:
@@ -12,6 +12,32 @@ for awareness.
|
||||
- **Requests filed:** frontend/requests/for-backend.md (yes/no)
|
||||
-->
|
||||
|
||||
## frontend-phase-13-b14 — Reviews & patient care records — 2026-07-10
|
||||
- **Shipped:** the last feature-domain phase. Two new domains — **`services/reviews`** (`useNurseReviews`
|
||||
infinite published-only aggregate+list / `useReviewEligibility` / `useMyReviewForBooking` / `useCreateReview`
|
||||
— invalidates eligibility+my-review, NEVER the public list) and **`services/patientRecords`**
|
||||
(`usePatientCareRecord` / `useRecordAccess` / `usePatientHistory` / `useUpdateCareRecord` CUSTOMER-only /
|
||||
`useCreateVisitNote` NURSE-only). Screens: `/bookings/[id]/review` (RatingInput + ReviewTagSelector, gated
|
||||
completed+can_review+1:1, under-review state) + `LeaveReviewCta` on the customer booking detail; C3 nurse
|
||||
profile **reviews tab** (published-only aggregate+count+infinite list); E2 **`/patients/[id]/record`** (4 tabs
|
||||
داروها/روتین/سوابق/وظایف + ownership banner + customer edit + non-leaking access-denied); nurse
|
||||
**`NurseVisitNotesPanel`** (append-only task-checklist+note composer BELOW the f8 EVV banner). New shared
|
||||
composites RatingInput/ReviewTagSelector/VisitNoteCard/PatientHeader (each tested; PatientCard now composes
|
||||
PatientHeader + gained `onOpen`); `usePatient(id)`; new icons; `reviews`+`records` i18n namespaces (both
|
||||
locales). Extended the f8 bookings mock: completed booking **5005** + cross-mock read mockGetBookingForReview.
|
||||
- **Consumes:** dev/contracts/domains/reviews-records.md + openapi/swagger.v1.json (backend-phase-14). REAL &
|
||||
mapped 1:1: `POST bookings/{id}/review`, `GET nurses/{id}/reviews`, `GET`/`POST patients/{id}/care_records`.
|
||||
- **Mocked client-side:** `services/reviews` (`USE_REVIEWS_MOCK`) — eligibility + my-review are REQ-026 gaps,
|
||||
moderation is admin-only/f15 (dev `__mockPublishSubmittedReview`). `services/patientRecords`
|
||||
(`USE_PATIENT_RECORDS_MOCK`) — the visit-note history/append are REAL b14; the family-owned record
|
||||
(meds/routine/tasks) + access check have NO backend (REQ-027). Both default `true`; swap is one flag. See
|
||||
mocks-registry.
|
||||
- **Gate:** npm run check green · npm run test:ci green (all suites, +17) · npm run build green with
|
||||
NEXT_PUBLIC_API_URL set. 6-dimension adversarial review with per-finding verification.
|
||||
- **Requests filed:** frontend/requests/for-backend.md — yes (REQ-026 review eligibility + my-review + masked
|
||||
author; REQ-027 family-owned care record + access + structured taskResults — flags the E2 record has no
|
||||
data-model entity).
|
||||
|
||||
## frontend-phase-12-b13 — Nurse earnings & payout history — 2026-07-10
|
||||
- **Shipped:** the **last money-path frontend phase** — the read-only **nurse earnings** surface. A **new
|
||||
`services/payouts` domain** (types/keys/constants/apis[client+mock]/4 read-only hooks + hooks-only barrel)
|
||||
|
||||
Reference in New Issue
Block a user