@@ -83,74 +83,77 @@ const FeaturedClubCard = ({ club }: { club: FeaturedClubProps }) => {
8383 < div className = "absolute inset-0 bg-gradient-to-b from-transparent via-alien-space-dark/60 to-alien-space-dark/90 z-0" > </ div >
8484
8585 < div className = "relative z-10" >
86- { /* Header */ }
87- < div className = "flex justify-between items-start mb-6" >
88- < 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" >
89- { club . icon }
90- </ div >
91- < span className = { `px-3 py-1 text-xs ${ club . categoryColor } rounded-full font-medium backdrop-blur-sm` } >
92- { club . category }
93- </ span >
94- </ div >
86+ < div className = "flex flex-row gap-6 items-stretch" >
87+ { /* Left sidebar with icon, meta and actions */ }
88+ < aside className = "w-60 min-w-[15rem] bg-alien-space-dark/60 border border-alien-gold/20 rounded-lg p-4 backdrop-blur-sm flex flex-col justify-between" >
89+ < div >
90+ < div className = "p-4 bg-alien-space-dark/80 rounded-xl border border-alien-gold/30 group-hover:border-alien-gold/50 transition-all duration-300 inline-block" >
91+ { club . icon }
92+ </ div >
93+ < span className = { `mt-3 inline-block px-3 py-1 text-xs ${ club . categoryColor } rounded-full font-medium backdrop-blur-sm` } >
94+ { club . category }
95+ </ span >
96+ < h3 className = "mt-4 text-xl font-bold text-alien-gold font-nasalization group-hover:text-alien-gold-light transition-colors" >
97+ { club . name }
98+ </ h3 >
99+ < p className = "text-gray-200 mt-2 text-sm font-[Exo] leading-relaxed" >
100+ { club . description }
101+ </ p >
102+ </ div >
103+ < div className = "mt-4" >
104+ < div className = "flex items-center bg-alien-space-dark/60 px-3 py-2 rounded-full backdrop-blur-sm mb-3" >
105+ < Users className = "h-4 w-4 text-alien-green mr-2" />
106+ < span className = "text-sm text-alien-green font-medium" >
107+ { club . members . toLocaleString ( ) } members
108+ </ span >
109+ </ div >
110+ < Button
111+ variant = "outline"
112+ className = "w-full 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"
113+ >
114+ Join Club
115+ </ Button >
116+ </ div >
117+ </ aside >
95118
96- < h3 className = "text-xl font-bold text-alien-gold mb-3 font-nasalization group-hover:text-alien-gold-light transition-colors" >
97- { club . name }
98- </ h3 >
99- < p className = "text-gray-200 mb-6 text-sm font-[Exo] leading-relaxed" >
100- { club . description }
101- </ p >
119+ { /* Right content with sections */ }
120+ < div className = "flex-1" >
121+ < div className = "grid grid-cols-1 md:grid-cols-2 gap-4" >
122+ { club . sections . map ( ( section , index ) => (
123+ < div key = { index } className = "bg-alien-space-dark/60 border border-alien-gold/20 backdrop-blur-sm rounded-lg p-4" >
124+ < div className = "flex items-center text-alien-gold text-sm font-nasalization mb-3" >
125+ { section . icon }
126+ < span className = "ml-2" > { section . title } </ span >
127+ </ div >
128+ < p className = "text-xs text-gray-300 font-[Exo] mb-4" > { section . description } </ p >
102129
103- { /* Sections - Horizontal Grid Layout */ }
104- < div className = "grid grid-cols-1 lg:grid-cols-2 gap-4 mb-6" >
105- { club . sections . map ( ( section , index ) => (
106- < div key = { index } className = "bg-alien-space-dark/60 border border-alien-gold/20 backdrop-blur-sm rounded-lg p-4" >
107- < div className = "flex items-center text-alien-gold text-sm font-nasalization mb-3" >
108- { section . icon }
109- < span className = "ml-2" > { section . title } </ span >
110- </ div >
111- < p className = "text-xs text-gray-300 font-[Exo] mb-4" > { section . description } </ p >
112-
113- { /* Special handling for EcoFlow product carousel */ }
114- { club . name === 'Δ EcoFlow' && section . title === 'Eco Products Catalog' ? (
115- < div className = "mt-4" >
116- < EcoProductCarousel />
117- </ div >
118- ) : (
119- < div className = "grid grid-cols-2 gap-2" >
120- { section . platforms . sort ( ( a , b ) => a . name . localeCompare ( b . name ) ) . map ( ( platform , pIndex ) => (
121- < Button
122- key = { pIndex }
123- variant = "ghost"
124- size = "sm"
125- className = { `${ section . color } text-white hover:bg-white/20 text-xs h-8 justify-start font-[Exo] w-full` }
126- onClick = { ( ) => platform . url && window . open ( platform . url , '_blank' ) }
127- disabled = { ! platform . url }
128- >
129- { platform . icon && < img src = { platform . icon } alt = { platform . name } className = "h-3 w-3 mr-1 flex-shrink-0" /> }
130- { ! platform . icon && < ExternalLink className = "h-3 w-3 mr-1 flex-shrink-0" /> }
131- < span className = "truncate" > { platform . name } </ span >
132- </ Button >
133- ) ) }
130+ { /* Special handling for EcoFlow product carousel */ }
131+ { club . name === 'Δ EcoFlow' && section . title === 'Eco Products Catalog' ? (
132+ < div className = "mt-4" >
133+ < EcoProductCarousel />
134+ </ div >
135+ ) : (
136+ < div className = "grid grid-cols-2 gap-2" >
137+ { section . platforms . sort ( ( a , b ) => a . name . localeCompare ( b . name ) ) . map ( ( platform , pIndex ) => (
138+ < Button
139+ key = { pIndex }
140+ variant = "ghost"
141+ size = "sm"
142+ className = { `${ section . color } text-white hover:bg-white/20 text-xs h-8 justify-start font-[Exo] w-full` }
143+ onClick = { ( ) => platform . url && window . open ( platform . url , '_blank' ) }
144+ disabled = { ! platform . url }
145+ >
146+ { platform . icon && < img src = { platform . icon } alt = { platform . name } className = "h-3 w-3 mr-1 flex-shrink-0" /> }
147+ { ! platform . icon && < ExternalLink className = "h-3 w-3 mr-1 flex-shrink-0" /> }
148+ < span className = "truncate" > { platform . name } </ span >
149+ </ Button >
150+ ) ) }
151+ </ div >
152+ ) }
134153 </ div >
135- ) }
154+ ) ) }
136155 </ div >
137- ) ) }
138- </ div >
139-
140- { /* Footer */ }
141- < div className = "flex justify-between items-center" >
142- < div className = "flex items-center bg-alien-space-dark/60 px-3 py-2 rounded-full backdrop-blur-sm" >
143- < Users className = "h-4 w-4 text-alien-green mr-2" />
144- < span className = "text-sm text-alien-green font-medium" >
145- { club . members . toLocaleString ( ) } members
146- </ span >
147156 </ div >
148- < Button
149- variant = "outline"
150- 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"
151- >
152- Join Club
153- </ Button >
154157 </ div >
155158 </ div >
156159 </ div >
0 commit comments