CEO App-Audit UX Wave — 2026-07-13
CEO App-Audit UX Wave — 2026-07-13
Context: On 2026-07-13, CEO Alem reported "Nemamo logout dugme u aplikaciji!" and requested a full audit of app.bilko.cloud for missing industry-standard functions. The audit surfaced 3 real issues, all addressed on demo environment (revision bilko-web-demo--0000039, image demo-8db65b55).
Finding 1: Logout Affordance — MC #105556
Status: RESOLVED
Root Cause
Logout functionality always existed and worked correctly (user dropdown menu → "Odjava", data-testid=logout-button). However, on narrow screens (mobile/tablet), the user-menu trigger button had its text label and chevron icon set to hidden sm:inline, leaving only a bare avatar circle visible. This did not visually communicate that the element was a clickable menu, causing the CEO to be unable to locate the logout function.
Fix
- File:
apps/web/components/top-bar.tsx - Commit:
9944dd71 - Pull Request: PR139 → merged as
791f6db6 - Change: User-menu trigger is now rendered as a bordered pill containing avatar + truncated name + chevron at ALL breakpoints:
max-w-[9.5rem]belowsmbreakpointmax-w-[14rem]atsmand above
- Logout logic itself was not modified.
Verification
Verifier: Angie Jones (Proveo)
Method: Live Playwright UAT at two viewport widths (375px mobile, 1280px desktop)
Result: PASS
Evidence: /Users/makinja/system/evidence/app-audit-uat/ (screenshots 01-narrow.png, 02-wide.png)
Finding 2: Admin Users Page — English-Only + Custom 404 — MC #105557
Status: RESOLVED
Root Cause
The /admin/users page ("Korisnici i uloge") was rendered entirely in English while the rest of the application was in Croatian. Additionally, the default Next.js 404 page displayed English fallback text.
Fix
- File:
apps/web/app/(dashboard)/admin/users/page.tsx+ 5 locale files (en,hr,bs,sr-Latn,sr-Cyrl) + newapps/web/app/not-found.tsx - Commit:
d6adeb3d - Pull Request: PR140 → merged as
727b6866 - Change:
- ~20 UI strings moved to
useTranslations('adminUsersPage') - 37 translation keys added per locale
- New
notFoundnamespace for custom 404 page - Custom Croatian 404 page with "Stranica nije pronađena" heading and CTA "Natrag na kontrolnu ploču"
- ~20 UI strings moved to
Verification
Linguistic Verifier: Dževad Jahić (Lexicon)
Method: HR terminology validation review
Result: PASS
Evidence: ~/system/evidence/105557/dzevad-hr-validation.md
Functional Verifier: Angie Jones (Proveo)
Method: Live UAT on demo environment
Result: PASS
- Page renders in Croatian: "Korisnici i uloge", "Članovi tima", "Aktivan", "Matrica dozvola po ulogama"
- Navigating to
/nonexistentdisplays custom 404 with "Stranica nije pronađena" and CTA "Natrag na kontrolnu ploču"
Note: Role names and permission keys are intentionally left as untranslated technical identifiers.
Finding 3: Dead Table Row Click — MC #105558
Status: IN PROGRESS (CodeCraft investigating)
Root Cause
Confirmed runtime bug: clicking table rows in Fakture (Invoices) and Kontakti (Contacts) tables does NOT navigate to the detail page on deployed bundle, despite source code having <TableRow onClick={() => router.push(...)}> and cursor-pointer class.
Investigation
Assigned to: CodeCraft (lee-robinson)
Status: Root-cause investigation in local production build
Finding: Angie Jones live-tested and confirmed native <tr> click event fires and bubbles, but React synthetic onClick does not trigger navigation. Suspected causes: hydration mismatch, Next.js router delegation issue, or event handler binding failure in production bundle.
This is the third "live ≠ code" case discovered on 2026-07-13.
Follow-Up Noted (Not a Blocker)
Bare /demo Dead-End:
Navigating directly to /demo (without ?country= parameter) results in an error message "Odaberi državu za demo" instead of presenting a country picker UI. This is not a blocker but worth a UX decision if raw /demo links are shared externally.
Summary
| MC Task | Finding | Status | Commit | Verifier |
|---|---|---|---|---|
| #105556 | Logout affordance (hidden on mobile) | RESOLVED | 9944dd71 (PR139) | Angie Jones PASS |
| #105557 | Admin page English-only + 404 | RESOLVED | d6adeb3d (PR140) | Dževad Jahić + Angie Jones PASS |
| #105558 | Dead table row click | IN PROGRESS | — | CodeCraft (lee-robinson) investigating |
Live Environment: demo.bilko.cloud revision bilko-web-demo--0000039 (image demo-8db65b55)
Evidence Archive: /Users/makinja/system/evidence/app-audit-uat/