Skip to content

Commit d964df5

Browse files
authored
Merge pull request #2 from shubhamhehe/main
changes
2 parents 6355724 + 0b6997e commit d964df5

File tree

8 files changed

+305
-117
lines changed

8 files changed

+305
-117
lines changed

frontend/src/components/About.tsx

Lines changed: 67 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ export default function About() {
9797
}
9898
9999
.animate-in .about-title {
100-
animation: slideInFromTop 0.8s ease-out forwards;
100+
animation: slideInFromTop 0.8s ease-out forwards,
101+
glowPulse 2s ease-in-out infinite 1s;
101102
}
102103
.animate-in .about-image-left {
103104
animation: slideInFromLeft 1s ease-out forwards;
@@ -167,40 +168,73 @@ export default function About() {
167168
100% {
168169
transform: translateY(0);
169170
}
170-
}
171+
}
171172
`}</style>
172173

173174
<section ref={sectionRef} className="relative -mb-32 bg-black text-white" id="about">
174-
<div ref={addToImagesRef} className="about-image-left absolute left-0 top-4 hidden lg:block">
175-
<Image src="/images/net.jpg" alt="Spiderweb" width={240} height={280} className="opacity-60" />
175+
<div
176+
ref={addToImagesRef}
177+
className="about-image-left absolute left-0 top-4 block"
178+
>
179+
<Image
180+
src="/images/net.jpg"
181+
alt="Spiderweb"
182+
width={240}
183+
height={280}
184+
className="opacity-60 w-28 sm:w-40 md:w-52 lg:w-60 h-auto object-contain"
185+
/>
176186
</div>
177-
<div ref={addToImagesRef} className="about-image-top absolute left-1/2 -translate-x-1/2 top-0 hidden lg:block">
178-
<Image src="/images/Vector.png" alt="vector" width={520} height={120} />
187+
188+
<div
189+
ref={addToImagesRef}
190+
className="about-image-top absolute left-1/2 -translate-x-1/2 top-0 block"
191+
>
192+
<Image
193+
src="/images/Vector.png"
194+
alt="Vector"
195+
width={520}
196+
height={120}
197+
className="w-40 sm:w-64 md:w-80 lg:w-[520px] h-auto object-contain"
198+
/>
179199
</div>
180-
<div ref={addToImagesRef} className="about-image-right absolute right-0 top-80 -translate-y-1/2 transform hidden lg:block">
181-
<Image src="/images/skeleton.png" alt="Skeleton" width={296} height={600} className="mt-[10rem] opacity-80" />
200+
201+
<div
202+
ref={addToImagesRef}
203+
className="about-image-right absolute right-0 top-60 sm:top-72 md:top-80 transform block"
204+
>
205+
<Image
206+
src="/images/skeleton.png"
207+
alt="Skeleton"
208+
width={296}
209+
height={600}
210+
className="opacity-80 mt-20 w-28 sm:w-40 md:w-52 lg:w-[296px] h-auto object-contain"
211+
/>
182212
</div>
183213

184-
<div className="container mx-auto px-4 sm:px-6 lg:px-8 py-20 sm:py-28 lg:py-40">
185-
<div className="mb-20 lg:mb-32">
186-
<h2 className="font-jolly about-title text-center text-[#ff0500] text-4xl sm:text-5xl lg:text-6xl mb-6">
214+
215+
<div className="container mx-auto px-4 sm:px-6 md:px-8 lg:px-12 py-12 sm:py-20 md:py-28 lg:py-40">
216+
<div className="mb-12 sm:mb-16 md:mb-20 lg:mb-32">
217+
<h2
218+
className="font-jolly about-title text-center text-[#ff0500] text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl mb-6">
187219
About Genesis
188220
</h2>
189-
<div ref={contentRef} className="about-content max-w-6xl mx-auto text-center">
190-
<p className="font-poppins text-white mb-4 text-base sm:text-lg">
191-
GENESIS Is Much More Than Just A Team, It&apos;s A Close-Knit Family. With A Diverse Group Of 50 Individuals,
192-
Each Bringing Their Own Set Of Skills And Experiences, The Connections They Share Go Far Beyond The
193-
Typical Work Relationship. From Managers To Supervisors To Executives, Everyone Comes Together With A
194-
Shared Vision And A Collective Purpose. GENESIS Is Built On Four Major Pillars: Technical, Sports,
195-
Cultural, And Social. But These Aren&apos;t Just Categories Or Labels, But Also &mdash; They&apos;re A Reflection Of The
196-
Unique Passions And Interests That Each Team Member Brings.
221+
222+
<div ref={contentRef} className="about-content max-w-4xl sm:max-w-5xl md:max-w-6xl mx-auto text-center px-2 sm:px-4">
223+
<p className="font-poppins text-white mb-4 text-xs sm:text-sm md:text-base lg:text-lg">
224+
GENESIS is much more than just a team, it&apos;s a close-knit family. With a diverse group of 50 individuals,
225+
each bringing their own set of skills and experiences, the connections they share go far beyond the
226+
typical work relationship. From managers to supervisors to executives, everyone comes together with a
227+
shared vision and a collective purpose. GENESIS is built on four major pillars: technical, sports,
228+
cultural, and social. But these aren&apos;t just categories or labels, but also &mdash; they&apos;re a reflection of the
229+
unique passions and interests that each team member brings.
197230
</p>
198-
<p className="font-poppins text-white text-base sm:text-lg">
199-
Some Are Creative Minds With A Knack For Design, Others Are Passionate Athletes, And Some Are Tech
200-
Experts. There Are Also Those Who Are Deeply Committed To Making A Social Impact. What Truly Makes GENESIS
201-
Stand Out, However, Is The Emotional Connection They Create With The People They Serve. Through Events
202-
Like Cultural Festivals That Unite Different Groups And Sports Activities That Promote Camaraderie And
203-
Healthy Competition, GENESIS Fosters A Strong Sense Of Community Among Students, Faculty, And Beyond.
231+
232+
<p className="font-poppins text-white text-xs sm:text-sm md:text-base lg:text-lg">
233+
Some are creative minds with a knack for design, others are passionate athletes, and some are tech
234+
experts. There are also those who are deeply committed to making a social impact. What truly makes GENESIS
235+
stand out, however, is the emotional connection they create with the people they serve. Through events
236+
like cultural festivals that unite different groups and sports activities that promote camaraderie and
237+
healthy competition, GENESIS fosters a strong sense of community among students, faculty, and beyond.
204238
</p>
205239
</div>
206240
</div>
@@ -293,20 +327,20 @@ export function AboutHackman() {
293327
<div className="relative py-10 sm:py-12 lg:py-16">
294328
<div
295329
ref={addToImagesRef}
296-
className="absolute top-1/2 left-0 -translate-y-1/2 transform hidden lg:block left-bat"
330+
className="absolute top-1/2 left-0 -translate-y-1/2 transform left-bat"
297331
>
298332
<Image src="/images/left_bat.png" alt="Bats" width={400} height={200} />
299333
</div>
300334
<div
301335
ref={addToImagesRef}
302-
className="absolute top-1/2 right-0 -translate-y-1/2 transform hidden lg:block right-bat"
336+
className="absolute top-1/2 right-0 -translate-y-1/2 transform right-bat"
303337
>
304338
<Image src="/images/right_bat.png" alt="Bats" width={400} height={200} />
305339
</div>
306340

307341
<div className="container mx-auto px-4 text-center" ref={contentRef}>
308-
<h2 className="font-jolly about-title text-[#ff0500] text-4xl sm:text-5xl lg:text-6xl mb-10">
309-
About Hackman V8.0
342+
<h2 className="font-jolly about-title text-[#ff0500] text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl mb-10">
343+
About Hackman V8
310344
</h2>
311345

312346
<div
@@ -322,10 +356,10 @@ export function AboutHackman() {
322356
</h1>
323357

324358
<p className="font-poppins text-[#747474] text-sm sm:text-base mb-6 leading-relaxed">
325-
Our Grand Ritual, Hackman 2025, Rises From The Shadows As A 36-Hour Haunted Hackathon, Where
326-
Restless Minds Gather To Code, Create, And Conquer The Dark. Guided By The Wisdom Of The
327-
Masters Of The Craft, Participants Will Battle Sleepless Nights, Conjure Groundbreaking
328-
Ideas, And Fight For Wicked Prizes, Swag, And Eerie Goodies &mdash; Only The Brave Will Survive!
359+
Our Grand Ritual, Hackman 2025, rises from the shadows as a 36-Hour Haunted Hackathon, where
360+
restless minds gather to code, create, and conquer the dark. Guided by the wisdom of the
361+
masters of the craft, participants will battle sleepless nights, conjure groundbreaking
362+
ideas, and fight for wicked prizes, swag, and eerie goodies &mdash; only the brave will survive!
329363
</p>
330364
<button className="bg-[#fe772d] hover:bg-orange-600 text-xl sm:text-2xl lg:text-3xl text-gray-900 font-jolly font-bold py-2 sm:py-3 px-8 sm:px-12 lg:px-[4rem] rounded-[1rem] sm:rounded-[1.5rem] transition-colors duration-300">
331365
View Details

frontend/src/components/Contact.tsx

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import React, { useEffect, useRef, useState } from 'react';
44
import { Jolly_Lodger, Poppins } from "next/font/google";
55
import Image from "next/image";
6-
import { toast } from 'react-hot-toast';
6+
import { Toaster, toast } from 'react-hot-toast'; //
77

88
const jollyLodger = Jolly_Lodger({ weight: "400", subsets: ["latin"] });
99
const poppins = Poppins({ weight: "400", subsets: ["latin"] });
@@ -30,13 +30,11 @@ export default function Contact() {
3030
e.preventDefault();
3131

3232
if (!formData.name || !formData.email || !formData.message) {
33-
toast.dismiss(); // Clear any existing toasts
3433
toast.error("Please fill out all fields.");
3534
return;
3635
}
3736

3837
setIsSubmitting(true);
39-
toast.dismiss(); // Clear any existing toasts before starting
4038

4139
const submitPromise = fetch('/api/contact', {
4240
method: 'POST',
@@ -100,6 +98,19 @@ export default function Contact() {
10098

10199
return (
102100
<>
101+
<Toaster
102+
position="top-center"
103+
reverseOrder={false}
104+
toastOptions={{
105+
style: {
106+
border: '1px solid #FF0700',
107+
padding: '16px',
108+
color: '#FFFFFF',
109+
background: 'rgba(0,0,0,0.9)'
110+
},
111+
}}
112+
/>
113+
103114
<style jsx global>{`
104115
/* --- Styles for browser autofill fix --- */
105116
input:-webkit-autofill,
@@ -132,7 +143,7 @@ export default function Contact() {
132143
</div>
133144

134145
<div ref={contentRef} className="relative z-10 flex flex-col items-center max-w-[700px] mx-auto justify-start pt-10 md:pt-20 px-4 pb-10">
135-
<h2 className={`${jollyLodger.className} text-[#FF0000] text-5xl md:text-7xl lg:text-8xl text-center mb-8 md:mb-12`}>
146+
<h2 className={`${jollyLodger.className} text-[#FF0000] text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl text-center mb-8 md:mb-12`}>
136147
Contact Us
137148
</h2>
138149
<form
@@ -142,15 +153,22 @@ export default function Contact() {
142153
<input type="text" name="name" placeholder="Your Name" value={formData.name} onChange={handleChange} className="w-full p-3 md:p-4 bg-[#121212] rounded-lg focus:outline-none focus:ring-2 focus:ring-red-500 transition-all duration-300 placeholder-gray-500" />
143154
<input type="email" name="email" placeholder="Your Email Id" value={formData.email} onChange={handleChange} className="w-full p-3 md:p-4 bg-[#121212] rounded-lg focus:outline-none focus:ring-2 focus:ring-red-500 transition-all duration-300 placeholder-gray-500" />
144155
<textarea name="message" placeholder="Message" rows={4} value={formData.message} onChange={handleChange} className="w-full p-3 md:p-4 bg-[#121212] rounded-lg focus:outline-none focus:ring-2 focus:ring-red-500 transition-all duration-300 placeholder-gray-500 resize-none" />
145-
<button type="submit" disabled={isSubmitting} className={`${jollyLodger.className} w-full md:w-[45%] mx-auto block bg-gradient-to-r from-[#FF0500] to-[#FE772D] text-white font-bold rounded-xl text-xl md:text-2xl py-4 md:py-5 transform transition-all duration-300 hover:scale-105 hover:shadow-2xl hover:shadow-orange-500/50 disabled:opacity-50 disabled:scale-100 disabled:cursor-not-allowed uppercase tracking-wider relative overflow-hidden group`} >
146-
<span className="relative z-10">{isSubmitting ? "Sending..." : "Send Message"}</span>
147-
<span className="absolute inset-0 bg-gradient-to-r from-[#FE772D] to-[#FF0500] transform scale-x-0 group-hover:scale-x-100 transition-transform duration-300 origin-left"></span>
156+
<button type="submit" disabled={isSubmitting} className={`${jollyLodger.className} w-full md:w-[40%] mx-auto block bg-[#FE772D] text-gray-800 rounded-xl text-xl md:text-2xl py-3 md:py-4 transform transition-all duration-300 hover:scale-105 hover:bg-[#E5691F] hover:shadow-xl disabled:opacity-50 disabled:scale-100 disabled:cursor-not-allowed`} >
157+
{isSubmitting ? "Sending..." : "Send Message"}
148158
</button>
149159
</form>
150160
</div>
151161

152162
<footer ref={addToElementsRef} className="relative w-full h-[150px] md:h-[500px] z-20 flex flex-col justify-center items-center text-center" style={{ backgroundColor: 'rgba(0,0,0,0.1)', backgroundImage: "url('/grass.png')", backgroundSize: 'cover', backgroundPosition: 'bottom center', backgroundRepeat: 'no-repeat' }}>
153-
<Image src="/genesis-2k25-logo.png" alt="Genesis 2025 Logo" width={188} height={188} className="mb-4 md:mb-6 mt-8 md:mt-50 w-[125px] md:w-[188px] h-auto filter brightness-75" />
163+
<Image src="/genesis-2k25-logo.png" alt="Genesis 2025 Logo" width={150} height={150} className="mb-4 md:mb-6 mt-8 md:mt-50 w-[100px] md:w-[150px] h-auto filter brightness-75" />
164+
<nav className={`${poppins.className} flex flex-wrap justify-center space-x-4 md:space-x-8 text-gray-300 text-xs md:text-sm`}>
165+
<a href="#hero" className="hover:text-red-500 transition-colors duration-220">Home</a>
166+
<a href="#events" className="hover:text-red-500 transition-colors duration-220">Events</a>
167+
<a href="#sponsors" className="hover:text-red-500 transition-colors duration-220">Sponsors</a>
168+
<a href="#leads" className="hover:text-red-500 transition-colors duration-220">Leads</a>
169+
<a href="#gallery" className="hover:text-red-500 transition-colors duration-220">Gallery</a>
170+
<a href="#members" className="hover:text-red-500 transition-colors duration-220">Members</a>
171+
</nav>
154172
<p className="w-full text-center text-xs text-[#555555] py-2 md:mt-5">
155173
Made With <span className="text-red-500">❤️</span> By Genesis. All Rights Reserved.
156174
</p>

frontend/src/components/FAQ.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import React, { useState, useRef, useEffect } from 'react';
44
import Image from 'next/image';
5+
import { Jolly_Lodger, Poppins } from "next/font/google";
56
import styles from '../styles/FAQ.module.css';
7+
const jollyLodger = Jolly_Lodger({ weight: "400", subsets: ["latin"] });
8+
const poppins = Poppins({ weight: "400", subsets: ["latin"] });
69

710
interface FAQItemProps {
811
question: string;
@@ -87,7 +90,10 @@ const FAQ: React.FC = () => {
8790
50% { transform: translateY(-20px); }
8891
100% { transform: translateY(0); }
8992
}
90-
93+
.animate-in .faq-title {
94+
animation: slideInFromTop 0.8s ease-out forwards,
95+
glowPulse 2s ease-in-out infinite 1s;
96+
}
9197
.floatingSkull {
9298
animation: floatUpDown 2s ease-in-out infinite;
9399
}
@@ -103,7 +109,11 @@ const FAQ: React.FC = () => {
103109
/>
104110

105111
<div className={styles.faqContent}>
106-
<h2 className={styles.faqTitle}>Frequently Asked Questions</h2>
112+
{/* <h2 className={`${jollyLodger.className} text-[#FF0000] text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl text-center mb-8 md:mb-12`}> */}
113+
{/* <h2 className={`${styles.faqTitle} text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl faq-title text-center mb-6`}> */}
114+
<h2 className={styles.faqTitle}>
115+
Frequently Asked Questions
116+
</h2>
107117
<div className={styles.faqContainer}>
108118
{faqData.map((item, index) => (
109119
<FAQItem key={item.id} index={index} question={item.question} answer={item.answer} />

frontend/src/components/Gallery.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export default function Gallery() {
5050
if (entry.isIntersecting) {
5151
entry.target.classList.add("animate-in");
5252
imagesRef.current.forEach((img, index) => {
53-
if (img) img.style.animationDelay = `${0.01 + index * 0.08}s`;
53+
if (img) img.style.animationDelay = `${0.01 + index * 0.03}s`;
5454
});
5555
} else {
5656
entry.target.classList.remove("animate-in");
@@ -161,7 +161,7 @@ export default function Gallery() {
161161

162162
<div className="container mx-auto px-4">
163163
<h2
164-
className={`${jolly.className} gallery-title text-[#FF0700] text-[72px] text-center mb-12`}
164+
className={`${jolly.className} gallery-title text-[#FF0700] text-2xl sm:text-3xl md:text-4xl lg:text-5xl xl:text-6xl text-center mb-12`}
165165
>
166166
Gallery
167167
</h2>

0 commit comments

Comments
 (0)