- Shipped
- May 28, 2026 at 8:09 PM UTC
- Author
- kamo
- Commit
- 12eaf88
- engagementTypeLabels: extend EngagementType union + vocabulary - MarketCardGrid: PERSONAL_LOANS color (#14b8a6) + Landmark icon + counter - Market detail page: new tabs (Loan Products / Offers / Active Loans / State Rules) gated on commerceType === 'PERSONAL_LOANS' - losApi.ts: full DTO surface + thin fetch wrapper hitting /api/los/* for products, offers, loans, payments, draws, statements, payment methods, auto-pay, state rules, ESign signature submission - New MarketLoanProductsTab / MarketLoanOffersTab / MarketActiveLoansTab / MarketLoanStateRulesTab components - PipelineView: VERTICAL_ICONS entry for personal_loans - PipelineVerticalSection: PERSONAL_LOANS in hasSubTabs + render block routes Offers (intents) + Active Loans (commitments) sub-tabs - New PipelineLoanOffersTab / PipelineActiveLoansTab - Borrower (Member) /loans surface: index, /loans/offers/[offerId] with accept-and-sign flow (typed signature → ESign submission → accept-offer), /loans/[loanId] with balance, statements, payment history, Pay Now, draws-for-LOC - settings/page.tsx: commerce nav adds "Loan Products" entry