Problem
Two paired tweaks to the bottom action box + table:
- Drop the bulk Payment dropdown in
recommendations.ts:mountBottomActionBox. Each row already carries
its own payment_option (set by the variant fan-out), and the
per-cell radio selection enforces one variant per cell — the global
bulk-payment dropdown is redundant and can mislead the user about
what's actually being purchased.
- Add a Payment column to the table. The data exists on every
rec (payment field) but isn't surfaced in the table — making
payment-option-by-payment-option comparison hard. The column should
be sortable and filterable like every other column.
Acceptance criteria
Problem
Two paired tweaks to the bottom action box + table:
recommendations.ts:mountBottomActionBox. Each row already carriesits own payment_option (set by the variant fan-out), and the
per-cell radio selection enforces one variant per cell — the global
bulk-payment dropdown is redundant and can mislead the user about
what's actually being purchased.
rec (
paymentfield) but isn't surfaced in the table — makingpayment-option-by-payment-option comparison hard. The column should
be sortable and filterable like every other column.
Acceptance criteria
mountBottomActionBoxno longer renders the<select id="bulk-purchase-payment">element.bulk-purchase-payment.valueare updated:resolveBucketPaymentSeed/resolvePerRecPaymentSeeduse theper-rec
payment(already do — verify).loadBulkPurchaseState/saveBulkPurchaseStatedrop thepaymentfield from the persisted toolbar state.Savings, showing the variant's payment option (
all-upfront,partial-upfront,no-upfront,monthly).state.RecommendationsColumnId, sortable, andfilterable (categorical filter — same pattern as Service /
Account).