From 1b6abd6efe3814d2fee3de0c714e17f31fd6f0a7 Mon Sep 17 00:00:00 2001 From: Harshitha Shetty <141444342+HarshithaShetty27@users.noreply.github.com> Date: Sun, 30 Mar 2025 19:30:09 +0530 Subject: [PATCH] Footer added (fix CSS) --- client/src/Pages/Accounts.jsx | 2 + client/src/Pages/AdminCoursePage.jsx | 2 + client/src/Pages/AdminFacultyPage.jsx | 2 + client/src/Pages/ConsolidatedTable.jsx | 2 + client/src/Pages/CourseForm.jsx | 2 + client/src/Pages/CourseTable.jsx | 2 + client/src/Pages/DepartmentConsolidated.jsx | 2 + client/src/Pages/Footer.jsx | 56 +++++++++++++++++++++ client/src/Pages/Layout.jsx | 24 +++++++++ client/src/Pages/PanelConsolidated.jsx | 2 + client/src/Pages/WelcomeWithFilter.jsx | 2 + client/src/Pages/courseConsolidated.jsx | 2 + 12 files changed, 100 insertions(+) create mode 100644 client/src/Pages/Footer.jsx create mode 100644 client/src/Pages/Layout.jsx diff --git a/client/src/Pages/Accounts.jsx b/client/src/Pages/Accounts.jsx index de7921d..ba01894 100644 --- a/client/src/Pages/Accounts.jsx +++ b/client/src/Pages/Accounts.jsx @@ -4,6 +4,7 @@ import axios from "axios"; import { ToastContainer, toast } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; import Navbar from "./Navbar"; +import Footer from "./Footer"; function HomePage(props) { @@ -101,6 +102,7 @@ function HomePage(props) { )} + > ); } diff --git a/client/src/Pages/AdminCoursePage.jsx b/client/src/Pages/AdminCoursePage.jsx index f7a4eea..917b3ff 100644 --- a/client/src/Pages/AdminCoursePage.jsx +++ b/client/src/Pages/AdminCoursePage.jsx @@ -4,6 +4,7 @@ import Navbar from './Navbar'; import { toast, ToastContainer } from "react-toastify"; import 'react-toastify/dist/ReactToastify.css'; import { useNavigate } from 'react-router-dom'; +import Footer from './Footer'; export const AdminCoursePage = () => { const [courses, setCourses] = useState([]); @@ -268,6 +269,7 @@ export const AdminCoursePage = () => { )} + > ); }; diff --git a/client/src/Pages/AdminFacultyPage.jsx b/client/src/Pages/AdminFacultyPage.jsx index 98fa3b9..31cef4d 100644 --- a/client/src/Pages/AdminFacultyPage.jsx +++ b/client/src/Pages/AdminFacultyPage.jsx @@ -4,6 +4,7 @@ import Navbar from './Navbar'; import { toast, ToastContainer } from "react-toastify"; import 'react-toastify/dist/ReactToastify.css'; import { useNavigate } from 'react-router-dom'; +import Footer from './Footer'; export const AdminFacultyPage = () => { @@ -359,6 +360,7 @@ export const AdminFacultyPage = () => { )} + > ); }; diff --git a/client/src/Pages/ConsolidatedTable.jsx b/client/src/Pages/ConsolidatedTable.jsx index aa5766d..1aad13a 100644 --- a/client/src/Pages/ConsolidatedTable.jsx +++ b/client/src/Pages/ConsolidatedTable.jsx @@ -5,6 +5,7 @@ import { sendEmail, createExcelBook } from "../api"; import Navbar from "./Navbar"; import { toast, ToastContainer } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; +import Footer from "./Footer"; const styles = { header: { @@ -397,6 +398,7 @@ const ConsolidatedTable = () => { + > ); }; diff --git a/client/src/Pages/CourseForm.jsx b/client/src/Pages/CourseForm.jsx index 38583fd..aa43d95 100644 --- a/client/src/Pages/CourseForm.jsx +++ b/client/src/Pages/CourseForm.jsx @@ -4,6 +4,7 @@ import { fetchFaculties, saveAppointment } from "../api"; import "./CourseForm.css"; import "./Navbar.jsx"; import Navbar from "./Navbar.jsx"; +import Footer from "./Footer.jsx"; const CourseForm = () => { const { id } = useParams(); @@ -348,6 +349,7 @@ const CourseForm = () => { + > ); diff --git a/client/src/Pages/CourseTable.jsx b/client/src/Pages/CourseTable.jsx index 0a0908c..587ab90 100644 --- a/client/src/Pages/CourseTable.jsx +++ b/client/src/Pages/CourseTable.jsx @@ -4,6 +4,7 @@ import "./CourseTable.css"; import { fetchCourses, fetchAppointments } from "../api"; import FilterPage from "./FilterPage"; +import Footer from "./Footer"; const CourseTable = () => { const { state } = useLocation(); @@ -77,6 +78,7 @@ const CourseTable = () => { )} + > ); }; diff --git a/client/src/Pages/DepartmentConsolidated.jsx b/client/src/Pages/DepartmentConsolidated.jsx index 5780466..646bb6f 100644 --- a/client/src/Pages/DepartmentConsolidated.jsx +++ b/client/src/Pages/DepartmentConsolidated.jsx @@ -1,6 +1,7 @@ import React, { useState, useEffect } from "react"; import axios from "axios"; import Navbar from "./Navbar"; +import Footer from "./Footer"; const DepartmentConsolidated = () => { const [searchQuery, setSearchQuery] = useState(""); @@ -280,6 +281,7 @@ const DepartmentConsolidated = () => { + > ); }; diff --git a/client/src/Pages/Footer.jsx b/client/src/Pages/Footer.jsx new file mode 100644 index 0000000..6ead07e --- /dev/null +++ b/client/src/Pages/Footer.jsx @@ -0,0 +1,56 @@ +import React from "react"; + +const contributors = [ + { name: "Harshitha Shetty", github: "https://github.com/HarshithaShetty27" }, + { name: "Harikrishnan Gopal", github: "https://github.com/hk151109" }, + { name: "Suhrud Korgaokar", github: "https://github.com/amNobodyyy" }, + { name: "Hasya Aburi", github: "https://github.com/ayoitshasya" } +]; + +const footerStyle = { + backgroundColor: "#800000", // Maroon + color: "white", + textAlign: "center", + padding: "16px", + width: "100%", + position: "relative", + bottom: "0", + boxShadow: "0px -2px 10px rgba(0, 0, 0, 0.2)" +}; + +const linkStyle = { + color: "white", + textDecoration: "none", + fontWeight: "bold", + margin: "0 10px", + transition: "color 0.3s" +}; + +const linkHoverStyle = { + color: "#ffcccb" // Light pinkish hover effect +}; + +const Footer = () => { + return ( + + ); +}; + +export default Footer; diff --git a/client/src/Pages/Layout.jsx b/client/src/Pages/Layout.jsx new file mode 100644 index 0000000..78a2c69 --- /dev/null +++ b/client/src/Pages/Layout.jsx @@ -0,0 +1,24 @@ +import React from "react"; +import { Outlet, useLocation } from "react-router-dom"; +import Navbar from "./Navbar"; +import Footer from "./Footer"; + +const Layout = () => { + const location = useLocation(); + + // Hide footer on specific pages + const hideFooterPages = ["/", "/ForgetPw", "/ResetPw"]; + const shouldHideFooter = hideFooterPages.includes(location.pathname); + + return ( +