Skip to content

Commit 126ce7a

Browse files
authored
Merge pull request CSEC-NITH#33 from workonlly/main
sujal and lavish work done
2 parents abfef3f + aa0583d commit 126ce7a

16 files changed

Lines changed: 1320 additions & 679 deletions

package-lock.json

Lines changed: 481 additions & 72 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/sponsors/hackerearth.png

41.3 KB
Loading

public/sponsors/unstop.webp

4.39 KB
Loading

public/sponsors/uptoskills.png

58.2 KB
Loading

src/app/codearena/page.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ import PrizePool from "../../components/PrizePool";
77
import Countdown from "../../components/Countdown";
88
import Timeline from "../../components/timeline";
99
import QueryForm from "../../components/queryform";
10+
import Events from "../../components/events1";
1011
export default function Home() {
1112
return (
1213
<>
1314
<Background />
1415
<CodeArena/>
1516
<Countdown/>
1617
<AboutCompetition/>
18+
<Events></Events>
1719
<PrizePool/>
1820
<Timeline/>
1921
<Sponsors/>

src/app/landing/page.tsx

Lines changed: 119 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -90,51 +90,125 @@ export default function Landing() {
9090
}}
9191
/>
9292
</h2>
93-
<motion.button
94-
whileHover={{ scale: 1.08 }}
95-
whileTap={{ scale: 0.95 }}
96-
className="mt-6 px-6 py-3 rounded-full bg-gradient-to-r from-indigo-500 via-purple-500 to-pink-500
97-
text-white font-semibold shadow-lg hover:shadow-xl transition-all duration-300"
98-
>
99-
<a
100-
href="/codearena"
101-
onClick={handleClick}
102-
className="relative inline-flex items-center justify-center px-12 py-6 text-lg font-mono font-medium tracking-tighter text-white rounded-2xl
103-
bg-gradient-to-r from-purple-600 via-indigo-600 to-pink-600
104-
shadow-lg hover:shadow-2xl
105-
transition-all duration-300
106-
group overflow-hidden
107-
disabled:opacity-70"
108-
>
109-
{/* Glow Effect */}
110-
<span className="absolute inset-0 bg-white/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></span>
111-
112-
{/* Animated Border */}
113-
<span className="absolute inset-0 rounded-2xl border-2 border-transparent group-hover:border-white/40 transition-all duration-300"></span>
114-
115-
{/* Content */}
116-
<span className="relative flex flex-col items-center justify-center text-center leading-tight transition-all duration-300">
117-
{loading ? (
118-
<div className="flex flex-col items-center gap-3 animate-fadeIn">
119-
<div className="w-7 h-7 border-4 border-white/80 border-t-transparent rounded-full animate-spin"></div>
120-
<span className="text-sm tracking-widest opacity-90 animate-pulse">
121-
Redirecting...
122-
</span>
123-
</div>
124-
) : (
125-
<div className="transition-all duration-300 group-hover:scale-105">
126-
<span className="text-2xl">
127-
Welcome to Code Arena
128-
</span>
129-
<br />
130-
<span className="text-sm tracking-widest opacity-90">
131-
OUR LATEST EVENT
132-
</span>
133-
</div>
134-
)}
135-
</span>
136-
</a>
137-
</motion.button>
93+
<motion.div
94+
initial={{ opacity: 0, y: 20 }}
95+
animate={{ opacity: 1, y: 0 }}
96+
transition={{ duration: 0.8, delay: 0.4 }}
97+
>
98+
<style>{`
99+
.get-started-btn {
100+
position: relative;
101+
display: inline-flex;
102+
align-items: center;
103+
justify-content: center;
104+
padding: 14px 48px;
105+
border-radius: 10px;
106+
background: rgba(0, 0, 0, 0.4);
107+
border: 1.5px solid rgba(255, 255, 255, 0.3);
108+
cursor: pointer;
109+
text-decoration: none;
110+
transition: all 0.3s ease;
111+
overflow: hidden;
112+
min-width: 200px;
113+
box-shadow: 0 0 20px rgba(255, 255, 255, 0.1), inset 0 0 20px rgba(255, 255, 255, 0.05);
114+
animation: glowPulse 3s ease-in-out infinite;
115+
}
116+
117+
.get-started-btn::before {
118+
content: '';
119+
position: absolute;
120+
top: 0;
121+
left: -100%;
122+
width: 100%;
123+
height: 100%;
124+
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
125+
transition: left 0.5s ease;
126+
}
127+
128+
.get-started-btn:hover::before {
129+
left: 100%;
130+
}
131+
132+
.get-started-btn:hover {
133+
background: rgba(0, 0, 0, 0.5);
134+
border-color: rgba(255, 255, 255, 0.5);
135+
box-shadow: 0 0 30px rgba(255, 255, 255, 0.3), inset 0 0 20px rgba(255, 255, 255, 0.15);
136+
transform: scale(1.05);
137+
animation: glowPulse 1.5s ease-in-out infinite;
138+
}
139+
140+
.get-started-btn:active {
141+
transform: scale(0.98);
142+
}
143+
144+
.btn-text {
145+
font-size: 18px;
146+
font-weight: 500;
147+
letter-spacing: 1px;
148+
color: #ffffff;
149+
text-shadow: 0 0 15px rgba(255, 255, 255, 0.6), 0 0 30px rgba(255, 255, 255, 0.3);
150+
transition: all 0.3s ease;
151+
position: relative;
152+
z-index: 1;
153+
animation: textFloat 3s ease-in-out infinite;
154+
}
155+
156+
.get-started-btn:hover .btn-text {
157+
text-shadow: 0 0 20px rgba(255, 255, 255, 0.9), 0 0 40px rgba(255, 255, 255, 0.6);
158+
animation: textFloat 1.5s ease-in-out infinite;
159+
}
160+
161+
.spinner {
162+
width: 20px;
163+
height: 20px;
164+
border: 2px solid rgba(255, 255, 255, 0.2);
165+
border-top: 2px solid #ffffff;
166+
border-radius: 50%;
167+
animation: spin 0.8s linear infinite;
168+
margin-right: 10px;
169+
position: relative;
170+
z-index: 1;
171+
}
172+
173+
@keyframes spin {
174+
to { transform: rotate(360deg); }
175+
}
176+
177+
@keyframes glowPulse {
178+
0%, 100% {
179+
box-shadow: 0 0 20px rgba(255, 255, 255, 0.1), inset 0 0 20px rgba(255, 255, 255, 0.05);
180+
}
181+
50% {
182+
box-shadow: 0 0 30px rgba(255, 255, 255, 0.2), inset 0 0 25px rgba(255, 255, 255, 0.1);
183+
}
184+
}
185+
186+
@keyframes textFloat {
187+
0%, 100% {
188+
transform: translateY(0px);
189+
letter-spacing: 1px;
190+
}
191+
50% {
192+
transform: translateY(-2px);
193+
letter-spacing: 1.5px;
194+
}
195+
}
196+
`}</style>
197+
198+
<a
199+
href="/codearena"
200+
className="get-started-btn"
201+
>
202+
{loading ? (
203+
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
204+
<div className="spinner"></div>
205+
<span className="btn-text">Entering...</span>
206+
</div>
207+
) : (
208+
<span className="btn-text">CodeArena</span>
209+
)}
210+
</a>
211+
</motion.div>
138212
</motion.div>
139213
</div>
140214

0 commit comments

Comments
 (0)