11import React from "react" ;
22import LogoCarousel from "./LogoCarousel" ;
33import Image from "next/image" ;
4- import { motion } from "framer-motion"
4+ import { motion } from "framer-motion" ;
55
66export default function Hero ( ) {
77 return (
8- < div className = "hero relative pb-12 lg:pt-24 pt-24 text-[#eaeaea] lg:h-[max(100svh,840px)]" >
8+ < div className = "relative pb-12 pt-24 text-[#eaeaea] lg:h-[max(100svh,840px)] lg:pt-24" id = "hero" >
9+ { /* Flex-row on desktop devices but flex-col-reverse for devices lg and smaller */ }
910 < div className = "mx-auto flex h-full max-w-7xl flex-col-reverse items-center px-6 pb-6 sm:px-10 lg:mt-0 lg:flex-row" >
1011 < div className = "flex w-full flex-col items-center text-center lg:w-3/4 lg:items-start lg:text-left" >
12+ { /* Hidden on mobile */ }
1113 < span className = "hidden rounded-full border border-[#B0B8FF] border-opacity-40 bg-black bg-opacity-50 px-4 py-1.5 text-xs lg:inline" >
1214 1000+ Active Members!
1315 </ span >
14- < h1 className = "font-Michroma leading-normal lg:leading-normal pt-4 text-[26px] font-semibold sm:text-4xl lg:text-[44px]" >
15- The Society < br className = "inline sm:hidden" /> of PC Building
16+ < h1 className = "pt-4 font-Michroma text-[26px] font-semibold leading-normal sm:text-4xl lg:text-[44px] lg:leading-normal" >
17+ The Society < br className = "inline sm:hidden" />
18+ of PC Building
1619 </ h1 >
17- < p className = "max-w-[620px] pt-4 sm:pt-3 font-medium leading-relaxed text-[17px] sm:text-lg" >
20+
21+ { /* On mobile devices shorten the description to limit text-length */ }
22+ < p className = "max-w-[620px] pt-4 text-[17px] font-medium leading-relaxed sm:pt-3 sm:text-lg" >
1823 < span className = "hidden sm:inline" >
1924 Join the Society of PC Building at UF—where
2025 </ span >
2126 < span className = "sm:hidden" > Where</ span > students passionate about
2227 hardware and tech connect, innovate, and build custom PCs together.
2328 </ p >
24- < button className = "mt-6 rounded-md border border-[#B0B8FF] border-opacity-40 bg-black bg-opacity-80 py-2 px-8 font-medium text-white sm:text-base" >
29+
30+
31+ < button className = "mt-6 rounded-md border border-[#B0B8FF] border-opacity-40 bg-black bg-opacity-80 px-8 py-2 font-medium text-white sm:text-base" >
2532 Join the Club!
2633 </ button >
2734
35+
36+ { /* On mobile devices show the infinite carousel but on desktop static list */ }
2837 < div className = "mt-20 lg:mt-32" >
2938 < p className = "text-sm opacity-80" >
3039 Led by a team of officers with experience at:
@@ -41,27 +50,29 @@ export default function Hero() {
4150 < LogoCarousel />
4251 </ div >
4352 </ div >
44- { /* <div className="hidden max-h-[220px] cursor-grab items-center sm:flex lg:w-1/4">
45- <Scene />
46- </div> */ }
47- < motion . div className = "relative h-[240px] w-[240px] md:h-[300px] md:w-[300px] lg:h-[460px] lg:w-[460px] -mr-6 lg:-mr-12" initial = { { opacity : 0 , y : 60 } }
48- whileInView = { { opacity : 1 , y : 0 } }
49- transition = { { duration : 0.4 , ease : "easeOut" } }
50- viewport = { { once : true , amount : 0.3 } } >
53+
54+ { /* Animate SPCB logo upwards. Applied negative margin to center logo better */ }
55+ < motion . div
56+ className = "relative -mr-6 h-[240px] w-[240px] md:h-[300px] md:w-[300px] lg:-mr-12 lg:h-[460px] lg:w-[460px]"
57+ initial = { { opacity : 0 , y : 60 } }
58+ whileInView = { { opacity : 1 , y : 0 } }
59+ transition = { { duration : 0.4 , ease : "easeOut" } }
60+ viewport = { { once : true , amount : 0.3 } }
61+ >
5162 < Image
5263 src = "/landing/logo.png"
5364 alt = "SPCB Logo"
54- width = { 460 }
55- height = { 460 }
65+ width = { 460 }
66+ height = { 460 }
5667 className = "object-contain"
5768 style = { {
5869 filter : "drop-shadow(0 0 10px rgba(255,255,255,1))" ,
5970 } }
6071 priority
6172 />
6273 </ motion . div >
63- </ div >
6474
75+ </ div >
6576 </ div >
6677 ) ;
6778}
0 commit comments