refinement phase 2
This commit is contained in:
@@ -12,6 +12,23 @@ for awareness.
|
||||
- **Requests filed:** frontend/requests/for-backend.md (yes/no)
|
||||
-->
|
||||
|
||||
## refinement-phase-2 — Auth & role-aware navigation ("only customer side" fix) — 2026-07-13
|
||||
- **Shipped:** the resolved-vs-pending role fix. `useRoleHydration()` (`services/auth`, `loading|error|ready`
|
||||
over `useMe`) + `RoleGuard` (wraps every private shell; tested) + `AuthAccountError`. Shells now: neutral
|
||||
splash while `/me` loads (never the customer shell), explicit `/me`-failed recovery (never a silent customer
|
||||
fallback), and role-mismatch **redirect** to `resolveRoleDestination` + `guard_denied` toast. `(customer)`/
|
||||
`nurse`/`admin` guard `expected={APP_ROLES.*}`; `partner` is hydration-only (self-gates via
|
||||
useMyPartnerCenter). i18n `auth.guard_denied`/`account_error_*` (en+fa). Backend (a little): 2 phone-OTP
|
||||
admins added to the demo seeder (`09120000020` super_admin / `09120000021` finance) so `/admin` is reachable
|
||||
via phone-OTP + `useAdminCapabilities` gating is demonstrable.
|
||||
- **Consumes:** the real b2 auth (`/me`, `me/select_role`) — no new contract. `USE_AUTH_MOCK` stays false.
|
||||
- **Mocked client-side:** none new. Partner login-routing deferred (`/partner` reachable by direct nav via the
|
||||
existing partnerCenter mock).
|
||||
- **Gate:** npm run check green · RoleGuard.test.tsx 8/8 · en/fa in sync · server build 0 errors ·
|
||||
DemoWorldSeederTests 4/4.
|
||||
- **Requests filed:** yes — **REQ-004 resolved** (client owns active-role); **REQ-038 filed** (a `/me`
|
||||
partner-center-admin signal for partner login-routing).
|
||||
|
||||
## frontend-phase-15-b15 — Admin backoffice & partner-center consoles — 2026-07-10 — **MVP COMPLETE**
|
||||
- **Shipped:** the internal **operational cockpit** — the role-gated admin backoffice (desktop sidebar shell) +
|
||||
the separately-scoped **partner-center portal**. Two new domains: **`services/admin`** (config / holidays /
|
||||
|
||||
Reference in New Issue
Block a user