feat(price): detect quantity discounts via baseprice, show Disc. badge
GoMag sends baseprice (catalog price) alongside price (discounted). When baseprice > price, the item is volume-discounted — skip ROA price comparison and show amber "Disc." badge instead of false mismatch. Strikethrough baseprice in price column for transparency. Pipeline: parse baseprice → store in SQLite → skip in validation → pass flag to frontend → render badge (desktop + mobile pill badge with aria-label, opacity 0.6 for dark mode). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
7
TODOS.md
7
TODOS.md
@@ -27,3 +27,10 @@
|
||||
**Effort:** S (human: ~2h / CC: ~10min)
|
||||
**Context:** TIER 2 matched county+city without street, reusing VFP-era addresses with wrong streets. After removal (2026-04-06), new imports create correct addresses. Old wrong addresses stay. Could identify them by: address has id_loc but no linked order rows, and was last modified before 2026-04-06.
|
||||
**Depends on:** TIER 2 removal deployed and verified.
|
||||
|
||||
## P3: Extract match-column badge styles to CSS classes
|
||||
**What:** Replace inline styles on Kit and Disc. badges (in shared.js) with CSS classes (e.g., `.match-badge-kit`, `.match-badge-disc`).
|
||||
**Why:** Currently both badges use identical inline `style="background:var(--X-light);color:var(--X-text);font-size:10px;padding:2px 6px"`. If a 3rd badge type appears, inline styles become a maintenance burden.
|
||||
**Effort:** XS (human: ~30min / CC: ~5min)
|
||||
**Context:** Low priority. Two inline-styled badges is fine. Trigger: when a 3rd badge type is needed in the price match column.
|
||||
**Depends on:** Quantity discount feature shipped.
|
||||
|
||||
Reference in New Issue
Block a user