# QODY Admin UX Redesign — ZAVRSEN (MC 105067)

# QODY Admin + Super-Admin UX Redesign — ZAVRŠEN (MC #105067)

**Datum:** 2026-07-08 | **Vodio:** Vizu (Brad Frost + Lea Verou), UX validacija Angie Jones (Proveo), sigurnost Parisa Tabriz (Securion)
**Živo:** demo.admin.qody.ba (revizija qody-admin--uxfinal801b2d7, 100% traffic) | Branch feat/qody-admin-design-system-105067, commit 801b2d7

## Root cause (zašto je bilo loše)
Onboarding wizard i super-admin (#104856) vođeni kao "Petter Graff lead" — **arhitekta, ne dizajner**. Nijedan UI/UX dizajner nikad nije bio glavni; UI bio Phase-2 dodatak inženjerskog toka. Rezultat: **nijedan design system** — 19 admin views (11.660 linija) svaki hand-roll inline stilove; super-admin "kreiraj lokal" bio flat 7-poljni 480px modal bez wizard strukture ni a11y.

## Šta je urađeno (CEO odluka: čisto frontend, backend contract netaknut)
**Tier A — design system + super-admin wizard:**
- Novi shared design system (apps/admin/src/ui/): Button, Modal (focus-trap + role=dialog + ESC), StatusPill (kanonski status→boja), Card, Table, Field, Switch
- Super-admin "kreiraj lokal" → guided 3-koračni wizard (Poslovanje→Vlasnik→Pregled) + success dialog
- Uklonjeni mrtvi no-op elementi (provisioningState kolona — bonus: pendingOnly filter bio BUG koji bi skrivao svaki merchant)

**Tier B — admin dashboard:** VenuesView, MenusView (popravljeni pravi focus-trap/ESC na modalima), SettingsView + StaffView + ReportsView (bio 100% raw hex) + TablesView — svi na design system.

**Tier C — super-admin konzola:** Transactions/Refunds/Subscriptions/Audit tabovi → q-data-table + Button komponenta, ~40 raw hex → tokeni.

## Verifikacija (sva 3 gejta + bugfix)
- **Securion PASS ×2**: contract netaknut (api.ts backend diff prazan, 14 onClick handlera byte-identical, 0 dangerouslySetInnerHTML, 0 secret logova)
- **Angie Jones UAT**: Tier A PASS ("clears smiešan→top bar"). Tier B+C CONCERNS → našla 2 buga (StaffView reset-password id/staffId mismatch, VenuesView grid overlap) prije sign-off-a
- **Bugfix (801b2d7)** + Angie re-verify: B1 PASS (reset-password POST na pravi UUID → 200), B4 PASS (geometrijski overlap check 0 parova), #4 stale banner PASS

## Napomene
- Deploy: sve preko az acr build (lokalni Docker hung + git-author-guard #104976 blokira pushove)
- Preskočeno (opciono): raw "reports.advanced" label (pre-postojeći tech tag, ne regresija)
- Evidence: ~/system/evidence/105067/ (plan, securion-verify ×2, uat + uat-bc + uat-bc-reverify, screenshotovi)