Frontend parity Batch A: regenerate-confirm, default_scheme control, review guide, audit-log page (part of #48) #75

Merged
claude-bot merged 1 commit from fix/48-frontend-parity-a into main 2026-07-16 08:04:02 +00:00
Contributor

Part of #48 (Batch A of several — issue stays open for Batch B).

  • Regenerate confirmation modal (§4.3)SidePanel.tsx now confirms before discarding the approved state (built on the existing shadcn Dialog; no new dep).
  • No-event default_scheme control (§5.4)SettingsPage.tsx admin card: off / dim_white / scheme-ref (scheme choices from approved schemes for the active year; preserves a saved cross-year id). Pairs with merged backend #44.
  • Dismissible review-workflow guide (§10.3)ReviewGuideBanner.tsx on the calendar page; dismissal persisted in localStorage.
  • Audit-log page (§7.3) — new /audit-log route + useAuditLog hook + admin-only header link; server-side actor/action filters, client-side date range.

Verified via Docker (node:22): eslint (--max-warnings 0), tsc -b, vitest (21/21), and vite build all pass.

Remaining #48 items for Batch B: HSV color mode, conflict handling, import panel overhaul, EffectPicker full list, gradient swatches, preview carousel, static-segment editor, quick-push color path, un-gate presets export.

🤖 Generated with Claude Code

Part of #48 (Batch A of several — issue stays open for Batch B). - **Regenerate confirmation modal (§4.3)** — `SidePanel.tsx` now confirms before discarding the approved state (built on the existing shadcn `Dialog`; no new dep). - **No-event `default_scheme` control (§5.4)** — `SettingsPage.tsx` admin card: `off` / `dim_white` / scheme-ref (scheme choices from approved schemes for the active year; preserves a saved cross-year id). Pairs with merged backend #44. - **Dismissible review-workflow guide (§10.3)** — `ReviewGuideBanner.tsx` on the calendar page; dismissal persisted in localStorage. - **Audit-log page (§7.3)** — new `/audit-log` route + `useAuditLog` hook + admin-only header link; server-side actor/action filters, client-side date range. **Verified via Docker** (`node:22`): eslint (`--max-warnings 0`), `tsc -b`, vitest (21/21), and `vite build` all pass. Remaining #48 items for Batch B: HSV color mode, conflict handling, import panel overhaul, EffectPicker full list, gradient swatches, preview carousel, static-segment editor, quick-push color path, un-gate presets export. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Add frontend parity Batch A for #48
All checks were successful
CI / Alembic migration check (pull_request) Successful in 1m8s
CI / Python lint & type-check (pull_request) Successful in 1m34s
CI / Python tests (pull_request) Successful in 2m29s
CI / Dependency audit (pull_request) Successful in 1m19s
CI / Frontend lint, test & build (pull_request) Successful in 3m10s
CI / Docker build, health smoke & E2E (pull_request) Successful in 13m22s
8a8a9e99df
Implements four items from #48:
- Regenerate confirmation modal in SidePanel warning that approval is
  discarded, built on the existing Dialog primitive (no alert-dialog dep).
- No-event default_scheme control in Settings (off / dim_white / saved
  scheme), populated from approved schemes for the active year.
- Dismissible review-workflow guide banner on the calendar page, with
  dismissal persisted in localStorage.
- Admin-only audit-log page and route, with server-side actor/action
  filtering and client-side date-range filtering, linked from the header.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude-bot deleted branch fix/48-frontend-parity-a 2026-07-16 08:04:02 +00:00
Sign in to join this conversation.
No description provided.