diff --git a/package-lock.json b/package-lock.json index 894829a..1767489 100644 --- a/package-lock.json +++ b/package-lock.json @@ -63,7 +63,6 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -1599,7 +1598,6 @@ "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -1641,7 +1639,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1747,7 +1744,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -2003,7 +1999,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -3053,7 +3048,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -3114,7 +3108,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -3124,7 +3117,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -3152,9 +3144,9 @@ } }, "node_modules/react-router": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.11.0.tgz", - "integrity": "sha512-uI4JkMmjbWCZc01WVP2cH7ZfSzH91JAZUDd7/nIprDgWxBV1TkkmLToFh7EbMTcMak8URFRa2YoBL/W8GWnCTQ==", + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.12.0.tgz", + "integrity": "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==", "license": "MIT", "dependencies": { "cookie": "^1.0.1", @@ -3174,12 +3166,12 @@ } }, "node_modules/react-router-dom": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.11.0.tgz", - "integrity": "sha512-e49Ir/kMGRzFOOrYQBdoitq3ULigw4lKbAyKusnvtDu2t4dBX4AGYPrzNvorXmVuOyeakai6FUPW5MmibvVG8g==", + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.12.0.tgz", + "integrity": "sha512-pfO9fiBcpEfX4Tx+iTYKDtPbrSLLCbwJ5EqP+SPYQu1VYCXdy79GSj0wttR0U4cikVdlImZuEZ/9ZNCgoaxwBA==", "license": "MIT", "dependencies": { - "react-router": "7.11.0" + "react-router": "7.12.0" }, "engines": { "node": ">=20.0.0" @@ -3420,7 +3412,6 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz", "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -3542,7 +3533,6 @@ "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/src/Pages/Home_Page/Event_Section/Event.jsx b/src/Pages/Home_Page/Event_Section/Event.jsx index 05af4a4..2135c98 100644 --- a/src/Pages/Home_Page/Event_Section/Event.jsx +++ b/src/Pages/Home_Page/Event_Section/Event.jsx @@ -2,7 +2,10 @@ import React, { useEffect, useRef } from "react"; import { gsap } from "gsap"; import { ScrollTrigger } from "gsap/ScrollTrigger"; import { useNavigate } from "react-router-dom"; - +import HacknocturneImg from "../../../assets/Hacknocturne.jpeg"; +import csocImg from "../../../assets/csoc.jpeg"; +import techvistaraImg from "../../../assets/Techvistara.jpg"; +import codecafeImg from "../../../assets/CodeCafe.jpg"; gsap.registerPlugin(ScrollTrigger); export const Event = () => { @@ -15,7 +18,7 @@ export const Event = () => { slug: "hacknocturne", name: "HackNocturne", number: 0, - image: "https://images.unsplash.com/photo-1540575467063-178a50c2df87?w=800&q=80", + image: HacknocturneImg, description: "HackNocturne is CodeShack's flagship annual inter-college hackathon where students participate in a 24-hour non-stop coding challenge.", buttonText: "VIEW DETAILS" @@ -25,7 +28,7 @@ export const Event = () => { slug: "tech-vistara", name: "Tech Vistara", number: 1, - image: "https://images.unsplash.com/photo-1509062522246-3755977927d7?w=800&q=80", + image: techvistaraImg, description: "Orientation program designed to introduce freshers to tech culture.", buttonText: "LEARN MORE" @@ -35,7 +38,7 @@ export const Event = () => { slug: "codecafe", name: "CodeCafe", number: 2, - image: "https://images.unsplash.com/photo-1531482615713-2afd69097998?w=800&q=80", + image: codecafeImg, description: "Webinar and talk series on technology, placements, and careers.", buttonText: "EXPLORE" @@ -45,7 +48,7 @@ export const Event = () => { slug: "csoc", name: "CSoC (CodeShack Summer of Code)", number: 3, - image: "https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=800&q=80", + image: csocImg, description: "A structured summer learning program focused on real-world skills.", buttonText: "JOIN NOW" @@ -53,106 +56,106 @@ export const Event = () => { ]; useEffect(() => { - cardsRef.current.forEach((card, index) => { - if (!card) return; - - const numberEl = card.querySelector(".event-number"); - const glowEl = card.querySelector(".event-glow"); - - const valueObj = { value: 0 }; - const targetValue = events[index].number; - - /* Timeline (paused by default) */ - const tl = gsap.timeline({ paused: true }); - - /* Card animation */ - tl.fromTo( - card, - { opacity: 0, y: 80 }, - { - opacity: 1, - y: 0, - duration: 1, - ease: "power3.out" - }, - 0 - ); - - /* Glow animation */ - tl.fromTo( - glowEl, - { opacity: 0, scale: 0.6 }, - { - opacity: 0.8, - scale: 1.2, - duration: 0.6, - ease: "power2.out" - }, - 0.1 - ); - - tl.to( - glowEl, - { - opacity: 0.25, - scale: 1, - duration: 0.6, - ease: "power2.out" - }, - 0.8 - ); - - /* Number animation */ - tl.to( - valueObj, - { - value: targetValue, - duration: 1.2, - ease: "power2.out", - snap: { value: 1 }, - onUpdate: () => { - numberEl.textContent = String(valueObj.value).padStart(2, "0"); + cardsRef.current.forEach((card, index) => { + if (!card) return; + + const numberEl = card.querySelector(".event-number"); + const glowEl = card.querySelector(".event-glow"); + + const valueObj = { value: 0 }; + const targetValue = events[index].number; + + /* Timeline (paused by default) */ + const tl = gsap.timeline({ paused: true }); + + /* Card animation */ + tl.fromTo( + card, + { opacity: 0, y: 80 }, + { + opacity: 1, + y: 0, + duration: 1, + ease: "power3.out" + }, + 0 + ); + + /* Glow animation */ + tl.fromTo( + glowEl, + { opacity: 0, scale: 0.6 }, + { + opacity: 0.8, + scale: 1.2, + duration: 0.6, + ease: "power2.out" + }, + 0.1 + ); + + tl.to( + glowEl, + { + opacity: 0.25, + scale: 1, + duration: 0.6, + ease: "power2.out" + }, + 0.8 + ); + + /* Number animation */ + tl.to( + valueObj, + { + value: targetValue, + duration: 1.2, + ease: "power2.out", + snap: { value: 1 }, + onUpdate: () => { + numberEl.textContent = String(valueObj.value).padStart(2, "0"); + } + }, + 0 + ); + + /* ScrollTrigger */ + ScrollTrigger.create({ + trigger: card, + start: "top 80%", + + onEnter: () => { + tl.restart(); + }, + + onLeaveBack: () => { + // Fade out smoothly when scrolling up + gsap.to(card, { + opacity: 0, + y: 80, + duration: 0.5, + ease: "power2.in", + onComplete: () => { + // Reset everything AFTER fade-out + tl.pause(0); + + valueObj.value = 0; + numberEl.textContent = "00"; + + gsap.set(glowEl, { + opacity: 0, + scale: 0.6 + }); + } + }); } - }, - 0 - ); - - /* ScrollTrigger */ - ScrollTrigger.create({ - trigger: card, - start: "top 80%", - - onEnter: () => { - tl.restart(); - }, - - onLeaveBack: () => { - // Fade out smoothly when scrolling up - gsap.to(card, { - opacity: 0, - y: 80, - duration: 0.5, - ease: "power2.in", - onComplete: () => { - // Reset everything AFTER fade-out - tl.pause(0); - - valueObj.value = 0; - numberEl.textContent = "00"; - - gsap.set(glowEl, { - opacity: 0, - scale: 0.6 - }); - } - }); - } -}); + }); - }); + }); - return () => ScrollTrigger.getAll().forEach(t => t.kill()); -}, []); + return () => ScrollTrigger.getAll().forEach(t => t.kill()); + }, []); diff --git a/src/Pages/Home_Page/Event_Section/EventDetailPage.jsx b/src/Pages/Home_Page/Event_Section/EventDetailPage.jsx index ac4b9ef..8d74a0e 100644 --- a/src/Pages/Home_Page/Event_Section/EventDetailPage.jsx +++ b/src/Pages/Home_Page/Event_Section/EventDetailPage.jsx @@ -1,37 +1,234 @@ -import React, { useEffect } from "react"; +import React, { useEffect, useState, useRef } from "react"; import { useParams, useNavigate } from "react-router-dom"; -import { ArrowLeft } from "lucide-react"; +import { ArrowLeft, ChevronLeft, ChevronRight, Calendar, Clock, X, FileText, Key, Camera } from "lucide-react"; +import { gsap } from "gsap"; +import { ScrollTrigger } from "gsap/ScrollTrigger"; +import HacknocturneImg from "../../../assets/Hacknocturne.jpeg"; +import HacknocturneCat1 from "../../../assets/hacknocturneCat1.jpeg"; +import HacknocturneCat2 from "../../../assets/hacknocturneCat2.jpeg"; +import Winner1Img from "../../../assets/winner1.png"; +import Winner2Img from "../../../assets/winner2.png"; +import Winner3Img from "../../../assets/winner3.png"; +import TechvistaraImg from "../../../assets/Techvistara.jpg"; +import CodeCafeImg from "../../../assets/CodeCafe.jpg"; +import CsocImg from "../../../assets/csoc.jpeg"; + +// Placeholder imports for Tech Vistara domains - replace with actual images +import DsaImg from "../../../assets/dsa.png"; +import WebDevImg from "../../../assets/webdev.png"; +import ComputerFundamentalsImg from "../../../assets/Techvistara.jpg"; // Placeholder +import RosImg from "../../../assets/cybersecurity.png"; +import PersonalBrandingImg from "../../../assets/uiux.png"; +import VideoEditingImg from "../../../assets/aiml.png"; +import LaptopGuideImg from "../../../assets/laptopguide.png"; + +// Placeholder imports for CodeCafe episodes - replace with actual images +import Episode1Img from "../../../assets/CodeCafe.jpg"; // Placeholder +import Episode2Img from "../../../assets/codecafeep2.png"; + +// Event Gallery Images for CodeCafe Episode 2 +import EventImg1 from "../../../assets/eventimg1.png"; +import EventImg2 from "../../../assets/eventimg2.jpg"; + +gsap.registerPlugin(ScrollTrigger); export const EventDetailPage = () => { const { eventId } = useParams(); const navigate = useNavigate(); + const winnerCardsRef = useRef([]); + const domainItemsRef = useRef([]); + const [selectedEpisode, setSelectedEpisode] = useState(null); + const episodeCardsRef = useRef([]); useEffect(() => { window.scrollTo(0, 0); }, [eventId]); + // Carousel state and auto-play + const [currentImageIndex, setCurrentImageIndex] = useState(0); + const hacknocturneImages = [HacknocturneCat1, HacknocturneImg, HacknocturneCat2]; + + useEffect(() => { + if (eventId === "hacknocturne") { + const interval = setInterval(() => { + setCurrentImageIndex((prevIndex) => + (prevIndex + 1) % hacknocturneImages.length + ); + }, 3000); // Change image every 3 seconds + + return () => clearInterval(interval); + } + }, [eventId]); + + // GSAP animation for winner cards + useEffect(() => { + if (eventId === "hacknocturne") { + winnerCardsRef.current.forEach((card) => { + if (!card) return; + + const tl = gsap.timeline({ paused: true }); + + tl.fromTo( + card, + { opacity: 0, y: 80 }, + { + opacity: 1, + y: 0, + duration: 1, + ease: "power3.out" + } + ); + + ScrollTrigger.create({ + trigger: card, + start: "top 80%", + onEnter: () => { + tl.restart(); + }, + onLeaveBack: () => { + gsap.to(card, { + opacity: 0, + y: 80, + duration: 0.5, + ease: "power2.in", + onComplete: () => { + tl.pause(0); + } + }); + } + }); + }); + + return () => ScrollTrigger.getAll().forEach(t => t.kill()); + } + }, [eventId]); + + // GSAP animation for Tech Vistara and CSoC domain timeline + useEffect(() => { + if (eventId === "tech-vistara" || eventId === "csoc") { + domainItemsRef.current.forEach((item) => { + if (!item) return; + + const tl = gsap.timeline({ paused: true }); + + tl.fromTo( + item, + { opacity: 0, scale: 0.8, y: 30 }, + { + opacity: 1, + scale: 1, + y: 0, + duration: 0.6, + ease: "back.out(1.2)" + } + ); + + ScrollTrigger.create({ + trigger: item, + start: "top 85%", + onEnter: () => { + tl.restart(); + }, + onLeaveBack: () => { + gsap.to(item, { + opacity: 0, + scale: 0.8, + y: 30, + duration: 0.4, + ease: "power2.in", + onComplete: () => { + tl.pause(0); + } + }); + } + }); + }); + + return () => ScrollTrigger.getAll().forEach(t => t.kill()); + } + }, [eventId]); + + // GSAP animation for CodeCafe episode cards + useEffect(() => { + if (eventId === "codecafe") { + episodeCardsRef.current.forEach((card) => { + if (!card) return; + + const tl = gsap.timeline({ paused: true }); + + tl.fromTo( + card, + { opacity: 0, y: 60 }, + { + opacity: 1, + y: 0, + duration: 0.8, + ease: "power3.out" + } + ); + + ScrollTrigger.create({ + trigger: card, + start: "top 80%", + onEnter: () => { + tl.restart(); + }, + onLeaveBack: () => { + gsap.to(card, { + opacity: 0, + y: 60, + duration: 0.5, + ease: "power2.in", + onComplete: () => { + tl.pause(0); + } + }); + } + }); + }); + + return () => ScrollTrigger.getAll().forEach(t => t.kill()); + } + }, [eventId]); + + const nextImage = () => { + setCurrentImageIndex((prevIndex) => + (prevIndex + 1) % hacknocturneImages.length + ); + }; + + const prevImage = () => { + setCurrentImageIndex((prevIndex) => + prevIndex === 0 ? hacknocturneImages.length - 1 : prevIndex - 1 + ); + }; + const events = { hacknocturne: { id: 1, name: "HackNocturne", + image: HacknocturneImg, description: "HackNocturne is CodeShack's flagship annual inter-college hackathon where students participate in a 24-hour non-stop coding challenge. Teams work together to build innovative solutions for real-world problems while learning new technologies and collaborating under time pressure. The event promotes creativity, teamwork, and hands-on experience. HackNocturne features a prize money, along with certificates, swag, and recognition for top-performing teams.", }, "tech-vistara": { id: 2, name: "Tech Vistara", + image: TechvistaraImg, description: "Tech Vistara is the official orientation program by CodeShack for first-year students. It is designed to help freshers understand what engineering and technology are really about beyond classrooms and exams. The session acts as a beginner-friendly guide that introduces different tech domains, learning paths, useful resources, and opportunities available in college. Tech Vistara helps first-year students take their first confident step into their technical journey and avoid common mistakes early on.", }, codecafe: { id: 3, name: "CodeCafe", + image: CodeCafeImg, description: "CodeCafe is a webinar and talk series conducted by CodeShack that focuses on technology, placements, career guidance, and industry insights. The sessions are interactive and beginner-friendly, featuring seniors, alumni, and industry professionals who share their experiences and practical advice. CodeCafe aims to create an open and relaxed environment where students can learn, ask questions, and gain clarity about their academic and career paths.", }, csoc: { id: 4, name: "CSoC (CodeShack Summer of Code)", + image: CsocImg, description: "CSoC (CodeShack Summer of Code) is a structured 4–5 week summer learning program focused on helping students upskill in various technical domains such as Web Development, App Development, and Data Structures & Algorithms. The program includes guided learning, hands-on assignments, and mentor support. It concludes with a hackathon where participants apply what they have learned to build real projects, making CSoC a complete learning-to-building experience.", }, @@ -59,10 +256,10 @@ export const EventDetailPage = () => {
{/* Hero Image Section with Overlay Text */} -
+
{/* Background Image */} {event.name} @@ -97,7 +294,804 @@ export const EventDetailPage = () => { {event.description}

+ + {/* Episodes Section - Only for CodeCafe */} + {eventId === "codecafe" && ( +
+

+ Episodes So Far +

+ +
+ {/* Episode 1 */} +
(episodeCardsRef.current[0] = el)} + className="bg-gradient-to-br from-gray-900 to-black border border-gray-700 rounded-2xl overflow-hidden hover:border-purple-600/50 transition-all duration-300" + > + {/* Episode Image */} +
+ Episode 1 +
+ EP-01 +
+
+ + {/* Episode Content */} +
+

+ Breaking Into Tech: A Freshman's Guide +

+

+ An insightful session covering the essential steps for first-year students to kickstart their tech journey. Topics included choosing the right tech stack, building projects, and preparing for internships. +

+ + {/* Speaker Info */} +
+

SPEAKER

+
+
+ RS +
+
+

Rahul Sharma

+

Software Engineer @ Google

+
+
+
+
+ + Date: January 15, 2024 +
+
+ + Duration: 1.5 hours +
+
+
+
+
+ + {/* Episode 2 */} +
(episodeCardsRef.current[1] = el)} + onClick={() => setSelectedEpisode(2)} + className="bg-gradient-to-br from-gray-900 to-black border border-gray-700 rounded-2xl overflow-hidden hover:border-purple-600/50 transition-all duration-300 cursor-pointer" + > + {/* Episode Image */} +
+ Episode 2 +
+ EP-02 +
+
+ + {/* Episode Content */} +
+

+ AI in Software Engineering: The Future is Here +

+

+ An insightful session on how Artificial Intelligence is transforming software engineering, the shifting role of engineers, and practical advice for students and aspiring founders. +

+ + {/* Speaker Info */} +
+

SPEAKER

+
+
+ KA +
+
+

Khushagra Agarwal

+

Co-founder @ Zryth Solutions

+
+
+
+
+ + Date: December 27, 2025 +
+
+ + Duration: 1.5 hours +
+
+
+
+
+
+
+ )} + + {/* Domain Timeline Section - Only for Tech Vistara */} + {eventId === "tech-vistara" && ( +
+

+ Domains Covered +

+ + {/* Timeline Container */} +
+ {/* Vertical Dotted Line in the Middle */} +
+ + {/* Timeline Items */} +
+ {/* 1. DSA - Left Content, Right Image */} +
(domainItemsRef.current[0] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Content Left */} +
+
+

Data Structures & Algorithms

+

+ Learn the fundamentals of DSA, essential for coding interviews and competitive programming. Master arrays, linked lists, trees, graphs, and algorithmic problem-solving techniques. +

+
+
+ + {/* Center Dot */} +
+ + {/* Image Right */} +
+
+ DSA Domain +
+
+
+ + {/* 2. Web Development - Right Content, Left Image */} +
(domainItemsRef.current[1] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Image Left */} +
+
+ Web Development +
+
+ + {/* Center Dot */} +
+ + {/* Content Right */} +
+
+

Web Development

+

+ Master modern web technologies including HTML5, CSS3, JavaScript, and React. Build responsive, interactive websites and web applications from scratch to deployment. +

+
+
+
+ + {/* 3. Cyber Security - Left Content, Right Image */} +
(domainItemsRef.current[2] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Content Left */} +
+
+

Cyber Security

+

+ Protect systems and networks from digital attacks. Learn about ethical hacking, network security, cryptography, and security protocols to safeguard information. +

+
+
+ + {/* Center Dot */} +
+ + {/* Image Right */} +
+
+ Cyber Security +
+
+
+ + {/* 4. UI/UX Design - Right Content, Left Image */} +
(domainItemsRef.current[3] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Image Left */} +
+
+ UI/UX Design +
+
+ + {/* Center Dot */} +
+ + {/* Content Right */} +
+
+

UI/UX Design

+

+ Design intuitive and beautiful user interfaces. Master design principles, wireframing, prototyping, and user research to create exceptional digital experiences. +

+
+
+
+ + {/* 5. AI/ML - Left Content, Right Image */} +
(domainItemsRef.current[4] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Content Left */} +
+
+

AI & Machine Learning

+

+ Explore the world of Artificial Intelligence. Learn about machine learning algorithms, deep learning, neural networks, and how to build intelligent systems. +

+
+
+ + {/* Center Dot */} +
+ + {/* Image Right */} +
+
+ AI/ML +
+
+
+ + {/* 6. Laptop Guide - Right Content, Left Image */} +
(domainItemsRef.current[5] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Image Left */} +
+
+ Laptop Guide +
+
+ + {/* Center Dot */} +
+ + {/* Content Right */} +
+
+

Laptop Buying Guide

+

+ Make informed decisions when purchasing a laptop for engineering and development. Learn about specs, performance requirements, and budget-friendly options. +

+
+
+
+
+
+
+ )} + + {/* Domain Timeline Section - Only for CSoC */} + {eventId === "csoc" && ( +
+

+ Domains Covered +

+ + {/* Timeline Container */} +
+ {/* Vertical Dotted Line in the Middle */} +
+ + {/* Timeline Items */} +
+ {/* 1. Web Development - Left Content, Right Image */} +
(domainItemsRef.current[0] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Content Left */} +
+
+

Web Development

+

+ Master the art of building modern web applications. Learn HTML, CSS, JavaScript, and popular frameworks like React. Build responsive, interactive websites and deploy them to production. +

+
+
+ + {/* Center Dot */} +
+ + {/* Image Right */} +
+
+ Web Development +
+
+
+ + {/* 2. App Development - Right Content, Left Image */} +
(domainItemsRef.current[1] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Image Left */} +
+
+ App Development +
+
+ + {/* Center Dot */} +
+ + {/* Content Right */} +
+
+

App Development

+

+ Create powerful mobile applications for Android and iOS. Learn native development or cross-platform frameworks like React Native and Flutter. Build apps that solve real-world problems. +

+
+
+
+ + {/* 3. DSA - Left Content, Right Image */} +
(domainItemsRef.current[2] = el)} + className="relative grid md:grid-cols-2 gap-8 items-center" + > + {/* Content Left */} +
+
+

Data Structures & Algorithms

+

+ Build a strong foundation in DSA for coding interviews and competitive programming. Master essential data structures, algorithmic techniques, and problem-solving strategies to excel in technical assessments. +

+
+
+ + {/* Center Dot */} +
+ + {/* Image Right */} +
+
+ DSA +
+
+
+
+
+
+ )} + + + {/* Winners Section - Only for HackNocturne */} + {eventId === "hacknocturne" && ( +
+

+ Winners +

+ +
+ {/* 1st Place - Photo Right, Description Left */} +
(winnerCardsRef.current[0] = el)} + className="grid md:grid-cols-2 gap-8 items-center" + > + {/* Description Left */} +
+
+
+
+ 1 +
+

Team Losers

+
+
+

🏆 Champion

+
+
+

Prize Amount

+

₹25,000

+
+
+
+ + {/* Photo Right */} +
+
+ Team Losers +
+
+
+ + {/* 2nd Place - Photo Left, Description Right */} +
(winnerCardsRef.current[1] = el)} + className="grid md:grid-cols-2 gap-8 items-center" + > + {/* Photo Left */} +
+
+ Team CodeWin +
+
+ + {/* Description Right */} +
+
+
+
+ 2 +
+

Team CodeWin

+
+
+

🥈 2nd Place

+
+
+

Prize Amount

+

₹15,000

+
+
+
+
+ + {/* 3rd Place - Photo Right, Description Left */} +
(winnerCardsRef.current[2] = el)} + className="grid md:grid-cols-2 gap-8 items-center" + > + {/* Description Left */} +
+
+
+
+ 3 +
+

Team CodeX

+
+
+

🥉 3rd Place

+
+
+

Prize Amount

+

₹10,000

+
+
+
+ + {/* Photo Right */} +
+
+ Team CodeX +
+
+
+
+
+ )} + + {/* Image Carousel - Only for HackNocturne */} + {eventId === "hacknocturne" && ( +
+

+ Event Gallery +

+ +
+ {/* Carousel Container with Sliding Animation */} +
+ {hacknocturneImages.map((image, index) => ( + {`HackNocturne + ))} +
+ + {/* Navigation Buttons */} + + + + + {/* Indicator Dots */} +
+ {hacknocturneImages.map((_, index) => ( +
+
+
+ )}
+ + {/* Episode Modal */} + {selectedEpisode === 2 && ( +
+
+ {/* Modal Header */} +
+
+
+ EP-02 +
+

+ AI in Software Engineering: The Future is Here +

+
+
+ + December 27, 2025 +
+
+ + 1.5 hours +
+
+
+ +
+ + {/* Modal Content */} +
+ {/* Speaker Info */} +
+

Featured Speaker

+
+
+ KA +
+
+

Khushagra Agarwal

+

Co-founder @ Zryth Solutions

+

Alumnus & CEO of an AI Solutions Company

+
+
+
+ + {/* Event Overview */} +
+

+ Event Overview +

+

+ The session featured Kushagra Agarwal, an alumnus and CEO of Zit Solutions, an AI solutions company. + The talk focused on how Artificial Intelligence is transforming software engineering, the shifting role + of engineers, and practical advice for students and aspiring founders. +

+
+ + {/* Key Themes Section */} +
+

+ Key Themes & Insights +

+ + {/* Theme 1 */} +
+

+ 1. The Shift from Writing to Reviewing +

+
+
+ +
+ Changing Landscape: The engineering role is shifting + from writing raw code to reviewing AI-generated code and designing architectures. +
+
+
+ +
+ The "Chaos" of Speed: While AI allows developers to + build in 5 minutes what used to take hours, debugging can now take significantly longer if + the developer does not understand the underlying code. +
+
+
+ +
+ Core Fundamentals: Despite AI's capabilities, core + computer science concepts (Operating Systems, Databases, Networks, DSA) remain crucial. + Engineers must understand how things work "under the hood" to effectively review and debug AI outputs. +
+
+
+
+ + {/* Theme 2 */} +
+

+ 2. AI in the Software Development Lifecycle +

+
+
+ +
+ Requirements: AI tools can now automate note-taking + and summarize client requirements, reducing human error in translation. +
+
+
+ +
+ Prototyping: Tools can generate wireframes and designs + (e.g., Figma) from prompts, speeding up the initial design phase. +
+
+
+ +
+ Coding & Architecture: AI can handle boilerplate code + and implementation, but humans must define the High-Level Design (HLD) and Low-Level Design (LLD) + to ensure the system is scalable and correct. +
+
+
+ +
+ Testing: AI agents can automate testing (e.g., using + frameworks like Playwright) by simulating user interactions, drastically reducing testing time. +
+
+
+
+ + {/* Theme 3 */} +
+

+ 3. Challenges in Production +

+
+
+ +
+ Debugging: This remains a weak point for AI because + it lacks the full business and code context required to understand complex interdependencies. +
+
+
+ +
+ Hallucinations & Limits: The speaker shared case + studies where AI failed at specific tasks like mathematics or physics due to "hallucinations." + The solution involved breaking problems into smaller chunks and using "Agentic AI" or external + tools (like calculators) rather than relying on one large prompt. +
+
+
+ +
+ Context Window: Early attempts failed because prompts + were too large; optimizing prompts is often more effective than fine-tuning models. +
+
+
+
+
+ + {/* Event Pictures Placeholder */} +
+

+ Event Gallery +

+
+
+ Event Photo 1 +
+
+ Event Photo 2 +
+
+
+
+
+
+ )}
); diff --git a/src/Pages/Home_Page/Hero_Section/Hero.jsx b/src/Pages/Home_Page/Hero_Section/Hero.jsx index af3547b..31b04f2 100644 --- a/src/Pages/Home_Page/Hero_Section/Hero.jsx +++ b/src/Pages/Home_Page/Hero_Section/Hero.jsx @@ -28,7 +28,7 @@ import collegeLogo from "../../../assets/collegeLogo.png"; export const Hero = () => { return (
- + {/* Subtle grid background */}
@@ -36,26 +36,26 @@ export const Hero = () => {
{/* Content */} -
+
{/* College Branding */} - + College Logo - -

+ +

Sir M. Visvesvaraya Institute of Technology, Bengaluru

- +
{/* Terminal prompt */} @@ -63,7 +63,7 @@ export const Hero = () => { initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay: 0.4 }} - className="mb-6 inline-block bg-black/60 border border-orange-500/30 rounded-md px-4 py-2 font-mono text-sm text-orange-400" + className="mb-6 inline-flex items-center justify-center bg-black/60 border border-orange-500/30 rounded-md px-4 py-2 font-mono text-sm text-orange-400" > student@codeshack : @@ -76,7 +76,7 @@ export const Hero = () => { initial={{ opacity: 0, y: 40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.8 }} - className="text-4xl sm:text-6xl md:text-7xl font-extrabold mb-6" + className="text-4xl sm:text-6xl md:text-7xl font-extrabold mb-6 text-center w-full" > <CODESHACK/> @@ -86,7 +86,7 @@ export const Hero = () => { initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay: 0.9 }} - className="text-lg sm:text-xl md:text-2xl text-gray-300 mb-8" + className="text-lg sm:text-xl md:text-2xl text-gray-300 mb-8 text-center w-full flex items-center justify-center" > { initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay: 1.2 }} - className="text-gray-400 max-w-3xl mx-auto mb-10 leading-relaxed" + className="text-gray-400 max-w-3xl mx-auto mb-10 leading-relaxed text-center px-4" > CODESHACK is the official student technical community fostering open-source culture, hands-on development, and problem-solving skills. @@ -119,14 +119,14 @@ export const Hero = () => { initial={{ opacity: 0, scale: 0.9 }} animate={{ opacity: 1, scale: 1 }} transition={{ delay: 1.8 }} - className="mt-10 flex justify-center" + className="mt-10 flex items-center justify-center w-full" > - - - + + + $ learn • build • contribute - + linux | open-source | community diff --git a/src/assets/CodeCafe.jpg b/src/assets/CodeCafe.jpg new file mode 100644 index 0000000..13c3a5d Binary files /dev/null and b/src/assets/CodeCafe.jpg differ diff --git a/src/assets/Hacknocturne.jpeg b/src/assets/Hacknocturne.jpeg new file mode 100644 index 0000000..5cd1528 Binary files /dev/null and b/src/assets/Hacknocturne.jpeg differ diff --git a/src/assets/Techvistara.jpg b/src/assets/Techvistara.jpg new file mode 100644 index 0000000..53fca59 Binary files /dev/null and b/src/assets/Techvistara.jpg differ diff --git a/src/assets/aiml.png b/src/assets/aiml.png new file mode 100644 index 0000000..3dbeb8d Binary files /dev/null and b/src/assets/aiml.png differ diff --git a/src/assets/codecafeep2.png b/src/assets/codecafeep2.png new file mode 100644 index 0000000..d652a4f Binary files /dev/null and b/src/assets/codecafeep2.png differ diff --git a/src/assets/csoc.jpeg b/src/assets/csoc.jpeg new file mode 100644 index 0000000..2ad023d Binary files /dev/null and b/src/assets/csoc.jpeg differ diff --git a/src/assets/cybersecurity.png b/src/assets/cybersecurity.png new file mode 100644 index 0000000..3d89f83 Binary files /dev/null and b/src/assets/cybersecurity.png differ diff --git a/src/assets/dsa.png b/src/assets/dsa.png new file mode 100644 index 0000000..10a0da7 Binary files /dev/null and b/src/assets/dsa.png differ diff --git a/src/assets/eventimg1.png b/src/assets/eventimg1.png new file mode 100644 index 0000000..4b79e68 Binary files /dev/null and b/src/assets/eventimg1.png differ diff --git a/src/assets/eventimg2.jpg b/src/assets/eventimg2.jpg new file mode 100644 index 0000000..9d85afe Binary files /dev/null and b/src/assets/eventimg2.jpg differ diff --git a/src/assets/hacknocturneCat1.jpeg b/src/assets/hacknocturneCat1.jpeg new file mode 100644 index 0000000..45e7aba Binary files /dev/null and b/src/assets/hacknocturneCat1.jpeg differ diff --git a/src/assets/hacknocturneCat2.jpeg b/src/assets/hacknocturneCat2.jpeg new file mode 100644 index 0000000..252ff6a Binary files /dev/null and b/src/assets/hacknocturneCat2.jpeg differ diff --git a/src/assets/laptopguide.png b/src/assets/laptopguide.png new file mode 100644 index 0000000..2a8c1e4 Binary files /dev/null and b/src/assets/laptopguide.png differ diff --git a/src/assets/uiux.png b/src/assets/uiux.png new file mode 100644 index 0000000..07a873c Binary files /dev/null and b/src/assets/uiux.png differ diff --git a/src/assets/webdev.png b/src/assets/webdev.png new file mode 100644 index 0000000..4d8edfd Binary files /dev/null and b/src/assets/webdev.png differ diff --git a/src/assets/winner1.png b/src/assets/winner1.png new file mode 100644 index 0000000..507748a Binary files /dev/null and b/src/assets/winner1.png differ diff --git a/src/assets/winner2.png b/src/assets/winner2.png new file mode 100644 index 0000000..9357fa0 Binary files /dev/null and b/src/assets/winner2.png differ diff --git a/src/assets/winner3.png b/src/assets/winner3.png new file mode 100644 index 0000000..f19a22e Binary files /dev/null and b/src/assets/winner3.png differ diff --git a/src/index.css b/src/index.css index b01be23..95b7c53 100644 --- a/src/index.css +++ b/src/index.css @@ -15,16 +15,41 @@ -moz-osx-font-smoothing: grayscale; } -html, body { +html, +body { max-width: 100%; overflow-x: hidden; } .bg-tech-grid { background-image: - linear-gradient(to right, rgba(255,255,255,0.06) 1px, transparent 1px), - linear-gradient(to bottom, rgba(255,255,255,0.06) 1px, transparent 1px); + linear-gradient(to right, rgba(255, 255, 255, 0.06) 1px, transparent 1px), + linear-gradient(to bottom, rgba(255, 255, 255, 0.06) 1px, transparent 1px); background-size: 40px 40px; background-color: #0b0b0b; } +/* Custom Scrollbar for Modal */ +.custom-scrollbar::-webkit-scrollbar { + width: 8px; +} + +.custom-scrollbar::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.3); + border-radius: 10px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb { + background: linear-gradient(180deg, rgba(167, 139, 250, 0.4), rgba(139, 92, 246, 0.4)); + border-radius: 10px; +} + +.custom-scrollbar::-webkit-scrollbar-thumb:hover { + background: linear-gradient(180deg, rgba(167, 139, 250, 0.6), rgba(139, 92, 246, 0.6)); +} + +/* Firefox scrollbar */ +.custom-scrollbar { + scrollbar-width: thin; + scrollbar-color: rgba(167, 139, 250, 0.4) rgba(0, 0, 0, 0.3); +} \ No newline at end of file