← All tests

BOGO promotion card redesign (prod)

Narong (2026-06-11): the “Apply Promotion” button was a bit flat — he shared mockups of a richer call-out. The Buy 1 Get 1 Free money logic is unchanged; this is presentation only. Captured on lumiere (Starter) — the shared POS shell means Pro gets it too.

Gate 2 9/9 passed + 51/51 regression. nix-cafe f49d8f8, no migration. The flat ghost button becomes a two-state card: an amber “Promotion Available” call-out with an Apply Promo CTA, and a green “Promotion Applied” card showing the saved amount. Each freed line now shows a green “✓ APPLIED” chip and a bold FREE price with the original struck through.
Eligibility — “some items have promotions, some don’t” (Narong). Eligibility is by category (e.g. drinks yes, food no): a mixed cart frees only the eligible drinks while the sandwich stays full price. Per Narong’s call the card is always shown when the shop has an active promotion — it never hides on a mixed cart. When an Apply can’t free anything it now explains why instead of doing nothing silently: “Add one more eligible item to get one free” (a lone eligible item) or “No eligible items in this order” (nothing qualifies).
Amber 'Promotion Available' card with Apply Promo button
1 — Available: Americano ($3.00) + Espresso ($2.50) in the cart. The amber card offers “Apply Promo” — not yet applied. Click to zoom.
Green 'Promotion Applied' card; Espresso line shows FREE and a APPLIED chip
2 — Applied: the cheaper line (Espresso) is freed — bold FREE, original $2.50 struck through, green “✓ APPLIED” chip. The green card reads “You saved $2.50” with a Remove Promo button, and a “✓ … applied” line sits under the Total.
After Remove Promo, back to the amber available card
3 — Remove Promo returns the cart to the amber available state; the FREE label and APPLIED chip are gone, full prices restored.
Single eligible item: notice 'Add one more eligible item to get one free'
4 — A single eligible item can’t pair, so Apply shows “Add one more eligible item to get one free” — the card stays visible (always-on), nothing is charged as free.