Polish new-offer page — empty state, LOC badge, custom terms

Featurekamo-internal
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.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing