← All tests

POS & back-office bug bundle STAGING

Narong (board item n11) — a bundle of six POS / back-office bugs. Each was located in source, reproduced live on demo.staging (Pro), fixed, and re-verified on staging. Gate-2 7/7 + staging smoke 5/5.

The six: #1 Active tab showed paid orders · #2 cart squished <1920px · #3 KHR change not dispensable · #4 redundant Create-Product popup · #5 Edit-Product off-center · #6 Edit-Register popup cropped.

(Reported #3a "cart total" was investigated and found not a bug — the order discount is a pay-dialog step and the cart is correctly pre-discount; the real calc bug was the KHR change.)

#1 — Orders "Active" tab excludes paid

"Active" was designed as ongoing + all paid; Narong reads it as open orders only. Dropped the redundant "Ongoing" tab; tabs are now Active / Paid / All, and Active shows only open/ongoing orders.

orders-filter pills: {"active":true,"ongoing":false,"paid":true,"all":true}
Orders tabs Active/Paid/All
Tab strip: Active / Paid / All — Ongoing removed.

#2 — Cart no longer squished on sub-1920 laptops

The cart column was a hard-fixed 380px at every desktop width. Now the track steps up with the viewport: 380 (md/lg) → 420 (xl, 1366/1440) → 460 (2xl).

cart width @1440: 420px  (was 380px, identical at 1920)
Cart at 1440
Register cart @1440 — wider, roomier column.

#3 — KHR change rounds to a dispensable 100 riel

Change in riel was shown to the exact riel (e.g. 1,713 KHR) — not something a cashier can hand out (KHR circulates in 100-riel notes). Now the KHR change rounds to the nearest 100, in the pay dialog and on the receipt.

$5.75 due · paid 25,000 KHR · change = 1,700 KHR  (raw 1,712.5 → was shown 1,713)
Pay dialog KHR change
Change line rounds to 1,700 KHR.

#4 — "New record" creates the product directly (no redundant popup)

The create popup asked Name / Sales Price / Category, then dropped the user on the detail page which renders the exact same fields. Odoo-style now: "New record" creates a blank draft and opens the detail form.

click "New record" → navigates to /products/<id> · popup shown: false
Product detail after New record
After: lands straight on the detail form.
Old create popup
Before: the redundant popup (now removed).

#5 — Edit-Product page left-aligned

The page used mx-auto max-w-4xl, centering the form within the sidebar-offset column so it read as shifted right — the only admin page constrained this way. Now left-aligned like the rest.

content left gutter: 280px (≈ layout padding)  (was 392px, shifted vs 152px right)
Edit product left-aligned
Form aligns with the page, consistent with the list.

#6 — Edit-Register modal scrolls instead of cropping

The register modal's card lacked max-h / overflow, so on short viewports the form was clipped with no way to scroll. Added max-h-[90vh] overflow-y-auto — the same the sibling modals already had.

modal @300px viewport: overflowY=auto · maxHeight=270px · scrollable=true
Register modal scrollable
After: content scrolls within the modal.
Register modal cropped
Before: clipped top & bottom, no scroll.

nix-cafe 017435d (nix-cafe-staging Worker, version f2caba32). Parked on staging for the scheduled prod promote.