@@ -3,22 +3,19 @@ import { Button } from '@/components/ui/button';
33import { Card , CardContent , CardDescription , CardHeader , CardTitle } from '@/components/ui/card' ;
44import { ExternalLink , Users , Gamepad2 , Leaf , DollarSign , Music , Shield , Zap } from 'lucide-react' ;
55import EcoProductCarousel from '@/components/EcoProductCarousel' ;
6-
76interface PlatformLink {
87 name : string ;
98 url ?: string ;
109 icon ?: string ;
1110 description ?: string ;
1211}
13-
1412interface ClubSection {
1513 title : string ;
1614 description : string ;
1715 platforms : PlatformLink [ ] ;
1816 color : string ;
1917 icon : React . ReactNode ;
2018}
21-
2219interface 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-
168138export default FeaturedClubCard ;
0 commit comments