diff --git a/src/app/(authenticated)/dashboard/loans/page.tsx b/src/app/(authenticated)/dashboard/loans/page.tsx index b64959f1d..eef870a78 100644 --- a/src/app/(authenticated)/dashboard/loans/page.tsx +++ b/src/app/(authenticated)/dashboard/loans/page.tsx @@ -66,9 +66,14 @@ export default function LoansPage() { } const headerActions = ( -
+
{activeTab === 'my-loans' && myLoans.length > 0 && ( - )} @@ -90,14 +95,20 @@ export default function LoansPage() { onValueChange={v => switchTab(v as typeof activeTab)} className="space-y-6" > - - + + My Loans Mine {myLoans.length > 0 && ({myLoans.length})} - + Available Browse @@ -105,7 +116,7 @@ export default function LoansPage() { ({availableLoans.length}) )} - + My Offers Offers diff --git a/src/components/dashboard/MobileDashboardSidebar.tsx b/src/components/dashboard/MobileDashboardSidebar.tsx index 174c32e3a..bab10b123 100644 --- a/src/components/dashboard/MobileDashboardSidebar.tsx +++ b/src/components/dashboard/MobileDashboardSidebar.tsx @@ -47,13 +47,13 @@ export function MobileDashboardSidebar({ stats }: MobileDashboardSidebarProps) {

Your Impact

-
+
{totalProjects}
Projects
-
+
Raised
diff --git a/src/components/dashboard/sections/DashboardHeader.tsx b/src/components/dashboard/sections/DashboardHeader.tsx index a86fcf6c6..f90c8c9d4 100644 --- a/src/components/dashboard/sections/DashboardHeader.tsx +++ b/src/components/dashboard/sections/DashboardHeader.tsx @@ -61,9 +61,9 @@ export function DashboardHeader({ profile, totalProjects, totalDrafts }: Dashboa return (
-
-
-
+
+
+
@@ -82,14 +82,14 @@ export function DashboardHeader({ profile, totalProjects, totalDrafts }: Dashboa

-
+
{totalProjects === 0 && ( // Cat-first: instead of hardcoding project creation as the // canonical first step, route to Cat. Always visible on mobile // — header used to have no action affordance on -
+
Ask Cat
diff --git a/src/components/dashboard/sections/DashboardProjects.tsx b/src/components/dashboard/sections/DashboardProjects.tsx index 6ea53ddbe..3e29748a1 100644 --- a/src/components/dashboard/sections/DashboardProjects.tsx +++ b/src/components/dashboard/sections/DashboardProjects.tsx @@ -37,13 +37,13 @@ export function DashboardProjects({ projects }: DashboardProjectsProps) { return ( -
-
+
+
Projects Your projects
- @@ -58,14 +58,14 @@ export function DashboardProjects({ projects }: DashboardProjectsProps) { Not sure what to create? Ask Cat — it can suggest the right shape (project, wishlist, cause, service…) based on what you want to do.

-
+
- - @@ -79,15 +79,15 @@ export function DashboardProjects({ projects }: DashboardProjectsProps) { return ( -
-
+
+
Projects Your projects ({projects.length} {projects.length === 1 ? 'project' : 'projects'})
- diff --git a/src/components/dashboard/sections/DashboardQuickActions.tsx b/src/components/dashboard/sections/DashboardQuickActions.tsx index 1108e266f..35d9b6efc 100644 --- a/src/components/dashboard/sections/DashboardQuickActions.tsx +++ b/src/components/dashboard/sections/DashboardQuickActions.tsx @@ -19,24 +19,24 @@ export function DashboardQuickActions() { Common tasks -
+
- - diff --git a/src/components/entity/variants/LoanCard.tsx b/src/components/entity/variants/LoanCard.tsx index 4271fd404..ac00bd6d2 100644 --- a/src/components/entity/variants/LoanCard.tsx +++ b/src/components/entity/variants/LoanCard.tsx @@ -37,7 +37,7 @@ export function LoanCard({ loan, viewMode = 'grid' }: LoanCardProps) { return ( -
+
{/* Icon */}
@@ -52,7 +52,7 @@ export function LoanCard({ loan, viewMode = 'grid' }: LoanCardProps) {
{/* Stats */} -
+
{loan.interest_rate && ( @@ -83,22 +83,24 @@ export function LoanCard({ loan, viewMode = 'grid' }: LoanCardProps) { } progressSlot={
-
+
Remaining - + {formatAmount(loan.remaining_balance, loan.currency)}
-
+
{progress.toFixed(0)}% funded - {formatAmount(loan.original_amount, loan.currency)} total + + {formatAmount(loan.original_amount, loan.currency)} total +
} metricsSlot={ loan.interest_rate || loan.monthly_payment ? ( -
+
{loan.interest_rate && (
@@ -106,9 +108,11 @@ export function LoanCard({ loan, viewMode = 'grid' }: LoanCardProps) {
)} {loan.monthly_payment && ( -
+
- {formatAmount(loan.monthly_payment, loan.currency)}/mo + + {formatAmount(loan.monthly_payment, loan.currency)}/mo +
)}
diff --git a/src/components/loans/sections/CollateralSection.tsx b/src/components/loans/sections/CollateralSection.tsx index 696afa79b..8cd2b955a 100644 --- a/src/components/loans/sections/CollateralSection.tsx +++ b/src/components/loans/sections/CollateralSection.tsx @@ -97,7 +97,7 @@ export function CollateralSection({ ))} {/* Create Asset Option */} - ➕ Create New Asset + Create New Asset @@ -106,7 +106,7 @@ export function CollateralSection({ )}
-
+
Pledged Value Current loan information -
+
-
+
Control how your loan appears to potential offerers -
-
+
+
Public Listing Allow anyone to see and offer on your loan
@@ -61,8 +61,8 @@ export function PreferencesSection({ control }: PreferencesSectionProps) { />
-
-
+
+
Negotiable Terms Allow offerers to propose different terms
diff --git a/src/components/public/PublicEntityDetailPage.tsx b/src/components/public/PublicEntityDetailPage.tsx index 8b7aa454f..d081d9314 100644 --- a/src/components/public/PublicEntityDetailPage.tsx +++ b/src/components/public/PublicEntityDetailPage.tsx @@ -307,17 +307,19 @@ export default async function PublicEntityDetailPage({ className="mb-4" />
-
+
{config.renderHeaderIcon?.(entity) ?? (
- +
)} -
-

{entity.title}

-
+
+

+ {entity.title} +

+
{entity.status && ( {entity.status} @@ -444,7 +446,7 @@ function StickyBar({ href, label }: { href: string; label: string }) { // to the page wrapper) reserves matching scroll-bottom room. return (
-
+
Remaining Balance - + {formatCurrency( entity.remaining_balance, entity.currency ?? PLATFORM_DEFAULT_CURRENCY @@ -59,9 +59,9 @@ export const loanDetailConfig: EntityDetailConfig = {
-
+
{progress.toFixed(1)}% funded - + Original:{' '} {formatCurrency( entity.original_amount, @@ -78,7 +78,9 @@ export const loanDetailConfig: EntityDetailConfig = { Interest Rate
-
{entity.interest_rate}% APR
+
+ {entity.interest_rate}% APR +
)} {entity.monthly_payment && ( @@ -87,7 +89,7 @@ export const loanDetailConfig: EntityDetailConfig = { Monthly Payment
-
+
{formatCurrency( entity.monthly_payment, entity.currency ?? PLATFORM_DEFAULT_CURRENCY @@ -98,9 +100,9 @@ export const loanDetailConfig: EntityDetailConfig = {
{entity.lender_name && ( -
- - Current Lender: {entity.lender_name} +
+ + Current Lender: {entity.lender_name}
)} @@ -126,20 +128,20 @@ export const loanDetailConfig: EntityDetailConfig = { Quick Stats -
+
Loan Type {entity.loan_category_id || 'General'}
-
+
Negotiable {entity.is_negotiable ? 'Yes' : 'No'}
{entity.minimum_offer_amount && ( -
+
Min Offer - + {formatCurrency( entity.minimum_offer_amount, entity.currency ?? PLATFORM_DEFAULT_CURRENCY @@ -147,9 +149,11 @@ export const loanDetailConfig: EntityDetailConfig = {
)} -
+
Contact Method - {entity.contact_method || 'Platform'} + + {entity.contact_method || 'Platform'} +