Skip to content

Commit 0e9df8f

Browse files
fix(web): fix lucide icon serialization error in Features page
1 parent 8c4b6c4 commit 0e9df8f

4 files changed

Lines changed: 14 additions & 12 deletions

File tree

apps/web/app/features/page.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,37 @@ const featureList = [
1212
{
1313
title: 'Smart Expense Splitting',
1414
description: 'Split equally, by exact amounts, or percentages. Our engine handles the math so you don\'t have to.',
15-
icon: Zap,
15+
iconName: 'Zap' as const,
1616
colorClass: 'shadow-yellow-500/20',
1717
},
1818
{
1919
title: 'Groups Everywhere',
2020
description: 'Manage trips, roommates, and teams in dedicated spaces. Perfect for any shared living or travel situation.',
21-
icon: Users,
21+
iconName: 'Users' as const,
2222
colorClass: 'shadow-cyan-500/20',
2323
},
2424
{
2525
title: 'Real-Time Sync',
2626
description: 'Balances update instantly across all devices. No more "I thought I paid that" conversations.',
27-
icon: RefreshCw,
27+
iconName: 'RefreshCw' as const,
2828
colorClass: 'shadow-purple-500/20',
2929
},
3030
{
3131
title: 'Receipt Uploads',
3232
description: 'Attach receipts to expenses for proof. Cloud-based storage ensures you never lose a paper trail.',
33-
icon: Shield,
33+
iconName: 'Shield' as const,
3434
colorClass: 'shadow-pink-500/20',
3535
},
3636
{
3737
title: 'Debt Simplification',
3838
description: 'Reduce multiple payments into a single efficient settlement. We find the shortest path to zero.',
39-
icon: Layers,
39+
iconName: 'Layers' as const,
4040
colorClass: 'shadow-green-500/20',
4141
},
4242
{
4343
title: 'Realtime Updates',
4444
description: 'Socket events update group activity instantly. Get notified the second an expense is added.',
45-
icon: Activity,
45+
iconName: 'Activity' as const,
4646
colorClass: 'shadow-orange-500/20',
4747
},
4848
];

apps/web/app/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ export default function HomePage() {
116116
</section>
117117

118118
{/* Stats Section */}
119-
<SectionContainer className="stats-section border-y border-white/5 bg-white/[0.02]">
119+
{/* <SectionContainer className="stats-section border-y border-white/5 bg-white/[0.02]">
120120
<div className="grid gap-12 md:grid-cols-3">
121121
{stats.map((stat) => (
122122
<div key={stat.label} className="stat-card text-center group">
@@ -132,7 +132,7 @@ export default function HomePage() {
132132
</div>
133133
))}
134134
</div>
135-
</SectionContainer>
135+
</SectionContainer> */}
136136

137137
{/* Features Grid */}
138138
<SectionContainer id="features">

apps/web/components/marketing/FeatureCard.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
'use client';
22

3-
import { LucideIcon } from 'lucide-react';
3+
import * as Icons from 'lucide-react';
44

55
interface FeatureCardProps {
66
title: string;
77
description: string;
8-
icon: LucideIcon;
8+
iconName: keyof typeof Icons;
99
colorClass: string;
1010
index: number;
1111
}
1212

13-
export const FeatureCard = ({ title, description, icon: Icon, colorClass }: FeatureCardProps) => {
13+
export const FeatureCard = ({ title, description, iconName, colorClass }: FeatureCardProps) => {
14+
const Icon = (Icons[iconName] as Icons.LucideIcon) || Icons.HelpCircle;
15+
1416
return (
1517
<div className="glass-card p-10 group hover:bg-zinc-900/80">
1618
<div className={`mb-8 flex h-16 w-16 items-center justify-center rounded-2xl border border-white/10 p-3 shadow-lg ${colorClass} bg-black/40 group-hover:scale-110 transition-transform duration-500`}>

apps/web/tsconfig.tsbuildinfo

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)