diff --git a/App.css b/App.css index fd60ac5..59fc4ac 100644 --- a/App.css +++ b/App.css @@ -66,7 +66,7 @@ width: 100%; height: 100%; backface-visibility: hidden; - box-shadow: 0 4px 15px rgba(0,0,0,0.1); + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); } .mission-card-back { @@ -78,17 +78,17 @@ .mission-card { height: 200px; } - + .mission-card-inner { transform: none !important; } - + .mission-card-front, .mission-card-back { position: relative; backface-visibility: visible; } - + .mission-card-back { transform: none; margin-top: -1rem; diff --git a/public/images/collaborations/annam-logo.png b/public/images/collaborations/annam-logo.png new file mode 100644 index 0000000..401b90f Binary files /dev/null and b/public/images/collaborations/annam-logo.png differ diff --git a/src/App.tsx b/src/App.tsx index e34c7e7..ad093c3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,36 +1,42 @@ -import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; -import Home from './app/home'; -import Team from './app/team'; -import Research from './app/research'; -import Careers from './app/careers'; -import Contact from './app/contact'; -import Partners from './app/partners'; -import Events from './app/events'; -import About from './app/about'; +import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; +import Home from "./app/home"; +import Team from "./app/team"; +import Research from "./app/research"; +import Careers from "./app/careers"; +import Contact from "./app/contact"; +import Partners from "./app/partners"; +import Events from "./app/events"; +import About from "./app/about"; // import { Blog } from './app/blog'; -import ScrollToTop from './components/ScrollToTop'; -import HashScroller from './components/HashScroller'; -import './index.css'; -import ComingSoon from './app/comingsoon'; -import Collaborations from './app/collaborations'; +import ScrollToTop from "./components/ScrollToTop"; +import HashScroller from "./components/HashScroller"; +import "./index.css"; +import ComingSoon from "./app/comingsoon"; +import Collaborations from "./app/collaborations"; +import { Navbar } from "./components/navbar"; +import { FooterWrapper } from "./components/FooterFile"; function App() { return ( - - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - } /> - + +
+ + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + +
+
); } diff --git a/src/app/about.tsx b/src/app/about.tsx index 061a7bd..2366c48 100644 --- a/src/app/about.tsx +++ b/src/app/about.tsx @@ -1,18 +1,16 @@ -import { useState } from 'react'; +import { useState } from "react"; -import drSudarshan from '/images/dr-sudarshan2.png'; -import meenakshi from '/images/meenakshi4.png'; -import aditya from '/images/aditya.jpeg'; -import shivani from '/images/shivani-aggarwal4.png'; -import { Navbar } from "../components/navbar"; -import '../styles/aboutDled.css'; +import drSudarshan from "/images/dr-sudarshan2.png"; +import meenakshi from "/images/meenakshi4.png"; +import aditya from "/images/aditya.jpeg"; +import shivani from "/images/shivani-aggarwal4.png"; +import "../styles/aboutDled.css"; const About = () => { - const [activeTab, setActiveTab] = useState('vision'); + const [activeTab, setActiveTab] = useState("vision"); return (
- {/* Hero Section */}
@@ -22,11 +20,19 @@ const About = () => { Redefining Education Through Innovation

- The Dhananjaya Lab for Education Design (DLED) at IIT Ropar is pioneering - transformative approaches to learning in the digital age. + The Dhananjaya Lab for Education Design (DLED) at IIT Ropar is + pioneering transformative approaches to learning in the digital + age.

- + Meet the Team
@@ -36,9 +42,9 @@ const About = () => {
- DLED Team
@@ -54,22 +60,29 @@ const About = () => {

Our Story

- From humble beginnings to becoming a hub of educational innovation + From humble beginnings to becoming a hub of educational + innovation

- +

2023

-

A small research initiative started to revolutionise Education Design

+

+ A small research initiative started to revolutionise Education + Design +

2024

-

First major funding to spearhead with the project and setup of the lab

+

+ First major funding to spearhead with the project and setup of + the lab +

@@ -77,7 +90,7 @@ const About = () => {

2025

Launched our first online learning platform prototype

-
+ @@ -89,34 +102,43 @@ const About = () => {
- - -
- +
- {activeTab === 'vision' && ( + {activeTab === "vision" && (
-

Shaping the Future of Learning

+

+ Shaping the Future of Learning +

- We envision a world where education adapts to each learner's needs, - leveraging technology to create personalized, accessible, and - transformative learning experiences. + We envision a world where education adapts to each + learner's needs, leveraging technology to create + personalized, accessible, and transformative learning + experiences.

@@ -127,7 +149,8 @@ const About = () => {
Innovation

- Pioneering new approaches to teaching and learning + Pioneering new approaches to teaching and + learning

@@ -140,7 +163,8 @@ const About = () => {
Global Impact

- Creating solutions that scale across diverse contexts + Creating solutions that scale across diverse + contexts

@@ -148,19 +172,23 @@ const About = () => {
)} - - {activeTab === 'mission' && ( + + {activeTab === "mission" && (
-

Transforming Education Through Design

+

+ Transforming Education Through Design +

- Our mission is to research, design, and implement educational - innovations that make learning more effective, engaging, and - accessible for all. + Our mission is to research, design, and implement + educational innovations that make learning more + effective, engaging, and accessible for all.

  • - Develop evidence-based learning frameworks + + Develop evidence-based learning frameworks +
  • @@ -168,7 +196,9 @@ const About = () => {
  • - Train the next generation of education designers + + Train the next generation of education designers +
  • @@ -177,22 +207,48 @@ const About = () => {
)} - - {activeTab === 'values' && ( + + {activeTab === "values" && (

What Guides Our Work

{[ - { icon: 'users', title: 'Collaboration', desc: 'We believe in the power of diverse perspectives' }, - { icon: 'lightbulb', title: 'Creativity', desc: 'Innovative solutions require thinking differently' }, - { icon: 'shield-alt', title: 'Integrity', desc: 'Ethical research and transparent practices' }, - { icon: 'graduation-cap', title: 'Excellence', desc: 'Striving for the highest standards in all we do' }, - { icon: 'heart', title: 'Empathy', desc: 'Designing with learners at the center' }, - { icon: 'balance-scale', title: 'Equity', desc: 'Creating accessible solutions for all' } + { + icon: "users", + title: "Collaboration", + desc: "We believe in the power of diverse perspectives", + }, + { + icon: "lightbulb", + title: "Creativity", + desc: "Innovative solutions require thinking differently", + }, + { + icon: "shield-alt", + title: "Integrity", + desc: "Ethical research and transparent practices", + }, + { + icon: "graduation-cap", + title: "Excellence", + desc: "Striving for the highest standards in all we do", + }, + { + icon: "heart", + title: "Empathy", + desc: "Designing with learners at the center", + }, + { + icon: "balance-scale", + title: "Equity", + desc: "Creating accessible solutions for all", + }, ].map((value, index) => (
- +
{value.title}

{value.desc}

@@ -208,95 +264,104 @@ const About = () => {
- {/* Team Section */} -
-
-
-
-

Meet Our Team

-

- A diverse group of educators, researchers, and technologists

united by a passion for learning innovation -

+ {/* Team Section */} +
+
+
+
+

Meet Our Team

+

+ A diverse group of educators, researchers, and technologists{" "} +

united by a passion for learning innovation +

+
+
+ +
+ {[ + { + name: "Dr. Sudarshan Iyengar", + role: "Principal Investigator", + bio: "Dr. Sudarshan is a CSE faculty at IIT Ropar and Director of Annam.AI, known for pioneering AI education and reaching over 900,000 learners.", + img: drSudarshan, + linkedin: + "https://www.linkedin.com/in/sudarshan-iyengar-3560b8145/", + email: "sudarshan@iitrpr.ac.in", + }, + { + name: "Meenakshi V", + role: "PhD Researcher", + bio: "A passionate education designer at DLED Lab and Annam.AI, focused on creating engaging, assessment-free learning experiences that align learning with real-world skills.", + img: meenakshi, + linkedin: "https://www.linkedin.com/in/meenakshi-v-25aa7691/", + email: "meenakshi.v@vicharanashala.ai", + }, + { + name: "Shivani Aggarwal ", + role: "PhD Researcher", + bio: "Investigating the impact of AI tutors on student engagement and learning outcomes.", + img: shivani, + linkedin: + "https://www.linkedin.com/in/shivani-aggarwal-5865b639/", + email: "shivani.aggarwal@vicharanashala.ai", + }, + { + name: "Aditya BMV", + role: "Software Developer", + bio: "Software engineer with a passion for creating user-friendly educational applications and tools.", + img: aditya, + linkedin: "https://www.linkedin.com/in/bvmukunda/", + email: "aditya.bmv@vicharanashala.ai", + }, + ].map((member, index) => ( +
+
+
+ {member.name} +
+ {/* LinkedIn */} + {member.linkedin && ( + + + + )} + {/* Email */} + {member.email && ( + + + + )} +
+
+
+

{member.name}

+

{member.role}

+

{member.bio}

+
- -
- {[ - { - name: 'Dr. Sudarshan Iyengar', - role: 'Principal Investigator', - bio: 'Education technology specialist with 15+ years experience', - img: drSudarshan, - linkedin:'https://www.linkedin.com/in/sudarshan-iyengar-3560b8145/', - email: 'sudarshan@iitrpr.ac.in' - }, - { - name: 'Meenakshi V', - role: 'PhD Researcher', - bio: 'Cognitive science and learning design expert', - img: meenakshi, - linkedin:'https://www.linkedin.com/in/meenakshi-v-25aa7691/', - email: 'meenakshi.v@vicharanashala.ai' - }, - { - name: 'Shivani Aggarwal ', - role: 'PhD Researcher', - bio: 'Expert in data analytics and educational assessment', - img: shivani, - linkedin:'https://www.linkedin.com/in/shivani-aggarwal-5865b639/', - email: 'shivani.aggarwal@vicharanashala.ai' - }, - { - name:'Aditya BMV', - role: 'Software Developer', - bio: 'Full-stack developer with a focus on educational applications', - img: aditya, - linkedin:'https://www.linkedin.com/in/bvmukunda/', - email: 'aditya.bmv@vicharanashala.ai' - } - ].map((member, index) => ( -
-
-
- {member.name} -
- {/* LinkedIn */} - {member.linkedin && ( - - - - )} - {/* Email */} - {member.email && ( - - - - )} -
-
-
-

{member.name}

-

{member.role}

-

{member.bio}

-
+ ))}
-
- ))} -
- @@ -306,4 +371,4 @@ const About = () => { ); }; -export default About; \ No newline at end of file +export default About; diff --git a/src/app/careers.tsx b/src/app/careers.tsx index 7a7f746..ba7193b 100644 --- a/src/app/careers.tsx +++ b/src/app/careers.tsx @@ -1,64 +1,78 @@ import { Link } from "react-router-dom"; -import { Navbar } from "../components/navbar"; // Import Navbar const Careers = () => { const openings = [ { - title: 'Full Stack Developer Intern (Virtual)', - type: 'Internship', - location: 'Remote', + title: "Full Stack Developer Intern (Virtual)", + type: "Internship", + location: "Remote", description: - 'Work on cutting-edge educational platforms. Gain experience in React, Node.js, and cloud technologies.', + "Work on cutting-edge educational platforms. Gain experience in React, Node.js, and cloud technologies.", requirements: [ - 'Proficiency in JavaScript, React, and Node.js', - 'Experience with REST APIs and databases', - 'Strong problem-solving skills', + "Proficiency in JavaScript, React, and Node.js", + "Experience with REST APIs and databases", + "Strong problem-solving skills", ], - applyLink: '/contact?tab=join', + applyLink: "/contact?tab=join", }, { - title: 'Full Stack Developer Intern (Onsite)', - type: 'Internship', - location: 'IIT Ropar Campus', + title: "Full Stack Developer Intern (Onsite)", + type: "Internship", + location: "IIT Ropar Campus", description: - 'Collaborate with our team onsite to develop scalable educational tools and platforms.', + "Collaborate with our team onsite to develop scalable educational tools and platforms.", requirements: [ - 'Proficiency in JavaScript, React, and Node.js', - 'Experience with version control (Git)', - 'Ability to work in a team environment', + "Proficiency in JavaScript, React, and Node.js", + "Experience with version control (Git)", + "Ability to work in a team environment", ], - applyLink: '/contact?tab=join', + applyLink: "/contact?tab=join", }, { - title: 'Research Assistant (AI in Education)', - type: 'Research', - location: 'IIT Ropar Campus', + title: "Research Assistant (AI in Education)", + type: "Research", + location: "IIT Ropar Campus", description: - 'Assist in research projects focused on AI-driven personalized learning systems.', + "Assist in research projects focused on AI-driven personalized learning systems.", requirements: [ - 'Background in AI/ML or related fields', - 'Experience with Python and machine learning libraries', - 'Strong analytical and research skills', + "Background in AI/ML or related fields", + "Experience with Python and machine learning libraries", + "Strong analytical and research skills", ], - applyLink: '/contact?tab=join', + applyLink: "/contact?tab=join", }, ]; return (
- {/* Add Navbar at the top */} {/* Hero Section */} -
+
{/* <-- Remove this line */} -

Shape the Future of Education

+

+ Shape the Future of Education +

- Join DLED and contribute to innovative educational technologies through development and research. + Join DLED and contribute to innovative educational technologies + through development and research.

- @@ -72,9 +86,7 @@ const Careers = () => {
-

- Current Opportunities -

+

Current Opportunities

We're looking for passionate individuals to join our team

@@ -87,7 +99,9 @@ const Careers = () => {
-
{opening.title}
+
+ {opening.title} +
{opening.type} @@ -106,7 +120,10 @@ const Careers = () => { ))} - + Apply Now
@@ -120,4 +137,4 @@ const Careers = () => { ); }; -export default Careers; \ No newline at end of file +export default Careers; diff --git a/src/app/collaborations.tsx b/src/app/collaborations.tsx index 002792c..8d9ecb6 100644 --- a/src/app/collaborations.tsx +++ b/src/app/collaborations.tsx @@ -1,49 +1,81 @@ -// import { useState } from 'react'; -import { Link } from "react-router-dom"; import "../styles/collab.css"; -import { Navbar } from "../components/navbar"; // Import Navbar - +import dled from "../assets/dled-clear.png"; const collaborationData = [ { id: 1, - title: 'MMTTP Faculty Development Program', - subtitle: 'A dynamic, hands-on journey into the world of Artificial Intelligence', - description: 'This free program is for teachers of degree colleges who wish to enhance their AI literacy and explore the role of AI in education and research.', - type: 'Educational Program', - status: 'Active', - duration: 'Ongoing', - participants: '500+ Faculty Members', - link: 'https://dled.iitrpr.ac.in/fdp/', + title: "MMTTP Faculty Development Program", + subtitle: + "A dynamic, hands-on journey into the world of Artificial Intelligence", + description: + "This free program is for teachers of degree colleges who wish to enhance their AI literacy and explore the role of AI in education and research.", + type: "Educational Program", + status: "Active", + duration: "Ongoing", + participants: "500+ Faculty Members", + link: "https://dled.iitrpr.ac.in/fdp/", supportedBy: [ - { name: 'IIT Ropar', logo: '/images/collaborations/iitrpr.png' }, - { name: 'MMTTP', logo: '/images/collaborations/mmtts.jpeg' } + { name: "IIT Ropar", logo: "/images/collaborations/iitrpr.png" }, + { name: "MMTTP", logo: "/images/collaborations/mmtts.jpeg" }, + { name: "Annam.ai", logo: "/images/collaborations/annam-logo.png" }, + { name: "DLED", logo: dled }, ], outcomes: [ - 'AI literacy enhancement for educators', - 'Practical AI implementation in curriculum', - 'Research collaboration opportunities' - ] + "AI literacy enhancement for educators", + "Practical AI implementation in curriculum", + "Research collaboration opportunities", + ], }, ]; -const Collaborations = () => { +const CollaborationLogos = () => { + const item = collaborationData[0]; // or loop if multiple + + return ( +
+ {item.supportedBy.map((partner) => ( +
+ {partner.name} +
{partner.name}
+
+ ))} +
+ ); +}; +const Collaborations = () => { return ( -
- - {/* Hero Section*/} -
-
-
-
-

Our Collaborations

-

-

- - {/*
+
+ {/* Hero Section*/} +
+
+
+
+

+ {" "} + Our Collaborations +

+

+ + {/*
*/} -
-
- +
+
+
-
+
+
- {/* Collaborations Section */} -
-
-
- {/*

Our Partnerships

*/} -

- Building bridges between academia, industry, and educational communities -

-
+ {/* Collaborations Section */} +
+
+
+ {/*

Our Partnerships

*/} +

+ Building bridges between academia, industry, and educational + communities +

+
-
- {collaborationData.map((collaboration) => ( -
-
-
-
- - {collaboration.status} - - - {collaboration.type} - +
+ {collaborationData.map((collaboration) => ( +
+
+
+
+ + {collaboration.status} + + + {collaboration.type} + +
+ +

+ {collaboration.title} +

+

{collaboration.subtitle}

+

+ {collaboration.description} +

+ +
+
+
Duration
+

+ {collaboration.duration} +

- -

{collaboration.title}

-

{collaboration.subtitle}

-

{collaboration.description}

- -
-
-
Duration
-

{collaboration.duration}

-
-
-
Participants
-

{collaboration.participants}

-
+
+
Participants
+

+ {collaboration.participants} +

+
- {/* Supported By Section with Logos */} -
-
Supported By
-
- {collaboration.supportedBy.map((supporter, index) => ( -
- +
Supported By
+
+ {collaboration.supportedBy.map((supporter, index) => ( +
+
+ {supporter.name} - {supporter.name}
- ))} -
+
+ {supporter.name} +
+
+ ))}
+
- {/* Key Outcomes */} -
-
Key Outcomes
-
    - {collaboration.outcomes.map((outcome, index) => ( -
  • - - {outcome} -
  • - ))} -
-
- - + {/* Key Outcomes */} +
+
Key Outcomes
+
    + {collaboration.outcomes.map((outcome, index) => ( +
  • + + {outcome} +
  • + ))} +
+
+ +
- ))} -
+
+ ))}
-
- +
+
); }; diff --git a/src/app/comingsoon.tsx b/src/app/comingsoon.tsx index 58e7435..ee0a2e5 100644 --- a/src/app/comingsoon.tsx +++ b/src/app/comingsoon.tsx @@ -1,40 +1,50 @@ import { Link } from "react-router-dom"; // import { FaFlask, FaChartLine, FaUsers} from 'react-icons/fa'; // FaEye, FaRobot, FaCertificate, FaChartBar import "../styles/researchPage.css"; -import { Navbar } from "../components/navbar"; - const ComingSoon = () => { - return (
- {/* Add Navbar at the top */} {/* Hero Section*/} -
+
-

Coming Soon!

+

+ Coming Soon! +

This page is still under construction

- +
- -
); }; -export default ComingSoon; \ No newline at end of file +export default ComingSoon; diff --git a/src/app/contact.tsx b/src/app/contact.tsx index 661ef5b..09ff316 100644 --- a/src/app/contact.tsx +++ b/src/app/contact.tsx @@ -1,43 +1,44 @@ // pages/contact.tsx -import { useState, useEffect } from 'react'; -import { useSearchParams } from 'react-router-dom'; +import { useState, useEffect } from "react"; +import { useSearchParams } from "react-router-dom"; import "../styles/researchPage.css"; -import { Navbar } from '../components/navbar'; const Contact = () => { const [formData, setFormData] = useState({ - name: '', - email: '', - subject: '', - message: '', - resumeLink: '', + name: "", + email: "", + subject: "", + message: "", + resumeLink: "", }); const [searchParams, setSearchParams] = useSearchParams(); - const tabFromUrl = searchParams.get('tab'); - const subjectFromUrl = searchParams.get('subject'); - const [activeTab, setActiveTab] = useState<'join' | 'collaborate'>(tabFromUrl === 'collaborate' ? 'collaborate' : 'join'); + const tabFromUrl = searchParams.get("tab"); + const subjectFromUrl = searchParams.get("subject"); + const [activeTab, setActiveTab] = useState<"join" | "collaborate">( + tabFromUrl === "collaborate" ? "collaborate" : "join" + ); const [isSubmitting, setIsSubmitting] = useState(false); const [submitSuccess, setSubmitSuccess] = useState(false); const initialFormData = { - name: '', - email: '', - subject: '', - message: '', - resumeLink: '', + name: "", + email: "", + subject: "", + message: "", + resumeLink: "", }; useEffect(() => { - if (tabFromUrl === 'collaborate' || tabFromUrl === 'join') { + if (tabFromUrl === "collaborate" || tabFromUrl === "join") { setActiveTab(tabFromUrl); } }, [tabFromUrl]); useEffect(() => { if (subjectFromUrl) { - setFormData(prev => ({ ...prev, subject: subjectFromUrl })); + setFormData((prev) => ({ ...prev, subject: subjectFromUrl })); } }, [subjectFromUrl]); @@ -48,14 +49,18 @@ const Contact = () => { } }, [submitSuccess]); - const handleTabChange = (tab: 'join' | 'collaborate') => { + const handleTabChange = (tab: "join" | "collaborate") => { setActiveTab(tab); setSearchParams({ tab }); }; - const handleChange = (e: React.ChangeEvent) => { + const handleChange = ( + e: React.ChangeEvent< + HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement + > + ) => { const { name, value } = e.target; - setFormData(prev => ({ ...prev, [name]: value })); + setFormData((prev) => ({ ...prev, [name]: value })); }; const handleSubmit = async (e: React.FormEvent) => { @@ -69,13 +74,16 @@ const Contact = () => { }; try { - const response = await fetch('https://script.google.com/macros/s/AKfycbydzEZ89EhQ-0tI4Hvsc5jC50wo3iq_bYjFG7u5aq3gM2PSQWtoJmeA48t8CjXTgJvvkw/exec', { - method: 'POST', - body: JSON.stringify(payload), - headers: { - 'Content-Type': 'text/plain', - }, - }); + const response = await fetch( + "https://script.google.com/macros/s/AKfycbydzEZ89EhQ-0tI4Hvsc5jC50wo3iq_bYjFG7u5aq3gM2PSQWtoJmeA48t8CjXTgJvvkw/exec", + { + method: "POST", + body: JSON.stringify(payload), + headers: { + "Content-Type": "text/plain", + }, + } + ); if (response.ok) { setSubmitSuccess(true); @@ -93,7 +101,9 @@ const Contact = () => { const renderForm = () => (
- + { />
- + { />
- {activeTab === 'join' ? ( + {activeTab === "join" ? (
- + {
) : (
- +