Skip to main content

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)