2026-05-11 on prod. Closes Narong's review #2 feedback on the Reports page (NIX-OS-34) and the wide-monitor responsiveness rework (NIX-OS-56). NIX-OS-37 (map fixes) deferred this session pending a Narong sync — too much ambiguity to fix the right thing without his repro steps + design ref.
.layout-main max-width bumped 1400px→1600px (wider monitors actually use more screen rather than waste it). Container horizontal padding scales via clamp(1.5rem, 4vw, 4rem) so narrow viewports stay compact (24px floor) and ultrawide get generous breathing room (capped at 64px). Fullscreen pages (map) still bypass via the existing .layout-main-container.fullscreen overrides.228a915 (backend) — feat(NIX-OS-34): /reports/sales-overview daily series folds in
Customer Visits per day so the Sales Trend chart can plot
visits alongside actual + target revenue.
src/report/report.router.ts — new dailyVisits query joins activities by
type='visit', merged with dailyRevenue into a single dailySeries with
date / revenue / orders / visits.
8bfb12f (frontend) — feat(NIX-OS-34): rework Reports + Visit Progress widgets.
src/views/pages/reports/ReportsPage.vue
- moved Sales Trend section above Sales Progress section
- chart Customer Visits dataset (type:'bar') on yAxisID 'y1' (right axis)
src/components/dashboard/CustomerVisitTableWidget.vue
- column header "% Complete" → "Visit Progress"
- dropped Min Expected + Max Expected columns
src/components/dashboard/CustomerVisitProgressWidget.vue
- removed Expected Range tile from goal-tracking grid
44b9729 (frontend) — style(NIX-OS-56): wide-monitor responsiveness rework.
src/layout/AppLayout.vue
- .layout-main max-width 1400px → 1600px
src/assets/layout/_main.scss
- .layout-main-container padding horizontal: 1.5rem → clamp(1.5rem, 4vw, 4rem)
Pairs together: cap content readability at 1600px, scale outer padding
with viewport so wide monitors get visible breathing room rather than
empty centered space (the failure mode of the April 13 attempt).
| # | Step | Status |
|---|---|---|
| 1 | Backend reports endpoint deployed (200 + visits in shape) | pass |
| 2 | SSO login @ 1440×900 | pass |
| 3-6 | dashboard / reports / customers / orders @ 1440×900 | 4/4 |
| 7 | SSO login @ 1920×1080 | pass |
| 8-11 | dashboard / reports / customers / orders @ 1920×1080 | 4/4 |
| 12 | SSO login @ 2560×1440 | pass |
| 13-16 | dashboard / reports / customers / orders @ 2560×1440 | 4/4 |
Reports page on demo prod has no real data (no orders, no visits, no
products) — the Sales Trend chart shows "No revenue data for this
period." rather than the new Customer Visits bars. The bar series IS
plumbed end-to-end (backend dailySeries returns visits per day, frontend
chart definition has the third dataset on yAxisID 'y1'); to verify the
visual, either point this at a tenant with real activities (e.g. ephac)
or seed some visit + order data on demo.
NIX-OS-56 — the rework keeps the centered max-width-1600px content
container, which is structurally identical to the rejected April 13
1400px version with a wider cap + more generous outer padding via the
clamp(). If Narong rejects this too, the next move is probably to ditch
the max-width entirely and let content stretch to the viewport minus
the clamp padding — that's a meaningfully different layout philosophy
and worth getting his explicit nod on before another iteration.
NIX-OS-37 deferred. Three of its four bullets need Narong feedback:
- Nearby radius bug — current code at useMapFilters.js:245 already
uses mapCenter (where user is looking on the map), not GPS current
location, so his complaint may be about something else (pan-doesn't-
refilter, or radius vs bounds-intersection).
- Popup Quick Actions redesign — needs his design reference for
"similar to NIX GO UI & Google".
- Delivery indicator — Narong's own bullet says "Suspected" — needs
repro before fixing the wrong thing.
Only the mobile-back-from-Advanced-Settings nav fix is unambiguous;
saving for next pass when we can knock out all four together.