From 30d3bf172f8582bb626f7713eaad38e3076aaeec Mon Sep 17 00:00:00 2001 From: Dave Date: Mon, 21 Sep 2026 02:29:45 +0200 Subject: [PATCH] chore(phase-8): tick tasks 12-16 --- PHASE-8-PROGRESS.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/PHASE-8-PROGRESS.md b/PHASE-8-PROGRESS.md index 7e5bb2f..58ef416 100644 --- a/PHASE-8-PROGRESS.md +++ b/PHASE-8-PROGRESS.md @@ -23,14 +23,14 @@ - [x] Task 6: Middleware carve-out — `65b0cf4`. `/intake/:path*` short-circuits before cookie check. - [x] Task 7: Public Server Action — `9081659`. token-shape → rate-limit → daily-cap → `nextStep`. Same `InterviewStep` shape as signed-in. - [x] Task 8: Public submission route — `4004aec`. `POST /api/public/intake`. Sibling of `/api/client/intake` with `created_by_role='anonymous'` set in code. Dropped vestigial `tokenHeader` line per the plan's own comment. -- [ ] Task 9: Minimal intake layout -- [ ] Task 10: The public intake page -- [ ] Task 11: The public wizard -- [ ] Task 12: The "thanks" page -- [ ] Task 13: Card submitted-by badge -- [ ] Task 14: Owner actions for intake links -- [ ] Task 15: The intake links panel -- [ ] Task 16: Wire the panel into the admin page +- [x] Task 9: Minimal intake layout — `5137a6d`. Deviation: no ``/`` (Next.js root layout owns those). Intent preserved — no ThemeScript, ThemeSync, Inter, or globals.css. +- [x] Task 10: Public intake page — `c9be1d2`. 404 on unknown/revoked/expired with same wording. IntakePublic placeholder kept build green between Tasks 10/11. +- [x] Task 11: Public wizard + brief preview — `a3972f5`. Replaced Task 10 placeholder with the real wizard. POST to `/api/public/intake`, redirect to `/intake/[token]/sent/[cardId]`. +- [x] Task 12: Thanks page — `07ece87`. Resolves token only to confirm still alive — revoked tokens landing here still show "Thanks" so the submission cannot be probed. +- [x] Task 13: Card submitted-by badge — `bb78c9b`. CardSubmittedBy: nothing for owner, "Requested" for client, "Submitted via public link" for anonymous. Renders nothing when accepted. +- [x] Task 14: Owner actions — `c29f855`. `createIntakeLinkAction`, `rotateIntakeTokenAction`, `setIntakeLinkActiveAction`, `setIntakeLinkNotesAction`. Owner-only via requireOwner(). URL shown once. +- [x] Task 15: Intake links panel — `1e97655`. New-link button → label input → URL shown once with Copy. Rotate / Revoke / Re-activate buttons. Notes editor (saves on blur). +- [x] Task 16: Wire panel into admin — `4335af4`. Reads `intake_links` sorted by `-created`, renders `` after `SummaryPanel`. - [ ] Task 17: Integration tests — the public route - [ ] Task 18: Integration tests — the owner UI actions - [ ] Task 19: Full verification