Files
HartOMat/review-report.md
T
Hartmut ce15526a15 docs: update review report for UI/UX cleanup
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 12:00:05 +01:00

2.4 KiB

Review Report: Full UI/UX Cleanup & Simplification

Date: 2026-03-15

Result: Approved

Checklist Results

Frontend / TypeScript

  • TypeScript compiles clean (npx tsc --noEmit — zero errors)
  • No bg-surface/50 Tailwind opacity syntax with CSS vars
  • Loading states preserved (all existing isPending usage untouched)
  • Error feedback preserved (all existing toast.error calls untouched)
  • Role-dependent UI elements unchanged
  • No new API interfaces needed (frontend-only visual refactor)

Backend / Database / Render Pipeline

  • N/A — all changes are frontend-only (6 component/page files + plan.md)

Security

  • No credentials in code
  • No hardcoded tokens or secrets
  • English variable names and comments

Minor Notes (non-blocking)

as any usage in val()/set() helpers

Severity: Low The RenderTemplateTable uses (editDraft as any)[field] and (form as any)[field] in the shared renderEditFormGrid() helper — same pattern as the reference OutputTypeTable implementation. This is a TypeScript limitation with dynamic field access on union types. Non-blocking; could be improved with generics later but works correctly.

Positives

  1. Consistent pattern across all 4 admin tables: OutputTypeTable, RenderTemplateTable, PricingTierTable, and GlobalRenderPositionsPanel all now use the identical expandable edit row pattern — display row always visible, edit form as full-width colSpan row below with accent border.

  2. RenderTemplateTable column reduction: Consolidated 4 boolean columns (Mat Replace, Lighting Only, Shadow Catcher, Camera Orbit) into a single "Flags" column with compact badges — reduces visual width from 11 to 8 columns.

  3. Shared renderEditFormGrid(): Both RenderTemplateTable and PricingTierTable use a shared helper for add/edit forms, keeping the pattern DRY.

  4. OrderDetail material override UX: The per-line override now shows a compact "+ override" link instead of always-visible dropdown — significantly reduces visual noise while keeping functionality accessible.

  5. WorkerManagement controls: Larger touch targets (p-2 rounded-lg) make the scale controls usable on touch devices.

  6. Billing status indicator: ChevronDown icon next to the status select makes the interactivity obvious without changing the badge aesthetic.

Recommendation

Approved — ready to merge.