diff --git a/src/components/faq.jsx b/src/components/faq.jsx index 3b11f51..b1df0bd 100644 --- a/src/components/faq.jsx +++ b/src/components/faq.jsx @@ -1,5 +1,5 @@ import { useState } from "react"; -import { Plus, Mail } from "lucide-react"; +import { Plus, Mail, MessageSquare, MapPin } from "lucide-react"; import { motion, AnimatePresence } from "framer-motion"; const faqData = [ @@ -8,10 +8,8 @@ const faqData = [ { question: "What is the registration deadline?", answer: "Registration closes on 30th April 2026 at 3:00 PM IST. No registrations will be accepted after this deadline.",}, { question: "Can we use open-source libraries and APIs?", answer: "Yes. Open-source tools, libraries, frameworks, and APIs are permitted. The core idea and implementation must be original and built during the hackathon." }, { question: "Can team members be from different colleges?", answer: "Yes. Cross-college teams are allowed as long as all members are enrolled students who meet the eligibility criteria.",}, - // { question: "What are the hackathon tracks?", answer: "AI, Cybersecurity, Blockchain, Smart India & Sustainability, and Open Innovation." }, { question: "What is the duration?", answer: "36 hours of continuous development including evaluation rounds and final presentations." }, { question: "What should I bring?", answer: "Bring your own laptop, charger, and a valid college ID card. ID is mandatory for entry and accommodation."}, - // { question: "How are projects evaluated?", answer: "Projects go through internal shortlisting followed by final jury evaluation based on innovation, technical depth, and usability." }, { question: "Is accommodation available for outstation participants?", answer: "Yes. Separate accommodation for male and female participants is available on campus with ID verification. Contact codex.club@quantumeducation.in or +91 9897301104 for availability and charges.", }, { question: "How are projects evaluated?", answer: "Projects are shortlisted in Round 1, and top teams present in the Final Round on 9th May. Judging is based on innovation, technical depth, real-world relevance, feasibility, and presentation quality." }, { question: "What are the prizes?", answer: "Winner: ₹15,000 cash + Trophy + Certificate + Goodies. 1st Runner-Up: ₹10,000 cash + Trophy + Certificate + Goodies. 2nd Runner-Up: ₹5,000 cash + Trophy + Certificate + Goodies. All participants receive goodies (notebook, stickers, pens, bookmark), a free .xyz domain, and a participation certificate." }, @@ -84,10 +82,10 @@ const FAQ = () => { id="faq" className="py-20 sm:py-32 px-4 sm:px-6 relative bg-transparent overflow-hidden" > -
+
- {/*left side*/} -
+ {/* Left Side */} +
{

Everything you need to know about participating in Q-Hackathon 2026. Can't find the answer you're looking for?

- - {/*supportbox*/}
@@ -118,15 +114,48 @@ const FAQ = () => { className="text-sm font-bold hover:underline transition-all" style={{ color: "var(--primary)" }} > - codex.club@quantumeducation.in → + codex.club@quantumeducation.in → + +
+
+
+
+ +
+
+

Unstop Portal

+

Visit the Unstop Page for More Information.

+ + Unstop →
+
+
+ +
+
+

Hackathon Venue

+

Quantum University Campus, Roorkee, Uttarakhand.

+ + Get Directions → + +
+
+
- - {/*right side*/} -
+
{faqData.map((item, i) => ( ))} diff --git a/src/components/timeline.jsx b/src/components/timeline.jsx index ba4d287..e9902ba 100644 --- a/src/components/timeline.jsx +++ b/src/components/timeline.jsx @@ -1,9 +1,9 @@ -import { useRef } from "react"; +import { useState, useRef } from "react"; import { ClipboardList, ClipboardX, PartyPopper, ScanSearch, - Trophy, CheckCircle2, Target, BookOpen + Trophy, CheckCircle2, Target, BookOpen, ChevronDown } from "lucide-react"; -import { motion, useScroll, useSpring, useMotionValue, useTransform } from "framer-motion"; +import { motion, AnimatePresence, useScroll, useSpring, useMotionValue, useTransform } from "framer-motion"; const events = [ { @@ -81,6 +81,8 @@ const events = [ ]; const PipelineCard = ({ title, description, instructions, deliverables, evaluation, Icon }) => { + const [isOpen, setIsOpen] = useState(false); + const x = useMotionValue(0); const y = useMotionValue(0); const mouseXSpring = useSpring(x, { stiffness: 150, damping: 15 }); @@ -94,6 +96,8 @@ const PipelineCard = ({ title, description, instructions, deliverables, evaluati y.set((e.clientY - rect.top) / rect.height - 0.5); }; + const hasDetails = instructions || deliverables || evaluation; + return ( setIsOpen(!isOpen)} + className="roadmap-card relative overflow-hidden rounded-2xl border shadow-sm hover:shadow-lg p-6 sm:p-7 transition-all duration-500 text-left cursor-pointer bg-white" >
-
+
-
-

{title}

-

{description}

- - {/* Details are now permanently visible */} -
- {instructions && ( -
-
- Guidelines -
- {instructions.map((item, i) => ( -
- {item} -
- ))} -
- )} - {deliverables && ( -
-
- Deliverables -
- {deliverables.map((item, i) => ( -
- • {item} -
- ))} -
+ +
+
+
+

{title}

+

{description}

+
+ + {hasDetails && ( + + + )} - {evaluation && ( -
-
- Evaluation Criteria -
- {evaluation.map((item, i) => ( -
-
{item} -
- ))} +
+ + {/* Smooth height accordion for details */} + + {isOpen && hasDetails && ( + +
+ {instructions && ( +
+
+ Guidelines +
+ {instructions.map((item, i) => ( +
+ {item} +
+ ))} +
+ )} + {deliverables && ( +
+
+ Deliverables +
+ {deliverables.map((item, i) => ( +
+ • {item} +
+ ))} +
+ )} + {evaluation && ( +
+
+ Evaluation Criteria +
+ {evaluation.map((item, i) => ( +
+
{item} +
+ ))} +
+ )}
+ )} -
+
+
@@ -177,15 +210,15 @@ const Timeline = () => { className="text-center mb-24" >

Event Roadmap

-
+

Detailed schedule, deliverables, and expectations.

@@ -200,17 +233,17 @@ const Timeline = () => { viewport={{ once: true, margin: "-100px" }} className="relative flex flex-col md:flex-row items-start w-full" > -
+
- {evt.date} + {evt.date}
{isEven ? ( <>
- {evt.date} + {evt.date}
@@ -221,7 +254,7 @@ const Timeline = () => { <>
- {evt.date} + {evt.date}