3
UX Sweep
Shawn edited this page 2026-06-01 23:29:03 -04:00

UX Sweep — May/June 2026

Full UX improvement sweep across all pages and flows. Managed via the canteen-ux-sweep kanban board (Hermes Agent).

Latest Fixes (June 2)

Commit Description
1e7576e Bump SW cache to v9 — phone needs hard-refresh to activate
e3295af GPS coords shown in map popups + asset list; toast on auto-checkin
120f52a Bump SW cache to v8
0e53da0 Fix barcode scan rate 50ms→300ms (decoder thrashing)
111008a Fix ZXing per-frame "no detection" errors treated as camera failures
6322786 Fix keyboard-loop on mobile camera failure; guard drawer behind login

Route Page (tabRoute)

The route planner loads work orders from the extraction DB, optimizes via TSP (nearest neighbor + 2-opt), and displays a Leaflet map with numbered stops. All API endpoints verified working (26 techs loaded, 6 WOs for today route test).

To test: hard-refresh the app on phone to activate SW v9, tap Route tab, select tech, tap Load Route.

Map Pins & GPS Data

Auto-checkin on scan updates both the checkins table AND the asset's latitude/longitude directly (see create_checkin() in server.py lines 1522-1534). Map loads assets via /api/assets?has_gps=true&limit=2000. Currently 21 assets with GPS in DB.

GPS coords now show in:

  • Map pin popups (lat/lng below machine ID)
  • Asset list below map (monospace coords next to 📍 indicator)
  • Toast on auto-checkin confirms "GPS saved — check the Map tab"

Card Enlargement & Prominent Location (b896a56)

  • Enlarged asset cards: padding 14→18px vertical, 12→14px horizontal. AI icon 42→48px. Name font 14→15px with 2-line wrap clamp.
  • Prominent location display: floor/building/room bumped from 11px text3 to 13px text1 (500 weight) — visually pops.
  • Card layout order: name (large/bold) → address 📍 → location (floor/building/room) → meta (machine_id, S/N, make, category, Disney park tag).
  • Prerequisite: T1 (clean_asset_names.py, commit 9fe615c) stripped addresses/floors/parks from names into structured columns so the layout works cleanly.

Task Board

11 tasks assigned to coder profile (deepseek-v4-pro):

Task Description Status
T1 Empty States & Onboarding ready
T2 Form UX Overhaul running
T3 Search & Filter UX running
T4 Fix Navigate Page ready
T5 Dashboard Fixes ready
T6 Map Page Improvements ready
T7 Reports Page UX ready
T8 Settings UI Cleanup ready
T9 Modal/Dialog System ready
T10 Navigation Consistency ready
T11 Polish & Micro-interactions todo (waits for T2, T3)

Issues Being Addressed

  • Empty states are bare across all pages
  • Add Asset form is a monolithic scroll with no inline validation
  • Search triggers API on every keystroke with no loading indicator
  • Navigate page loads wrong content (bug)
  • Dashboard shows "Active Technicians: 0" despite tech users existing
  • Map shows no asset markers despite location data
  • Reports have no quick date ranges
  • Settings has confusing Makes/Models sub-menu nav actions
  • Native prompt() used instead of custom modals
  • Navigation inconsistent between drawer and bottom bar
  • No skeleton loading states or micro-animations