Skip to content

Commit 60fb91c

Browse files
authored
Merge branch 'OpencodeNIT-R:main' into latest-branch
2 parents a9f322b + 2d079c1 commit 60fb91c

20 files changed

Lines changed: 510 additions & 322 deletions

package-lock.json

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

src/App.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Footer from "./components/Footer.jsx";
22
import Navbar from "./components/Navbar.jsx";
3-
import { Outlet } from "react-router";
3+
import { Outlet } from "react-router-dom";
44

55
const App = () => {
66
return (

src/assets/achievementimg.jpg

677 KB
Loading

src/components/AboutSection.jsx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ import { siteConfig } from "../config/navbarHero";
33

44
export default function AboutSection() {
55
return (
6-
<section className="bg-white px-4 sm:px-6 md:px-10 lg:px-16 py-12 sm:py-16">
6+
<section
7+
id="about"
8+
className="bg-white px-4 sm:px-6 md:px-10 lg:px-16 py-12 sm:py-16"
9+
>
710
<div className="w-full max-w-[1600px] mx-auto flex flex-col md:flex-row items-center justify-between gap-y-10 gap-x-10 xl:gap-x-12 2xl:gap-x-14">
811
<div className="w-full max-w-[500px] px-2 md:px-0 mt-10 md:mt-0">
912
<img
@@ -29,12 +32,15 @@ export default function AboutSection() {
2932
</p>
3033

3134
<div className="flex flex-col sm:flex-row sm:justify-center md:justify-start items-center mt-6 gap-4">
32-
<Button
33-
className="bg-white text-blue-600 px-10 shadow-lg py-2 rounded-md border border-black transition duration-300 ease-in-out hover:bg-[rgba(6,25,70,1)] hover:text-white"
35+
<a
36+
href="#cards"
37+
role="button"
38+
tabIndex={0}
39+
className=" text-2xl h-12 justify-center items-center flex bg-[rgba(6,25,70,1)] text-[#ccc0c0] underline-offset-4 transition duration-300 ease-in-out hover:bg-none hover:bg-white hover:text-[#061946] font-semibold py-2 px-4 rounded"
3440
style={{ fontFamily: "Helvetica, Arial, sans-serif" }}
3541
>
3642
{siteConfig.about.button}
37-
</Button>
43+
</a>
3844
</div>
3945
</div>
4046
</div>

src/components/AchievementCard.jsx

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,30 @@
11
import { Calendar } from "lucide-react";
22

3-
const AchievementCard = ({
4-
title,
5-
description,
6-
image,
7-
date,
8-
isLeft,
9-
index,
10-
}) => {
3+
const AchievementCard = ({ title, description, year, isLeft, index }) => {
114
return (
125
<div
136
className={`flex items-center w-full mb-16 ${isLeft ? "justify-start" : "justify-end"}`}
7+
data-index={index}
148
style={{ animationDelay: `${index * 200}ms` }}
159
>
1610
<div
1711
className={`
18-
w-full max-w-md bg-gradient-card rounded-2xl shadow-card hover:shadow-card-hover
12+
w-full max-w-md rounded-2xl shadow-lg hover:shadow-xl border border-gray-200
1913
transition-all duration-500 hover:scale-105 group cursor-pointer
20-
${isLeft ? "animate-slide-in-left" : "animate-slide-in-right"}
14+
bg-white hover:border-blue-300
2115
`}
2216
>
23-
{/* Image */}
24-
<div className="relative overflow-hidden rounded-t-2xl">
25-
<img
26-
src={image}
27-
alt={title}
28-
className="w-full h-48 object-cover transition-transform duration-500 group-hover:scale-110"
29-
/>
30-
<div className="absolute inset-0 bg-primary/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
31-
</div>
32-
33-
{/* Content */}
3417
<div className="p-6">
35-
<div className="flex items-center text-muted text-sm mb-3">
18+
<div className="flex items-center text-gray-500 text-sm mb-3">
3619
<Calendar className="h-4 w-4 mr-2" />
37-
<span className="font-medium">{date}</span>
20+
<span className="font-medium">{year}</span>
3821
</div>
39-
40-
<h3 className="text-xl font-bold text-foreground mb-3 group-hover:text-primary transition-colors duration-300">
22+
<h3 className="text-xl font-bold mb-3 group-hover:texT-[#0B2044] transition-colors duration-300">
4123
{title}
4224
</h3>
25+
<p className="text-gray-700 leading-relaxed">{description}</p>
4326

44-
<p className="text-muted ">{description}</p>
45-
46-
{/* Decorative element */}
47-
<div className="mt-4 h-1 w-16 bg-gradient-primary rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
27+
<div className="mt-4 h-1 w-16 bg-blue-900 rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-300"></div>
4828
</div>
4929
</div>
5030
</div>

src/components/Achievements.jsx

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { useNavigate } from "react-router";
1+
import { useNavigate } from "react-router-dom";
22
import achievementsData from "../config/achievement";
33

44
export default function Achievements() {
55
const navigate = useNavigate();
66

77
return (
8-
<div className="px-4 md:px-12 py-8 max-w-screen-xl mx-auto">
8+
<div className="px-4 pt-32 md:pt-40 md:px-12 py-8 max-w-screen-xl mx-auto">
99
<div className="md:mb-48 mb-12">
1010
<h2 className="text-3xl font-bold text-blue-900 mb-4">
1111
Our Achievements
@@ -19,8 +19,8 @@ export default function Achievements() {
1919
solidifying their reputation for excellence in mechanical engineering.
2020
</p>
2121
<button
22-
className="bg-white text-blue-800 border border-blue-800 px-4 py-2 rounded hover:bg-blue-50 md:mb-12"
23-
onClick={() => navigate("/achievementpage")}
22+
className="bg-[rgba(6,25,70,1)] text-white border-blue-800 px-4 py-2 rounded hover:bg-blue-50 md:mb-12 hover:text-black"
23+
onClick={() => navigate("/achievements")}
2424
>
2525
View All Achievements &gt;
2626
</button>
@@ -31,25 +31,38 @@ export default function Achievements() {
3131
<div className="md:hidden absolute left-2 top-0 h-full w-1 bg-black z-0"></div>
3232

3333
<div className="flex flex-col md:flex-row items-start md:items-center justify-between relative z-10 md:mb-60">
34-
{achievementsData.map((item, index) => (
35-
<div
36-
key={index}
37-
className={`w-full md:w-1/4 px-4 md:mb-0 flex md:flex-col items-start md:items-center relative`}
38-
>
39-
<div className="absolute md:static left-0 md:left-auto top-2 md:top-auto md:mb-4 transform -translate-y-1/2 md:translate-y-1/2 w-4.5 h-4.5 bg-black border-2 border-white rounded-full z-20"></div>
40-
34+
{achievementsData
35+
.filter((item) => item.id <= 5)
36+
.map((item, index) => (
4137
<div
42-
className={`bg-white p-4 rounded-md w-full max-w-xs md:mt-0 md:absolute ${
43-
index % 2 === 0
44-
? "md:top-1/2 md:translate-y-6 self-start"
45-
: "md:bottom-1/2 md:-translate-y-6 self-end"
46-
}`}
38+
key={index}
39+
className={`w-full md:w-1/4 px-4 md:mb-0 flex md:flex-col items-start md:items-center relative`}
4740
>
48-
<h3 className="font-bold text-lg text-black">{item.title}</h3>
49-
<p className="text-sm text-gray-600 mt-2">{item.description}</p>
41+
<div className="absolute md:static left-0 md:left-auto top-2 md:top-auto md:mb-4 transform -translate-y-1/2 md:translate-y-1/2 w-4.5 h-4.5 bg-black border-2 border-white rounded-full z-20"></div>
42+
43+
<div
44+
className={`bg-white p-4 rounded-md w-full max-w-xs md:mt-0 md:absolute ${
45+
index % 2 === 0
46+
? "md:top-1/2 md:translate-y-6 self-start"
47+
: "md:bottom-1/2 md:-translate-y-6 self-end"
48+
}`}
49+
>
50+
<h3 className="font-bold text-lg text-black">{item.year}</h3>
51+
<h4
52+
className="text-sm text-black decoration-4"
53+
style={{ display: "inline" }}
54+
>
55+
{item.title}:{" "}
56+
</h4>
57+
<p
58+
className="text-sm text-gray-700"
59+
style={{ display: "inline" }}
60+
>
61+
{item.description}
62+
</p>
63+
</div>
5064
</div>
51-
</div>
52-
))}
65+
))}
5366
</div>
5467
</div>
5568
</div>

src/components/EventCard.jsx

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,19 @@
11
import React from "react";
22

3-
const EventCard = () => {
3+
const EventCard = ({ title, description, image }) => {
44
return (
55
<div className="bg-gray-50 rounded-xl shadow-md overflow-hidden flex flex-col md:flex-row border-2 border-[#0B2044]">
66
<img
7-
src="https://res.cloudinary.com/dswk9scro/image/upload/v1752313324/image_urekzp.png"
8-
alt="Event"
9-
className="w-full md:w-2/5 object-cover"
7+
src={image}
8+
alt={title}
9+
className="w-full md:w-2/5 object-cover aspect-[4/3]"
1010
/>
1111
<div className="p-4 flex flex-col justify-center">
12-
<h3 className="text-xl font-semibold text-[#0B2044]">Sample Event</h3>
13-
<p className="text-sm text-gray-600 mt-1">
14-
Placeholder description for the event.
15-
</p>
16-
<p className="text-sm text-gray-400 mt-2">Date: 25 Aug 2025</p>
12+
<h3 className="text-2xl font-semibold text-[#0B2044]">{title}</h3>
13+
<p className="text-base text-gray-600 mt-2">{description}</p>
1714
</div>
1815
</div>
1916
);
2017
};
18+
2119
export default EventCard;

src/components/Footer.jsx

Lines changed: 23 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,32 @@
11
import { Link } from "react-router-dom";
2-
import {
3-
FaFacebookF,
4-
FaTwitter,
5-
FaInstagram,
6-
FaLinkedinIn,
7-
} from "react-icons/fa";
2+
import { FaInstagram, FaLinkedinIn } from "react-icons/fa";
83
import { FiMail, FiPhone } from "react-icons/fi";
94
import { GoLocation } from "react-icons/go";
5+
106
const Footer = ({
117
title = "ASME NIT Rourkela Chapter",
128
description = "The American Society of Mechanical Engineers Student Chapter at NIT Rourkela, fostering a culture of innovation and technical learning through innovation, collaboration, and hands-on learning.",
13-
149
social = {
15-
facebook: "#",
16-
twitter: "#",
17-
instagram: "#",
18-
linkedin: "#",
10+
instagram: "https://www.instagram.com/asme.nitrkl/",
11+
linkedin: "https://www.linkedin.com/company/asme-nit-rourkela",
1912
},
2013
year = new Date().getFullYear(),
2114
}) => {
2215
return (
23-
<footer className="bg-[#0B2044] text-white px-10 py-8">
24-
<div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-3 gap-8">
25-
{/* Left Section */}
26-
<div>
27-
<div className="flex gap-4 mb-4 flex-wrap">
16+
<footer className="bg-[#0B2044] text-white px-4 py-8 sm:px-8 sm:py-10 md:px-12 md:py-12">
17+
<div className="max-w-7xl mx-auto grid grid-cols-1 gap-10 sm:gap-12 md:grid-cols-3 md:gap-8">
18+
{/* Logo and Description Section */}
19+
<div className="order-1 md:order-none">
20+
<div className="flex items-center gap-4 mb-6 flex-wrap">
2821
<img
2922
src="https://res.cloudinary.com/dswk9scro/image/upload/v1752377324/Group_cropped_qgqzw9.png"
3023
alt="ASME Logo"
31-
className="w-8 h-8 object-contain"
24+
className="w-12 h-12 object-contain"
3225
/>
33-
<h2 className="text-xl font-bold">{title}</h2>
26+
<h2 className="text-2xl font-bold">{title}</h2>
3427
</div>
35-
36-
<p className="text-sm">{description}</p>
37-
<div className="flex gap-4 mt-4 text-lg">
38-
<a
39-
href={social.facebook}
40-
aria-label="Facebook"
41-
target="_blank"
42-
rel="noopener noreferrer"
43-
>
44-
<FaFacebookF className="hover:text-gray-300 transition" />
45-
</a>
46-
<a
47-
href={social.twitter}
48-
aria-label="Twitter"
49-
target="_blank"
50-
rel="noopener noreferrer"
51-
>
52-
<FaTwitter className="hover:text-gray-300 transition" />
53-
</a>
28+
<p className="text-base mb-6">{description}</p>
29+
<div className="flex gap-6 text-2xl">
5430
<a
5531
href={social.instagram}
5632
aria-label="Instagram"
@@ -102,20 +78,20 @@ const Footer = ({
10278
</ul>
10379
</div>
10480

105-
{/* Right Section */}
106-
<div>
107-
<h3 className="text-lg font-semibold">Contact Info</h3>
108-
<div className="text-sm mt-4 text-white space-y-4">
81+
{/* Contact Info Section */}
82+
<div className="order-2 md:order-none">
83+
<h3 className="text-2xl font-semibold mb-6">Contact Info</h3>
84+
<div className="text-base space-y-6">
10985
<div className="flex items-center gap-4">
110-
<FiMail className=" text-[#51B8F2] text-xl hover:text-white transition" />
111-
<span>contact@asmenitrkl.ac.in</span> {/* To be added */}
86+
<FiMail className="text-[#51B8F2] text-2xl hover:text-white transition" />
87+
<span>asme.nitrkl@gmail.com</span>
11288
</div>
11389
<div className="flex items-center gap-4">
114-
<FiPhone className="text-[#51B8F2] text-xl hover:text-white transition" />
115-
<span>+91-1234567890</span> {/* To be added */}
90+
<FiPhone className="text-[#51B8F2] text-2xl hover:text-white transition" />
91+
<span>+91-1234567890</span>
11692
</div>
11793
<div className="flex items-start gap-4">
118-
<GoLocation className=" text-[#51B8F2] text-xl mt-1 hover:text-white transition" />
94+
<GoLocation className="text-[#51B8F2] text-2xl mt-1 hover:text-white transition" />
11995
<span>
12096
National Institute of Technology Rourkela, <br /> Odisha -
12197
769008
@@ -125,7 +101,7 @@ const Footer = ({
125101
</div>
126102
</div>
127103

128-
<div className="text-center text-sm mt-8 border-t border-white/20 pt-4">
104+
<div className="text-center text-base mt-10 border-t border-white/20 pt-6">
129105
© {year} {title}. All rights reserved.
130106
</div>
131107
</footer>

src/components/GallerySection.jsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ export default function GalarySection() {
1717
<p className="text-black-600 mb-6">
1818
Explore our vibrant moments captured in stunning visuals.
1919
</p>
20-
<TButton>Go to Gallery &gt;</TButton>
20+
<a href="/gallery">
21+
<TButton>Go to Gallery &gt;</TButton>
22+
</a>
2123
</div>
2224

2325
{/* Gallery Grid */}

src/components/HeroSection.jsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,15 @@ export default function HeroSection() {
3434
>
3535
{siteConfig.hero.primaryButton}
3636
</Button>
37-
<Button
38-
className="bg-transparent text-[rgba(55,115,236,1)] underline-offset-4 transition duration-300 ease-in-out hover:bg-[rgba(55,115,236,1)] hover:text-white "
37+
<a
38+
href="#about"
39+
role="button"
40+
tabIndex={0}
41+
className=" h-12 justify-center items-center flex bg-gradient-to-r from-blue-900 to-blue-950 text-[#e2cede] underline-offset-4 transition duration-300 ease-in-out hover:bg-none hover:bg-white hover:text-[#061946] font-semibold py-2 px-4 rounded"
3942
style={{ fontFamily: "Helvetica, Arial, sans-serif" }}
4043
>
4144
{siteConfig.hero.secondaryLink}
42-
</Button>
45+
</a>
4346
</div>
4447
</div>
4548

0 commit comments

Comments
 (0)