Skip to content

Commit 355b25c

Browse files
Visual edit in Lovable
1 parent eef92f5 commit 355b25c

File tree

2 files changed

+447
-443
lines changed

2 files changed

+447
-443
lines changed

src/components/FeaturedClubCard.tsx

Lines changed: 20 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,19 @@ import { Button } from '@/components/ui/button';
33
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
44
import { ExternalLink, Users, Gamepad2, Leaf, DollarSign, Music, Shield, Zap } from 'lucide-react';
55
import EcoProductCarousel from '@/components/EcoProductCarousel';
6-
76
interface PlatformLink {
87
name: string;
98
url?: string;
109
icon?: string;
1110
description?: string;
1211
}
13-
1412
interface ClubSection {
1513
title: string;
1614
description: string;
1715
platforms: PlatformLink[];
1816
color: string;
1917
icon: React.ReactNode;
2018
}
21-
2219
interface FeaturedClubProps {
2320
name: string;
2421
description: string;
@@ -29,24 +26,22 @@ interface FeaturedClubProps {
2926
bgColor: string;
3027
sections?: ClubSection[];
3128
}
32-
33-
const FeaturedClubCard = ({ club }: { club: FeaturedClubProps }) => {
29+
const FeaturedClubCard = ({
30+
club
31+
}: {
32+
club: FeaturedClubProps;
33+
}) => {
3434
if (!club.sections) {
3535
// Render simple card for clubs without sections
36-
return (
37-
<div
38-
className={`${club.bgColor} p-6 rounded-xl backdrop-blur-md overflow-hidden relative group hover:transform hover:scale-[1.02] transition-all duration-300 border border-alien-gold/20 hover:border-alien-gold/40`}
39-
>
36+
return <div className={`${club.bgColor} p-6 rounded-xl backdrop-blur-md overflow-hidden relative group hover:transform hover:scale-[1.02] transition-all duration-300 border border-alien-gold/20 hover:border-alien-gold/40`}>
4037
<div className="absolute inset-0 bg-gradient-to-b from-transparent via-alien-space-dark/60 to-alien-space-dark/90 z-0"></div>
4138

4239
<div className="relative z-10">
4340
<div className="flex justify-between items-start mb-6">
4441
<div className="p-4 bg-alien-space-dark/80 rounded-xl backdrop-blur-md border border-alien-gold/30 group-hover:border-alien-gold/50 transition-all duration-300">
4542
{club.icon}
4643
</div>
47-
<span
48-
className={`px-3 py-1 text-xs ${club.categoryColor} rounded-full font-medium backdrop-blur-sm`}
49-
>
44+
<span className={`px-3 py-1 text-xs ${club.categoryColor} rounded-full font-medium backdrop-blur-sm`}>
5045
{club.category}
5146
</span>
5247
</div>
@@ -65,21 +60,16 @@ const FeaturedClubCard = ({ club }: { club: FeaturedClubProps }) => {
6560
{club.members.toLocaleString()} members
6661
</span>
6762
</div>
68-
<Button
69-
variant="outline"
70-
className="border-alien-gold/50 text-alien-gold hover:bg-alien-gold/20 hover:border-alien-gold text-sm px-4 py-2 h-auto font-[Exo] font-medium backdrop-blur-sm"
71-
>
63+
<Button variant="outline" className="border-alien-gold/50 text-alien-gold hover:bg-alien-gold/20 hover:border-alien-gold text-sm px-4 py-2 h-auto font-[Exo] font-medium backdrop-blur-sm">
7264
Join Club
7365
</Button>
7466
</div>
7567
</div>
76-
</div>
77-
);
68+
</div>;
7869
}
7970

8071
// Render advanced card with sections - all horizontal layout
81-
return (
82-
<div className={`${club.bgColor} p-6 lg:p-8 rounded-xl backdrop-blur-md overflow-hidden relative group transition-all duration-300 border border-alien-gold/20 hover:border-alien-gold/40`}>
72+
return <div className={`${club.bgColor} p-6 lg:p-8 rounded-xl backdrop-blur-md overflow-hidden relative group transition-all duration-300 border border-alien-gold/20 hover:border-alien-gold/40`}>
8373
<div className="absolute inset-0 bg-gradient-to-b from-transparent via-alien-space-dark/60 to-alien-space-dark/90 z-0"></div>
8474

8575
<div className="relative z-10">
@@ -93,7 +83,7 @@ const FeaturedClubCard = ({ club }: { club: FeaturedClubProps }) => {
9383
</div>
9484
<div className="flex-1 min-w-0">
9585
<div className="flex items-center gap-3 mb-3">
96-
<h3 className="text-xl lg:text-2xl font-bold text-alien-gold font-nasalization group-hover:text-alien-gold-light transition-colors">
86+
<h3 className="text-xl lg:text-2xl font-bold font-nasalization group-hover:text-alien-gold-light transition-colors text-alien-green">
9787
{club.name}
9888
</h3>
9989
<span className={`px-3 py-1 text-xs ${club.categoryColor} rounded-full font-medium backdrop-blur-sm flex-shrink-0`}>
@@ -115,54 +105,34 @@ const FeaturedClubCard = ({ club }: { club: FeaturedClubProps }) => {
115105
{club.members.toLocaleString()} members
116106
</span>
117107
</div>
118-
<Button
119-
variant="outline"
120-
className="border-alien-gold/50 text-alien-gold hover:bg-alien-gold/20 hover:border-alien-gold text-sm px-6 py-2 h-auto font-[Exo] font-medium backdrop-blur-sm whitespace-nowrap"
121-
>
108+
<Button variant="outline" className="border-alien-gold/50 text-alien-gold hover:bg-alien-gold/20 hover:border-alien-gold text-sm px-6 py-2 h-auto font-[Exo] font-medium backdrop-blur-sm whitespace-nowrap">
122109
Join Club
123110
</Button>
124111
</div>
125112
</div>
126113

127114
{/* Sections - vertical stack with horizontal layout */}
128115
<div className="space-y-6">
129-
{club.sections.map((section, index) => (
130-
<div key={index} className="bg-alien-space-dark/60 border border-alien-gold/20 backdrop-blur-sm rounded-lg p-5 hover:border-alien-gold/40 transition-all duration-300">
116+
{club.sections.map((section, index) => <div key={index} className="bg-alien-space-dark/60 border border-alien-gold/20 backdrop-blur-sm rounded-lg p-5 hover:border-alien-gold/40 transition-all duration-300">
131117
<div className="flex items-center text-alien-gold text-sm font-nasalization mb-3">
132118
{section.icon}
133119
<span className="ml-2">{section.title}</span>
134120
</div>
135121
<p className="text-sm text-gray-300 font-[Exo] mb-4">{section.description}</p>
136122

137123
{/* Special handling for EcoFlow product carousel */}
138-
{club.name === 'Δ EcoFlow' && section.title === 'Eco Products Catalog' ? (
139-
<div className="mt-4">
124+
{club.name === 'Δ EcoFlow' && section.title === 'Eco Products Catalog' ? <div className="mt-4">
140125
<EcoProductCarousel />
141-
</div>
142-
) : (
143-
<div className="flex flex-wrap gap-2">
144-
{section.platforms.sort((a, b) => a.name.localeCompare(b.name)).map((platform, pIndex) => (
145-
<Button
146-
key={pIndex}
147-
variant="ghost"
148-
size="sm"
149-
className={`${section.color} text-white hover:bg-white/20 text-xs h-auto py-2 justify-start font-[Exo]`}
150-
onClick={() => platform.url && window.open(platform.url, '_blank')}
151-
disabled={!platform.url}
152-
>
126+
</div> : <div className="flex flex-wrap gap-2">
127+
{section.platforms.sort((a, b) => a.name.localeCompare(b.name)).map((platform, pIndex) => <Button key={pIndex} variant="ghost" size="sm" className={`${section.color} text-white hover:bg-white/20 text-xs h-auto py-2 justify-start font-[Exo]`} onClick={() => platform.url && window.open(platform.url, '_blank')} disabled={!platform.url}>
153128
{platform.icon && <img src={platform.icon} alt={platform.name} className="h-4 w-4 mr-2 flex-shrink-0 rounded" />}
154129
{!platform.icon && <ExternalLink className="h-4 w-4 mr-2 flex-shrink-0" />}
155130
<span className="truncate text-left">{platform.name}</span>
156-
</Button>
157-
))}
158-
</div>
159-
)}
160-
</div>
161-
))}
131+
</Button>)}
132+
</div>}
133+
</div>)}
162134
</div>
163135
</div>
164-
</div>
165-
);
136+
</div>;
166137
};
167-
168138
export default FeaturedClubCard;

0 commit comments

Comments
 (0)