Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 7 additions & 9 deletions src/components/EventCard.jsx
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
import React from "react";

const EventCard = () => {
const EventCard = ({ title, description, image }) => {
return (
<div className="bg-gray-50 rounded-xl shadow-md overflow-hidden flex flex-col md:flex-row border-2 border-[#0B2044]">
<img
src="https://res.cloudinary.com/dswk9scro/image/upload/v1752313324/image_urekzp.png"
alt="Event"
className="w-full md:w-2/5 object-cover"
src={image}
alt={title}
className="w-full md:w-2/5 object-cover aspect-[4/3]"
/>
<div className="p-4 flex flex-col justify-center">
<h3 className="text-xl font-semibold text-[#0B2044]">Sample Event</h3>
<p className="text-sm text-gray-600 mt-1">
Placeholder description for the event.
</p>
<p className="text-sm text-gray-400 mt-2">Date: 25 Aug 2025</p>
<h3 className="text-2xl font-semibold text-[#0B2044]">{title}</h3>
<p className="text-base text-gray-600 mt-2">{description}</p>
</div>
</div>
);
};

export default EventCard;
35 changes: 6 additions & 29 deletions src/components/Footer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,8 @@ const Footer = ({
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.",

social = {
facebook: "#",
twitter: "#",
instagram: "#",
linkedin: "#",
instagram: "https://www.instagram.com/asme.nitrkl/",
linkedin: "https://www.linkedin.com/company/asme-nit-rourkela",
},
year = new Date().getFullYear(),
}) => {
Expand All @@ -35,22 +33,6 @@ const Footer = ({

<p className="text-sm">{description}</p>
<div className="flex gap-4 mt-4 text-lg">
<a
href={social.facebook}
aria-label="Facebook"
target="_blank"
rel="noopener noreferrer"
>
<FaFacebookF className="hover:text-gray-300 transition" />
</a>
<a
href={social.twitter}
aria-label="Twitter"
target="_blank"
rel="noopener noreferrer"
>
<FaTwitter className="hover:text-gray-300 transition" />
</a>
<a
href={social.instagram}
aria-label="Instagram"
Expand All @@ -72,13 +54,8 @@ const Footer = ({

{/* Middle Section */}
<div>
<h3 className="text-lg font-semibold">Quick Links</h3>
<h3 className="text-xl font-semibold">Quick Links</h3>
<ul className="mt-2 space-y-1 text-sm">
<li>
<Link to="/about" className="hover:underline">
About us
</Link>
</li>
<li>
<Link to="/team" className="hover:underline">
Team
Expand All @@ -104,15 +81,15 @@ const Footer = ({

{/* Right Section */}
<div>
<h3 className="text-lg font-semibold">Contact Info</h3>
<h3 className="text-xl font-semibold">Contact Info</h3>
<div className="text-sm mt-4 text-white space-y-4">
<div className="flex items-center gap-4">
<FiMail className=" text-[#51B8F2] text-xl hover:text-white transition" />
<span>contact@asmenitrkl.ac.in</span> {/* To be added */}
<span>asme.nitrkl@gmail.com</span>
</div>
<div className="flex items-center gap-4">
<FiPhone className="text-[#51B8F2] text-xl hover:text-white transition" />
<span>+91-1234567890</span> {/* To be added */}
<span>+91-1234567890</span>
</div>
<div className="flex items-start gap-4">
<GoLocation className=" text-[#51B8F2] text-xl mt-1 hover:text-white transition" />
Expand Down
28 changes: 28 additions & 0 deletions src/config/events.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
const events = [
{
title: "Dart-a-Thon",
description:
"Dart-a-Thon was an exciting hands-on challenge where participants were provided with simple DIY materials—such as stretchable rubber bands, ice cream sticks, and more—to design their own dart-launching mechanism. Using their creations, they aimed at a target board to score points. The participant with the highest score emerged as the champion, combining creativity, engineering, and precision in one thrilling competition.",
image:
"https://res.cloudinary.com/dswk9scro/image/upload/v1754816191/Dart-a-thon_z29oj0.jpg",
type: "past",
},
{
title: "Turbogen X",
description:
"Turbogen-X put participants' ingenuity to the test as they crafted custom wind blades from simple DIY materials. With limited resources and unlimited imagination, they raced to create designs capable of capturing the wind most efficiently, turning a simple build into a battle of innovation and aerodynamics.",
image:
"https://res.cloudinary.com/dswk9scro/image/upload/v1754816173/Turbogen_x_ozbic4.jpg",
type: "past",
},
{
title: "3D Printing Workshop",
description:
"An interactive 3D Printing Workshop was hosted, showcasing real-world applications and hands-on training with industry-standard software. Professionals and teachers from nearby schools attended to promote awareness of the technology. A live highlight was the 3D-printing of a chess pawn in just 30 minutes, captivating the audience.",
image:
"https://res.cloudinary.com/dswk9scro/image/upload/v1754816159/3D_printing_workshop_nrxkho.jpg",
type: "past",
},
];

export default events;
36 changes: 2 additions & 34 deletions src/pages/events/Events.jsx
Original file line number Diff line number Diff line change
@@ -1,33 +1,9 @@
import { useState } from "react";
import EventCard from "../../components/EventCard";

import events from "../../config/events";
const Events = () => {
const [filter, setFilter] = useState("all");

const events = [
{
title: "AI Workshop",
date: "2025-07-10",
description: "Intro to AI, ML, and real-world applications.",
image: "/images/ai.jpg",
type: "past",
},
{
title: "Autonomous Bot Hackathon",
date: "2025-08-01",
description: "Build bots and compete in challenges.",
image: "/images/bot.jpg",
type: "upcoming",
},
{
title: "CAD Design Contest",
date: "2025-06-20",
description: "Show off your SolidWorks skills.",
image: "/images/cad.jpg",
type: "past",
},
];

const renderCards = () => {
const filteredEvents =
filter === "all" ? events : events.filter((e) => e.type === filter);
Expand All @@ -49,18 +25,10 @@ const Events = () => {

return (
<div className="px-4 md:px-12 py-8">
<img
src="https://res.cloudinary.com/dswk9scro/image/upload/v1752312233/image_1_nydvj8.png"
alt="events"
className="mx-auto my-12 w-full max-w-xl rounded-xl shadow-md object-cover"
/>
<div className="text-center">
<h2 className="text-3xl font-bold text-[#0B2044]">
Our Organised Events
</h2>
<p className="text-gray-500 mt-2">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ornare.
</p>

{/* Filter Buttons */}
<div className="flex flex-wrap justify-center gap-4 mt-6">
Expand All @@ -70,7 +38,7 @@ const Events = () => {
onClick={() => setFilter(type)}
className={`px-4 py-2 rounded transition ${
filter === type
? "bg-[#51B8F2] text-white"
? "bg-[#0B2044] text-white"
: "border border-[#0B2044] text-[#0B2044]"
}`}
>
Expand Down
Loading