- Shipped
- May 29, 2026 at 9:27 PM UTC
- Author
- kamo
- Commit
- f974060
Three UX gaps the offer page had after the prior refactor: 1. Empty state. When a market has no Loan Products yet, the dropdown used to silently render empty and the operator had no idea what to do. Now replaced with a hero empty state (icon, headline, primer on Installment vs LOC, and a "Create Loan Product" CTA routed to the products/new flow). 2. LOC vs Installment isn't visible upfront — both appear identically in the product dropdown. Added a colored chip (LOC = blue + repeat icon, Installment = green + wallet icon) rendered both in the selected value and inside each dropdown option, plus product description in the option. 3. The "Locked terms" block was confusingly named — it implied unchangeable without any way to override. Added a collapsible "Custom terms" panel that exposes per-offer overrides for interest rate, disclosed APR, and origination fee (relationship pricing, hardship workouts, promotional pricing). When set, the locked-terms card visually strikes through the product value and shows the override (e.g. 14.99% → 11.99%) so the operator sees exactly what'll be issued. Backend support pushed in KamoLOS 0e80393; types extended in losApi.ts so the override fields flow through createOfferDraft.