diff --git a/src/app/global.css b/src/app/global.css
new file mode 100644
index 0000000..68e31eb
--- /dev/null
+++ b/src/app/global.css
@@ -0,0 +1,55 @@
+html {
+ scroll-behavior: smooth;
+}
+
+.gradient-bg {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ overflow: hidden;
+ z-index: -1;
+ will-change: transform;
+ }
+
+ .gradients-container {
+ position: absolute;
+ top: -50%;
+ left: -50%;
+ right: -50%;
+ bottom: -50%;
+ width: 200%;
+ height: 200%;
+ transform: translateZ(0);
+ filter: url('#goo');
+ }
+
+ .g1, .g2, .g3, .g4, .g5 {
+ position: absolute;
+ width: 200px;
+ height: 200px;
+ border-radius: 50%;
+ mix-blend-mode: multiply;
+ animation: blob 15s ease-in-out infinite alternate;
+ transform: translateZ(0);
+ }
+
+ .g1 { background: radial-gradient(circle at center, rgba(255,0,0,0.5) 0%, rgba(255,0,0,0) 70%); }
+ .g2 { background: radial-gradient(circle at center, rgba(0,255,0,0.5) 0%, rgba(0,255,0,0) 70%); }
+ .g3 { background: radial-gradient(circle at center, rgba(0,0,255,0.5) 0%, rgba(0,0,255,0) 70%); }
+ .g4 { background: radial-gradient(circle at center, rgba(255,255,0,0.5) 0%, rgba(255,255,0,0) 70%); }
+ .g5 { background: radial-gradient(circle at center, rgba(0,255,255,0.5) 0%, rgba(0,255,255,0) 70%); }
+
+ @keyframes blob {
+ 0%, 100% { transform: translate(0, 0) scale(1); }
+ 25% { transform: translate(150px, -100px) scale(0.8); }
+ 50% { transform: translate(-100px, 200px) scale(1.2); }
+ 75% { transform: translate(200px, 100px) scale(0.9); }
+ }
+
+ @media (prefers-reduced-motion: reduce) {
+ .g1, .g2, .g3, .g4, .g5 {
+ animation: none;
+ }
+ }
\ No newline at end of file
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index e8c51ba..94bd1a2 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,9 +1,7 @@
import 'index.css';
+import './global.css';
import type { Metadata } from 'next';
-// import Navbar from '@components/Navbar';
-// import { BackgroundGradientAnimation } from '@components/ui/background-gradient-animation';
-// it seems that Aceternity ui background gradient makes the page unresponsive to scroll, and no content other than the front page is visible
import GradientBackground from '@components/GradientBackground';
import gsap from 'gsap';
import { useGSAP } from '@gsap/react';
@@ -67,16 +65,7 @@ export default function RootLayout({
-
-
-
+
{children}
diff --git a/src/components/AnalyticsCard.jsx b/src/components/AnalyticsCard.jsx
index 799dfef..6c55b10 100644
--- a/src/components/AnalyticsCard.jsx
+++ b/src/components/AnalyticsCard.jsx
@@ -2,21 +2,21 @@ export default function AnalyticsCard({ icon, number, unit, title, gradientColor
return (
-
+
{icon}
-
-
diff --git a/src/components/AnalyticsSection.jsx b/src/components/AnalyticsSection.jsx
index 40c1505..b841057 100644
--- a/src/components/AnalyticsSection.jsx
+++ b/src/components/AnalyticsSection.jsx
@@ -12,18 +12,13 @@ const iconMap = {
export default function AnalyticsSection() {
return (
<>
-
+
{analyticsData.map((data, index) => (
diff --git a/src/components/GradientBackground.jsx b/src/components/GradientBackground.jsx
index 87ba6b3..6e91ba5 100644
--- a/src/components/GradientBackground.jsx
+++ b/src/components/GradientBackground.jsx
@@ -1,16 +1,12 @@
-// import InteractiveBubble from './interactiveBubble';
+import React from 'react';
export default function GradientBackground() {
return (
-
- {/*
- WARNING: Uncommenting this will make background interactive but will also make the website very laggy!
- < InteractiveBubble />
- */}
);
diff --git a/src/components/HeroSection.jsx b/src/components/HeroSection.jsx
index 2022e58..589b447 100644
--- a/src/components/HeroSection.jsx
+++ b/src/components/HeroSection.jsx
@@ -63,10 +63,10 @@ const HeroSection = () => {
diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx
index dddcefc..3b552d2 100644
--- a/src/components/Navbar.jsx
+++ b/src/components/Navbar.jsx
@@ -1,4 +1,5 @@
'use client';
+import Link from 'next/link';
import { useState, useEffect } from 'react';
import { useGSAP } from '@gsap/react';
import gsap from 'gsap/gsap-core';
@@ -40,9 +41,10 @@ export default function Navbar() {
const containerStyle = {
position: "fixed",
top: topbarPosition,
- width: 'calc(100vw - 100px)',
- left: '50px',
- marginTop: '20px',
+ // width: 'calc(100vw - 100px)',
+ // width: '50%',
+ // left: '50px',
+ // marginTop: '20px',
display: "flex",
justifyContent: "space-between",
alignItems: "center",
@@ -60,10 +62,10 @@ export default function Navbar() {
}
return (
-
+
-
-
+
+

(window.location.href = '/')} />
@@ -71,12 +73,12 @@ export default function Navbar() {
diff --git a/src/components/Partners.jsx b/src/components/Partners.jsx
index af42c0e..dcd1d5b 100644
--- a/src/components/Partners.jsx
+++ b/src/components/Partners.jsx
@@ -59,7 +59,7 @@ export default function Partners() {
];
return (
-
+
diff --git a/src/components/Schedule.jsx b/src/components/Schedule.jsx
index 03c1590..c5a6655 100644
--- a/src/components/Schedule.jsx
+++ b/src/components/Schedule.jsx
@@ -33,13 +33,13 @@ export const Schedule = () => {
Schedule
-
+
{Object.keys(scheduleData).map((date, index) => (
setActiveDate(date)}>
-
diff --git a/src/components/SessionTypes.jsx b/src/components/SessionTypes.jsx
index de6fb05..bc9d99f 100644
--- a/src/components/SessionTypes.jsx
+++ b/src/components/SessionTypes.jsx
@@ -31,7 +31,7 @@ export default function SessionTypes() {
];
return (
diff --git a/src/components/Speakers.jsx b/src/components/Speakers.jsx
index c1e3662..4072c59 100644
--- a/src/components/Speakers.jsx
+++ b/src/components/Speakers.jsx
@@ -1,12 +1,11 @@
import React from 'react';
-import SpeakerCard from './daywiseoverview/SpeakerCardV2';
+import SpeakerCard from './daywiseoverview/SpeakerCard';
import speakers from '../data/speakers.json';
export default function SpeakersPanel() {
return (
-
+
Speakers
@@ -22,6 +21,6 @@ export default function SpeakersPanel() {
/>
))}
-
+
);
}
\ No newline at end of file
diff --git a/src/components/daywiseoverview/SpeakerCard.jsx b/src/components/daywiseoverview/SpeakerCard.jsx
index e27e96e..4c2022b 100644
--- a/src/components/daywiseoverview/SpeakerCard.jsx
+++ b/src/components/daywiseoverview/SpeakerCard.jsx
@@ -1,21 +1,68 @@
-export default function SpeakerCard({ imgSrc, title, date, speaker }) {
+'use client';
+import React, { useState } from 'react';
+import { motion, AnimatePresence } from 'framer-motion';
+import { X } from 'lucide-react';
+
+const SpeakerCard = ({ title, experience, imgSrc, data }) => {
+ const [isOpen, setIsOpen] = useState(false);
+
+ const toggleModal = () => setIsOpen(!isOpen);
+
return (
-
-
- {title}
-
-
-
- 📅 {date}
-
-
- 👤 {speaker}
-
-
-

-
+ <>
+
+
+

+
+
+
{title}
+
{experience}
+
+
+
+
+
+
+ {isOpen && (
+
+
+
+
+

+
+
+
+
+
{title}
+
{experience}
+
+
+
+
{data}
+
+
+
+
+ )}
+
+ >
);
-}
+};
+
+export default SpeakerCard;
\ No newline at end of file
diff --git a/src/components/daywiseoverview/SpeakerCardV2.jsx b/src/components/daywiseoverview/SpeakerCardV2.jsx
deleted file mode 100644
index 2418a24..0000000
--- a/src/components/daywiseoverview/SpeakerCardV2.jsx
+++ /dev/null
@@ -1,68 +0,0 @@
-'use client';
-import React, { useState } from 'react';
-import { motion, AnimatePresence } from 'framer-motion';
-import { X } from 'lucide-react';
-
-const SpeakerCard = ({ title, experience, imgSrc, data }) => {
- const [isOpen, setIsOpen] = useState(false);
-
- const toggleModal = () => setIsOpen(!isOpen);
-
- return (
- <>
-
-
-

-
-
-
{title}
-
{experience}
-
-
-
-
-
-
- {isOpen && (
-
-
-
-
-

-
-
-
-
-
{title}
-
{experience}
-
-
-
-
{data}
-
-
-
-
- )}
-
- >
- );
-};
-
-export default SpeakerCard;
\ No newline at end of file
diff --git a/src/data/analytics.json b/src/data/analytics.json
index 032e01d..af668f3 100644
--- a/src/data/analytics.json
+++ b/src/data/analytics.json
@@ -3,44 +3,24 @@
"number": "+150",
"title": "Participants",
"unit": "students",
- "gradientColorFrom": "rose-700",
- "gradientColorVia": "orange-700",
- "gradientColorTo": "yellow-600",
- "bgColorFrom": "transparent",
- "bgColorTo": "gray-600",
"direction": "br"
},
{
"number": "+4",
"title": "Partners",
"unit": "organizations",
- "gradientColorFrom": "indigo-600",
- "gradientColorVia": "violet-700",
- "gradientColorTo": "purple-600",
- "bgColorFrom": "transparent",
- "bgColorTo": "gray-600",
"direction": "bl"
},
{
"number": "+20",
"title": "Speakers",
"unit": "experts",
- "gradientColorFrom": "lime-800",
- "gradientColorVia": "green-700",
- "gradientColorTo": "emerald-600",
- "bgColorFrom": "transparent",
- "bgColorTo": "gray-600",
"direction": "tr"
},
{
"number": "+4",
"title": "Sponsors",
"unit": "companies",
- "gradientColorFrom": "yellow-500",
- "gradientColorVia": "yellow-600",
- "gradientColorTo": "yellow-800",
- "bgColorFrom": "transparent",
- "bgColorTo": "gray-600",
"direction": "tl"
}
]
\ No newline at end of file