Full-width enterprise rewrite with live preview

Featurekamo-internal
Shipped
May 30, 2026 at 1:38 AM UTC
Author
kamo
Commit
28edb13

LoanProductForm was a single narrow column (maxWidth: 880) with hardcoded English everywhere. Now uses the same enterprise pattern as the offer page: Layout: - Full-width gradient header with breadcrumbs, back arrow, kind badge - Two-column grid (6fr/6fr) on lg+, single-column below - Form on the left, live "Product Preview" on the right Form side: - Kind selector as ToggleButtonGroup with descriptions (Installment vs LOC), not buried in a dropdown — this is the structural choice that reshapes the rest of the form, so it deserves prominence - Section blocks with icons (Basics · Pricing · Limits & Terms · Compliance) - Rates entered as %, converted to bps on the wire (no more "3600 = 36%") - All field labels via next-intl t() - Day-count tooltip explaining ACT_365 vs ACT_360 Preview side: - Hero card: kind chip, product code chip, name, headline, description - 4-tile stats grid: rate, origination, late fee, NSF fee - Limits & terms grid (kind-aware: range + frequency for installment, **************** for LOC) - Sample offer card (installment): monthly payment, total interest, total cost, sample origination at the midpoint of the principal range - Compliance chips: allowed states (cap 24 + overflow chip), autopay required + discount, promissory-note template binding - Footer note explaining how this product flows to the offer page LoanProductForm now wraps both the new and edit pages. Page wrappers pass marketTitle so the breadcrumb resolves cleanly.

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