From 84aab0cf9242c18866f8dad30aec5478a0eb02b1 Mon Sep 17 00:00:00 2001 From: Rahul Kumar Sahu Date: Mon, 29 Jun 2026 18:31:27 +0530 Subject: [PATCH 1/3] Improve UI/UX and add dark mode support --- package-lock.json | 11 +++ package.json | 1 + src/App.jsx | 6 ++ src/components/AboutSection.jsx | 17 +--- src/components/AchievementCard.jsx | 28 +++---- src/components/Achievements.jsx | 20 ++--- src/components/EventCard.jsx | 29 ++++--- src/components/Footer.jsx | 2 +- src/components/GallerySection.jsx | 10 +-- src/components/HeroSection.jsx | 25 +++--- src/components/MissionSection.jsx | 14 ++-- src/components/Navbar.jsx | 101 ++++++++++++++++-------- src/components/Sponsor.jsx | 10 +-- src/components/Team.jsx | 20 ++--- src/components/ThemeToggle.jsx | 82 +++++++++++++++++++ src/components/Timeline.jsx | 26 +++--- src/config/navbarHero.js | 2 +- src/config/theme.js | 43 ++++++++++ src/index.css | 2 + src/pages/applications/Applications.jsx | 38 ++++----- src/pages/events/Events.jsx | 26 +++--- src/pages/gallery/Gallery.jsx | 10 +-- src/pages/team/TeamPage.jsx | 44 +++++------ 23 files changed, 373 insertions(+), 194 deletions(-) create mode 100644 src/components/ThemeToggle.jsx create mode 100644 src/config/theme.js diff --git a/package-lock.json b/package-lock.json index cc19eb2..437e7b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@tailwindcss/vite": "^4.1.11", "lucide-react": "^0.525.0", + "next-themes": "^0.4.6", "react": "^19.1.0", "react-dom": "^19.1.0", "react-icons": "^5.5.0", @@ -3238,6 +3239,16 @@ "dev": true, "license": "MIT" }, + "node_modules/next-themes": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", + "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" + } + }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", diff --git a/package.json b/package.json index 46ea31a..cd9cb4e 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "dependencies": { "@tailwindcss/vite": "^4.1.11", "lucide-react": "^0.525.0", + "next-themes": "^0.4.6", "react": "^19.1.0", "react-dom": "^19.1.0", "react-icons": "^5.5.0", diff --git a/src/App.jsx b/src/App.jsx index 41aef08..8a72c3c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,8 +1,14 @@ import Footer from "./components/Footer.jsx"; import Navbar from "./components/Navbar.jsx"; import { Outlet } from "react-router-dom"; +import { useEffect } from "react"; +import { applyTheme } from "./config/theme"; const App = () => { + useEffect(() => { + applyTheme(); + }, []); + return ( <> diff --git a/src/components/AboutSection.jsx b/src/components/AboutSection.jsx index c0c2b97..ab2208d 100644 --- a/src/components/AboutSection.jsx +++ b/src/components/AboutSection.jsx @@ -4,7 +4,7 @@ export default function AboutSection() { return (
{/* Image Section */} @@ -24,24 +24,13 @@ export default function AboutSection() { {/* Text Content */}
-

+

{siteConfig.about.title}

-

+

{siteConfig.about.description}

- -
diff --git a/src/components/AchievementCard.jsx b/src/components/AchievementCard.jsx index 3d37d0b..ea84bd7 100644 --- a/src/components/AchievementCard.jsx +++ b/src/components/AchievementCard.jsx @@ -26,7 +26,7 @@ const ImageCarousel = ({ images, title }) => { return (
-
+
{`${title}
setIsHovered(true)} @@ -140,8 +140,8 @@ const AchievementCard = ({
{/* Top accent line with animation */} -
-
+
+
@@ -150,8 +150,8 @@ const AchievementCard = ({ {/* Year badge with enhanced styling */}
-
- +
+ {year}
- +
{/* Title with enhanced typography */} -

+

{title}

{/* Description with better spacing */} -

+

{description}

@@ -177,12 +177,12 @@ const AchievementCard = ({
-
+
diff --git a/src/components/Achievements.jsx b/src/components/Achievements.jsx index 8ecbd3c..a3bf140 100644 --- a/src/components/Achievements.jsx +++ b/src/components/Achievements.jsx @@ -5,15 +5,15 @@ export default function Achievements() { const navigate = useNavigate(); return ( -
+
{/* Header Section */}
-

+

Our Achievements

-

+

ASME NIT Rourkela excels in fostering innovation and leadership through workshops, competitions, and expert lectures. Recognized for achievements in events like the Student Design Challenge and @@ -26,7 +26,7 @@ export default function Achievements() {

{/* Accent line */} -
+
); }; diff --git a/src/components/Footer.jsx b/src/components/Footer.jsx index b1c5c30..c08c814 100644 --- a/src/components/Footer.jsx +++ b/src/components/Footer.jsx @@ -13,7 +13,7 @@ const Footer = ({ year = new Date().getFullYear(), }) => { return ( -