diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 5489cf1..bde9f0c 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -120,7 +120,7 @@ export default function AboutPage() {

Founding Student

-
+
Founder & Lead

-
+
@@ -158,7 +158,7 @@ export default function AboutPage() { Founding Faculty
-
+
-
+
Faculty Advisor -
+
( -
+
0{i + 1} // CAPABILITY

{feature.title}

{feature.desc}

@@ -260,36 +260,36 @@ export default function AboutPage() { {/* AN OPTIMISTIC APPROACH */}
-
+

An Optimistic Approach

-

Quantum Horizons

-

+

Quantum Horizons

+

Quantum computing is reshaping cybersecurity, AI, and complex problem-solving. We provide tools for students to explore quantum algorithms and real-world applications.

-

Decentralized Trust

-

+

Decentralized Trust

+

Web3 and blockchain technologies are redefining data ownership, transparency, and digital trust. We build decentralized applications that empower users and secure the internet of tomorrow.

-

Immersive Realities

-

+

Immersive Realities

+

By bridging the physical and digital worlds through Mixed Reality (XR), we are creating intuitive, spatial experiences that transform how we learn, interact, and solve problems.

-

Inclusive Progress

-

+

Inclusive Progress

+

With low-code and no-code platforms, we enable students from all backgrounds to develop solutions without deep programming expertise. Empowering non-tech innovators is key to our mission.

diff --git a/src/app/globals.css b/src/app/globals.css index c2ccc1a..1bd0296 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -49,4 +49,11 @@ body { .lab-logo{ transform: translateZ(40px); +} + +/* Prevent horizontal overflow on mobile */ +@media (max-width: 767px) { + body { + overflow-x: hidden; + } } \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index 9876b70..eabe130 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -182,9 +182,9 @@ export default function Hub() {
{/* HERO SECTION */} -
+
-

+

Singularity @@ -192,11 +192,11 @@ export default function Hub() {
- {""} + {""}

-
+
{[ "first_jqmtz8.jpg", "WhatsApp_Image_2026-02-15_at_2.46.25_AM_ttclec.jpg", @@ -207,7 +207,7 @@ export default function Hub() { key={idx} onLoad={handleMediaLoad} data-speed={`clamp(${2.4 - (idx * 0.3)})`} - className="h-[70vh] object-cover mt-80 transform-gpu" + className="h-[30vh] md:h-[70vh] object-cover mt-0 md:mt-80 transform-gpu" src={`${CLOUDINARY_BASE}v1771104005/${img}`} alt="" /> @@ -217,9 +217,9 @@ export default function Hub() {
{[...Array(12)].map((_, i) => ( - + singularity student lab - + ))}
@@ -227,12 +227,12 @@ export default function Hub() {
{/* CARDS SECTION */} -
+
{labs.map((lab, i) => ( -
+
{ const rect = e.currentTarget.getBoundingClientRect() const x = (e.clientX - rect.left) / rect.width @@ -273,14 +273,14 @@ export default function Hub() {
-
+
Archive // 0{i+1}
-

{lab.name}

-

{lab.focus}

+

{lab.name}

+

{lab.focus}

{ @@ -326,7 +326,7 @@ export default function Hub() { } tl.to(curtain, { opacity: 1, duration: 0.5, ease: "power2.inOut" }, "-=0.2") }} - className="text-[10px] font-bold border-t border-white/10 pt-8 text-white/20 tracking-[0.3em] flex justify-between items-center group-hover:text-white transition-colors cursor-pointer" + className="text-[10px] font-bold border-t border-white/10 pt-4 md:pt-8 text-white/20 tracking-[0.3em] flex justify-between items-center group-hover:text-white transition-colors cursor-pointer" > VIEW_LIVE_FEED @@ -338,8 +338,8 @@ export default function Hub() {
{/* PING US SECTION (Homepage Only CTA) */} -
-

Ping Us

+
+

Ping Us

diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx index ef90851..1e0ad50 100644 --- a/src/components/Navbar.jsx +++ b/src/components/Navbar.jsx @@ -2,7 +2,7 @@ import { useState, useRef, useEffect } from 'react'; import Link from 'next/link'; -import { ChevronDown } from 'lucide-react'; +import { ChevronDown, Menu, X } from 'lucide-react'; import { labs } from '../data/labs'; const singularityLogo = "https://res.cloudinary.com/djtemmctt/image/upload/v1771104005/singularity_new_logo_knedxr.png"; @@ -10,6 +10,7 @@ const singularityLogo = "https://res.cloudinary.com/djtemmctt/image/upload/v1771 export default function Navbar() { const [labsDropdownOpen, setLabsDropdownOpen] = useState(false); const [eventsDropdownOpen, setEventsDropdownOpen] = useState(false); + const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const labsDropdownRef = useRef(null); const eventsDropdownRef = useRef(null); @@ -22,7 +23,6 @@ export default function Navbar() { ]; useEffect(() => { - // Removed the ': MouseEvent' and 'as Node' types const handleOutsideClick = (e) => { if (labsDropdownRef.current && !labsDropdownRef.current.contains(e.target)) { setLabsDropdownOpen(false); @@ -38,79 +38,158 @@ export default function Navbar() { } }, [labsDropdownOpen, eventsDropdownOpen]); + // Prevent background scrolling when mobile menu is open + useEffect(() => { + if (mobileMenuOpen) { + document.body.style.overflow = 'hidden'; + } else { + document.body.style.overflow = ''; + } + return () => { + document.body.style.overflow = ''; + }; + }, [mobileMenuOpen]); + return ( - + + {/* Mobile Menu Drawer Overlay */} + {mobileMenuOpen && ( +
+ setMobileMenuOpen(false)} + className="text-base tracking-[0.2em] text-white/80 hover:text-white uppercase transition-colors" > - LABS - - + About Us + - {labsDropdownOpen && ( -
+
+ Labs +
{labs.map((lab) => ( setLabsDropdownOpen(false)} - className="block w-full text-left px-4 py-2 hover:bg-white/10 transition-colors text-white/80 hover:text-white text-xs whitespace-nowrap" + onClick={() => setMobileMenuOpen(false)} + className="text-xs tracking-wider text-white/60 hover:text-white transition-colors" > {lab.name} ))}
- )} -
+
-
- - - {eventsDropdownOpen && ( - - - Contact - -
- + setMobileMenuOpen(false)} + className="text-base tracking-[0.2em] text-white/80 hover:text-white uppercase transition-colors" + > + Contact + +
+ )} + ); } \ No newline at end of file diff --git a/src/components/lab/LabHero.tsx b/src/components/lab/LabHero.tsx index c5c697c..5365789 100644 --- a/src/components/lab/LabHero.tsx +++ b/src/components/lab/LabHero.tsx @@ -108,7 +108,7 @@ export default function LabHero({ name, focus, description, video, color }: Prop return (
{/* VIDEO */}