Skip to content
Open
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
6 changes: 3 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<!doctype html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<link rel="icon" type="image/svg+xml" href="./src/assets/nitrkl-logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React</title>
<title>CohortGate</title>
</head>
<body>
<div id="root"></div>
Expand Down
10 changes: 10 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"react": "^19.0.0",
"react-bootstrap": "^2.10.9",
"react-dom": "^19.0.0",
"react-icons": "^5.5.0",
"react-router": "^7.3.0",
"react-router-dom": "^7.3.0",
"tailwindcss": "^4.0.12"
Expand Down
6 changes: 5 additions & 1 deletion src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ import AboutUs from "./components/AboutUs/AboutUs";
import Form from "./components/Form/Form";
import Contact from "./components/Contact/Contact";
import "./App.css";
import Footer from "./components/Footer/Footer";

function RootLayout() {
return (
<>
<NavBar />
<Outlet />
<main style={{ minHeight: "60vh", padding: "20px" }}>
<Outlet />
</main>
<Footer />
</>
);
}
Expand Down
152 changes: 149 additions & 3 deletions src/components/Footer/Footer.jsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,153 @@
import React from "react";
import {
FaLinkedin,
FaXTwitter,
FaGithub,
FaArrowUp,
FaEnvelope,
FaPhone,
} from "react-icons/fa6";
import { FaHome } from "react-icons/fa";
import { SiGmail } from "react-icons/si";

function Footer() {
return <div>Footer</div>;
}
const Footer = () => {
const handleScrollToTop = () => {
window.scrollTo({ top: 0, behavior: "smooth" });
};

return (
<footer className="bg-gray-50 dark:bg-gray-900 text-gray-700 dark:text-gray-300 py-10 px-6 border-t border-gray-200 dark:border-gray-700 rounded-t-md">
<div className="container mx-auto grid grid-cols-1 md:grid-cols-4 gap-8">
<div className="flex flex-col items-center md:items-start text-center md:text-left ml-10">
<h3 className="text-lg font-semibold mb-4">About CohortGate</h3>
<p className="text-sm text-gray-600 dark:text-gray-400">
Welcome to CohortGate, a web application designed to streamline the
onboarding process for companies participating in Cohort.
</p>
</div>

<div className="flex flex-col items-center md:items-start ml-10">
<h3 className="text-lg font-semibold mb-4">Quick Links</h3>
<ul className="space-y-2 text-sm text-gray-600 dark:text-gray-400">
<li>
<a
href="/"
className="hover:text-blue-600 dark:hover:text-blue-400"
>
Home
</a>
</li>
<li>
<a
href="/about"
className="hover:text-blue-600 dark:hover:text-blue-400"
>
About Us
</a>
</li>
<li>
<a
href="/form"
className="hover:text-blue-600 dark:hover:text-blue-400"
>
Onboarding Form
</a>
</li>
<li>
<a
href="/privacy"
className="hover:text-blue-600 dark:hover:text-blue-400"
>
Privacy Policy
</a>
</li>
</ul>
</div>

<div className="flex flex-col items-center md:items-start ml-10">
<h3 className="text-lg font-semibold mb-4">Contact Us</h3>
<ul className="space-y-2 text-sm text-gray-600 dark:text-gray-400">
<li className="flex items-center">
<FaEnvelope className="mr-2" />
<a
href="mailto:[email protected]"
className="hover:text-blue-600 dark:hover:text-blue-400"
>
[email protected]
</a>
</li>
<li className="flex items-center">
<FaPhone className="mr-2" />
<a
href="tel:+1234567890"
className="hover:text-blue-600 dark:hover:text-blue-400"
>
+123 456 7890
</a>
</li>
<li className="flex items-center">
<SiGmail className="mr-2" />
<a
href="mailto:[email protected]"
className="hover:text-blue-600 dark:hover:text-blue-400"
>
[email protected]
</a>
</li>
</ul>
</div>

<div className="flex flex-col items-center md:items-start ml-10">
<h3 className="text-lg font-semibold mb-4">Follow Us</h3>
<div className="flex space-x-4">
<a
href="https://linkedin.com"
target="_blank"
rel="noopener noreferrer"
aria-label="LinkedIn"
className="text-gray-700 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400 transition"
>
<FaLinkedin size={24} />
</a>
<a
href="https://x.com"
target="_blank"
rel="noopener noreferrer"
aria-label="Twitter"
className="text-gray-700 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400 transition"
>
<FaXTwitter size={24} />
</a>
<a
href="https://github.com/Training-Committee-NIT-Rourkela/CohortGate"
target="_blank"
rel="noopener noreferrer"
aria-label="GitHub"
className="text-gray-700 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-400 transition"
>
<FaGithub size={24} />
</a>
</div>
</div>
</div>

<div className="border-t border-gray-200 dark:border-gray-700 my-8"></div>

<div className="flex flex-col md:flex-row items-center justify-between ml-10">
<p className="text-sm text-gray-600 dark:text-gray-400 mb-4 md:mb-0">
&copy; {new Date().getFullYear()} CohortGate | NIT Rourkela. All
rights reserved.
</p>
<button
onClick={handleScrollToTop}
className="flex items-center justify-center bg-blue-600 text-white px-6 py-2 rounded-full hover:bg-blue-700 dark:hover:bg-blue-500 transition shadow-lg"
>
<FaArrowUp size={18} className="mr-2" />
Back to Top
</button>
</div>
</footer>
);
};

export default Footer;