11import React from 'react' ;
2- import { motion } from "framer-motion" ;
32import StarBackground from '@/components/StarBackground' ;
43import Header from '@/components/Header' ;
54import Footer from '@/components/Footer' ;
@@ -17,13 +16,7 @@ type ClubProps = {
1716} ;
1817
1918const ClubCard = ( { club } : { club : ClubProps } ) => (
20- < motion . div
21- initial = { { opacity : 0 , scale : 0.9 } }
22- whileInView = { { opacity : 1 , scale : 1 } }
23- transition = { { duration : 0.6 } }
24- viewport = { { once : true } }
25- 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` }
26- >
19+ < 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` } >
2720 < div className = "absolute inset-0 bg-gradient-to-b from-transparent via-alien-space-dark/60 to-alien-space-dark/90 z-0" > </ div >
2821
2922 < div className = "relative z-10" >
@@ -49,7 +42,7 @@ const ClubCard = ({ club }: { club: ClubProps }) => (
4942 </ Button >
5043 </ div >
5144 </ div >
52- </ motion . div >
45+ </ div >
5346) ;
5447
5548const Clubs : React . FC = ( ) => {
@@ -172,215 +165,148 @@ const Clubs: React.FC = () => {
172165 ] ;
173166
174167 return (
175- < div className = "w-full flex-col flex justify-center items-center bg-cover bg-center relative" >
176- { /* Fixed Background Image */ }
177- < img
178- src = "/lovable-uploads/ClubLogo.png"
179- alt = ""
180- className = "fixed top-0 -z-1 w-full h-full object-cover mt-20"
181- />
182-
168+ < div className = "min-h-screen bg-alien-space relative" >
183169 < StarBackground />
184170
171+ { /* Cosmic background image */ }
172+ < div
173+ className = "fixed inset-0 pointer-events-none"
174+ style = { {
175+ backgroundImage : `url('/lovable-uploads/630f07a8-9ff5-4bd8-9881-91336cfaf826.png')` ,
176+ backgroundSize : 'cover' ,
177+ backgroundPosition : 'center' ,
178+ backgroundRepeat : 'no-repeat' ,
179+ opacity : 0.12 ,
180+ zIndex : - 25
181+ } }
182+ />
183+
185184 { /* Overlay for better readability */ }
186185 < div
187186 className = "fixed inset-0 pointer-events-none bg-black/50 backdrop-blur-[0.5px]"
188187 style = { { zIndex : - 20 } }
189188 />
190189
191190 < Header />
192-
193- < div className = "max-w-7xl w-full flex flex-col justify-center md:items-start items-center gap-12 mt-40 px-4 relative z-10" >
194- < motion . h1
195- className = "font-[Titles] lg:text-[69px] md:text-[55px] text-[50px] text-[#B9954F] uppercase font-nasalization"
196- initial = { { opacity : 0 , x : - 100 } }
197- whileInView = { { opacity : 1 , x : 0 } }
198- transition = { { duration : 0.8 } }
199- viewport = { { once : true } }
200- >
201- Clubs
202- </ motion . h1 >
203-
204- < motion . span
205- className = "md:w-[50%] w-full font-[Titles] md:text-[20px] text-[15px] text-[#B9954F] font-thin md:text-start text-center font-[Exo]"
206- initial = { { opacity : 0 , x : - 100 } }
207- whileInView = { { opacity : 1 , x : 0 } }
208- transition = { { duration : 0.8 } }
209- viewport = { { once : true } }
210- >
211- Enjoy the Advantages: Benefit from exclusive, fully customizable and sustainable orders Airdrops, Events, Jewelry, Textiles, Tournaments, trips
212- </ motion . span >
213-
214- < motion . button
215- className = "md:w-[50%] cursor-pointer w-full font-[Titles] md:text-[30px] text-[18px] text-[#ECDD91] py-3 bg-[#329415] rounded-full shadow-[inset_4px_4px_4px_0px_rgba(255,255,255,0.5),7px_7px_20px_0px_rgba(1,0,0,0.1),4px_4px_5px_0px_rgba(0,0,0,0.1)] font-[Exo]"
216- initial = { { opacity : 0 , x : - 100 } }
217- whileInView = { { opacity : 1 , x : 0 } }
218- transition = { { duration : 0.8 } }
219- viewport = { { once : true } }
220- >
221- Contact
222- </ motion . button >
223-
224- { /* Featured Clubs */ }
225- < div className = "w-full mb-16" >
226- < motion . h2
227- initial = { { opacity : 0 , y : 30 } }
228- whileInView = { { opacity : 1 , y : 0 } }
229- transition = { { duration : 0.8 } }
230- viewport = { { once : true } }
231- className = "text-3xl font-bold text-alien-gold mb-8 font-nasalization text-center text-glow"
232- >
233- Featured Clubs
234- </ motion . h2 >
235- < div className = "grid grid-cols-1 md:grid-cols-3 gap-8" >
236- { featuredClubs . map ( ( club , index ) => (
237- < ClubCard key = { index } club = { club } />
238- ) ) }
191+ < main className = "container mx-auto px-4 pt-28 pb-16 relative z-10" >
192+ < div className = "max-w-6xl mx-auto" >
193+ < div className = "text-center mb-16" >
194+ < div className = "inline-flex items-center justify-center w-20 h-20 bg-alien-gold/20 rounded-full mb-6 border-2 border-alien-gold/40 backdrop-blur-md" >
195+ < img
196+ src = "/lovable-uploads/ClubLogo.png"
197+ alt = "Clubs Official Logo"
198+ className = "h-12 w-12 object-contain"
199+ />
200+ </ div >
201+ < h1 className = "text-4xl md:text-5xl font-bold text-alien-gold mb-6 font-nasalization text-glow" > Clubs</ h1 >
202+ < p className = "text-xl text-gray-300 max-w-3xl mx-auto font-[Exo] leading-relaxed" >
203+ Join specialized communities within the AlienFlowSpace ecosystem to connect with like-minded individuals across the multiverse.
204+ </ p >
239205 </ div >
240- </ div >
241206
242- { /* Club Activity */ }
243- < div className = "grid grid-cols-1 lg:grid-cols-3 gap-8 mb-16 w-full" >
244- < div className = "lg:col-span-2" >
245- < motion . h2
246- initial = { { opacity : 0 , y : 30 } }
247- whileInView = { { opacity : 1 , y : 0 } }
248- transition = { { duration : 0.8 } }
249- viewport = { { once : true } }
250- className = "text-3xl font-bold text-alien-gold mb-8 font-nasalization text-glow"
251- >
252- All Clubs
253- </ motion . h2 >
254- < div className = "grid grid-cols-1 sm:grid-cols-2 gap-6" >
255- { allClubs . map ( ( club , index ) => (
256- < ClubCard key = { `all-${ index } ` } club = { club } />
207+ { /* Featured Clubs */ }
208+ < div className = "mb-16" >
209+ < h2 className = "text-3xl font-bold text-alien-gold mb-8 font-nasalization text-center text-glow" > Featured Clubs</ h2 >
210+ < div className = "grid grid-cols-1 md:grid-cols-3 gap-8" >
211+ { featuredClubs . map ( ( club , index ) => (
212+ < ClubCard key = { index } club = { club } />
257213 ) ) }
258214 </ div >
259215 </ div >
260-
261- < div className = "space-y-8" >
262- < motion . div
263- initial = { { opacity : 0 , x : 50 } }
264- whileInView = { { opacity : 1 , x : 0 } }
265- transition = { { duration : 0.8 } }
266- viewport = { { once : true } }
267- >
268- < h2 className = "text-2xl font-bold text-alien-gold mb-6 font-nasalization" > Upcoming Events </ h2 >
269- < div className = "space-y-4" >
270- { upcomingEvents . map ( ( event , index ) => (
271- < motion . div
272- key = { index }
273- initial = { { opacity : 0 , y : 20 } }
274- whileInView = { { opacity : 1 , y : 0 } }
275- transition = { { duration : 0.6 , delay : index * 0.1 } }
276- viewport = { { once : true } }
277- className = "bg-alien-space-dark/80 p-6 rounded-xl backdrop-blur-md border border-alien-gold/30 hover:border-alien-gold/50 transition-all duration-300"
278- >
279- < div className = "flex items-start gap-4 " >
280- < div className = "p-3 bg-alien-space-light/60 rounded-full border border- alien-gold/30" >
281- < Calendar className = "h-5 w-5 text-alien-gold" / >
282- </ div >
283- < div className = "flex-1" >
284- < h4 className = "font-semibold text-alien-gold font-[Exo] mb-1 " > { event . title } </ h4 >
285- < p className = "text-sm text-gray-300 font-[Exo] mb-2" > { event . club } </ p >
286- < div className = "flex items-center text-xs text-alien-green" >
287- < Calendar className = "h-3 w-3 mr-1" / >
288- < span > { event . date } · { event . time } </ span >
216+
217+ { /* Club Activity */ }
218+ < div className = "grid grid-cols-1 lg:grid-cols-3 gap-8 mb-16" >
219+ < div className = "lg:col-span-2" >
220+ < h2 className = "text-3xl font-bold text-alien-gold mb-8 font-nasalization text-glow" > All Clubs </ h2 >
221+ < div className = "grid grid-cols-1 sm:grid-cols-2 gap-6" >
222+ { allClubs . map ( ( club , index ) => (
223+ < ClubCard key = { `all- ${ index } ` } club = { club } / >
224+ ) ) }
225+ </ div >
226+ </ div >
227+
228+ < div className = "space-y-8" >
229+ < div >
230+ < h2 className = "text-2xl font-bold text-alien-gold mb-6 font-nasalization" > Upcoming Events </ h2 >
231+ < div className = "space-y-4" >
232+ { upcomingEvents . map ( ( event , index ) => (
233+ < div key = { index } className = "bg-alien-space-dark/80 p-6 rounded-xl backdrop-blur-md border border-alien-gold/30 hover:border-alien-gold/50 transition-all duration-300" >
234+ < div className = "flex items-start gap-4" >
235+ < div className = "p-3 bg-alien-space-light/60 rounded-full border border-alien-gold/30 " >
236+ < Calendar className = "h-5 w-5 text- alien-gold" / >
237+ </ div >
238+ < div className = "flex-1" >
239+ < h4 className = "font-semibold text-alien-gold font-[Exo] mb-1" > { event . title } </ h4 >
240+ < p className = "text-sm text-gray-300 font-[Exo] mb-2 " > { event . club } </ p >
241+ < div className = "flex items-center text-xs text-alien-green" >
242+ < Calendar className = "h-3 w-3 mr-1" / >
243+ < span > { event . date } · { event . time } </ span >
244+ </ div >
289245 </ div >
290246 </ div >
291247 </ div >
292- </ motion . div >
293- ) ) }
294-
295- < Button variant = "outline" className = "w-full border-alien-gold/40 text-alien-gold hover:bg-alien-gold/20 hover:border-alien-gold/60 mt-4 font-[Exo] backdrop-blur-sm" >
296- View All Events
248+ ) ) }
249+
250+ < Button variant = "outline" className = "w-full border-alien-gold/40 text-alien-gold hover:bg-alien-gold/20 hover:border-alien-gold/60 mt-4 font-[Exo] backdrop-blur-sm" >
251+ View All Events
252+ </ Button >
253+ </ div >
254+ </ div >
255+
256+ { /* Create Club CTA */ }
257+ < div className = "bg-gradient-to-br from-alien-green/30 to-alien-gold/30 p-8 rounded-xl backdrop-blur-md border border-alien-gold/30" >
258+ < h3 className = "text-xl font-bold text-alien-gold mb-4 font-nasalization text-glow" > Start Your Own Club</ h3 >
259+ < p className = "text-sm text-gray-200 mb-6 font-[Exo] leading-relaxed" >
260+ Have a unique interest not represented yet? Create your own club and invite others to join.
261+ </ p >
262+ < Button className = "w-full bg-alien-gold hover:bg-alien-gold-light text-alien-space-dark font-[Exo] font-semibold" >
263+ Create Club
297264 </ Button >
298265 </ div >
299- </ motion . div >
300-
301- { /* Create Club CTA */ }
302- < motion . div
303- initial = { { opacity : 0 , scale : 0.9 } }
304- whileInView = { { opacity : 1 , scale : 1 } }
305- transition = { { duration : 0.8 } }
306- viewport = { { once : true } }
307- className = "bg-gradient-to-br from-alien-green/30 to-alien-gold/30 p-8 rounded-xl backdrop-blur-md border border-alien-gold/30"
308- >
309- < h3 className = "text-xl font-bold text-alien-gold mb-4 font-nasalization text-glow" > Start Your Own Club</ h3 >
310- < p className = "text-sm text-gray-200 mb-6 font-[Exo] leading-relaxed" >
311- Have a unique interest not represented yet? Create your own club and invite others to join.
312- </ p >
313- < Button className = "w-full bg-alien-gold hover:bg-alien-gold-light text-alien-space-dark font-[Exo] font-semibold" >
314- Create Club
315- </ Button >
316- </ motion . div >
266+ </ div >
317267 </ div >
318- </ div >
319268
320- { /* Community Stats */ }
321- < motion . div
322- initial = { { opacity : 0 , y : 50 } }
323- whileInView = { { opacity : 1 , y : 0 } }
324- transition = { { duration : 0.8 } }
325- viewport = { { once : true } }
326- className = "grid grid-cols-2 md:grid-cols-4 gap-6 mb-16 w-full"
327- >
328- { [
329- { value : "15+" , label : "Active Clubs" } ,
330- { value : "28.5K" , label : "Members" } ,
331- { value : "450+" , label : "Events Held" } ,
332- { value : "142" , label : "Countries" }
333- ] . map ( ( stat , index ) => (
334- < motion . div
335- key = { index }
336- initial = { { opacity : 0 , scale : 0.8 } }
337- whileInView = { { opacity : 1 , scale : 1 } }
338- transition = { { duration : 0.6 , delay : index * 0.1 } }
339- viewport = { { once : true } }
340- className = "bg-alien-space-dark/80 p-8 rounded-xl text-center backdrop-blur-md border border-alien-gold/30 hover:border-alien-gold/50 transition-all duration-300 hover:transform hover:scale-105"
341- >
342- < p className = "text-4xl font-bold text-alien-gold mb-2 font-nasalization text-glow" > { stat . value } </ p >
343- < p className = "text-sm text-gray-300 font-[Exo]" > { stat . label } </ p >
344- </ motion . div >
345- ) ) }
346- </ motion . div >
347-
348- { /* Partners Section */ }
349- < motion . div
350- initial = { { opacity : 0 , y : 50 } }
351- whileInView = { { opacity : 1 , y : 0 } }
352- transition = { { duration : 0.8 } }
353- viewport = { { once : true } }
354- className = "text-center w-full mb-16"
355- >
356- < h2 className = "text-3xl font-bold text-alien-gold mb-8 font-nasalization text-glow" > Community Partners</ h2 >
357- < div className = "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4" >
358- { partners . map ( ( partner , index ) => (
359- < motion . a
360- key = { index }
361- initial = { { opacity : 0 , scale : 0.8 } }
362- whileInView = { { opacity : 1 , scale : 1 } }
363- transition = { { duration : 0.6 , delay : index * 0.1 } }
364- viewport = { { once : true } }
365- href = { partner . url }
366- target = "_blank"
367- rel = "noopener noreferrer"
368- className = "bg-alien-space-dark/80 backdrop-blur-md rounded-xl p-6 border border-alien-gold/30 hover:border-alien-gold/60 transition-all duration-300 hover:transform hover:scale-105 group"
369- >
370- < div className = "text-center" >
371- < h3 className = "text-alien-gold font-semibold text-sm group-hover:text-alien-gold-light transition-colors font-[Exo]" >
372- { partner . name }
373- </ h3 >
374- </ div >
375- </ motion . a >
269+ { /* Community Stats */ }
270+ < div className = "grid grid-cols-2 md:grid-cols-4 gap-6 mb-16" >
271+ { [
272+ { value : "15+" , label : "Active Clubs" } ,
273+ { value : "28.5K" , label : "Members" } ,
274+ { value : "450+" , label : "Events Held" } ,
275+ { value : "142" , label : "Countries" }
276+ ] . map ( ( stat , index ) => (
277+ < div key = { index } className = "bg-alien-space-dark/80 p-8 rounded-xl text-center backdrop-blur-md border border-alien-gold/30 hover:border-alien-gold/50 transition-all duration-300 hover:transform hover:scale-105" >
278+ < p className = "text-4xl font-bold text-alien-gold mb-2 font-nasalization text-glow" > { stat . value } </ p >
279+ < p className = "text-sm text-gray-300 font-[Exo]" > { stat . label } </ p >
280+ </ div >
376281 ) ) }
377282 </ div >
378- </ motion . div >
379- </ div >
380-
283+
284+ { /* Partners Section */ }
285+ < div className = "text-center" >
286+ < h2 className = "text-3xl font-bold text-alien-gold mb-8 font-nasalization text-glow" > Community Partners</ h2 >
287+ < div className = "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4" >
288+ { partners . map ( ( partner , index ) => (
289+ < a
290+ key = { index }
291+ href = { partner . url }
292+ target = "_blank"
293+ rel = "noopener noreferrer"
294+ className = "bg-alien-space-dark/80 backdrop-blur-md rounded-xl p-6 border border-alien-gold/30 hover:border-alien-gold/60 transition-all duration-300 hover:transform hover:scale-105 group"
295+ >
296+ < div className = "text-center" >
297+ < h3 className = "text-alien-gold font-semibold text-sm group-hover:text-alien-gold-light transition-colors font-[Exo]" >
298+ { partner . name }
299+ </ h3 >
300+ </ div >
301+ </ a >
302+ ) ) }
303+ </ div >
304+ </ div >
305+ </ div >
306+ </ main >
381307 < Footer />
382308 </ div >
383309 ) ;
384310} ;
385311
386- export default Clubs ;
312+ export default Clubs ;
0 commit comments