forked from CSI-KJSCE/appointment_to_examiner
Footer added (fix CSS)
This commit is contained in:
@@ -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) {
|
||||
)}
|
||||
</Container>
|
||||
</div>
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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 = () => {
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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 = () => {
|
||||
)}
|
||||
</tbody>
|
||||
</table >
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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 = () => {
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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 = () => {
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
|
||||
@@ -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 = () => {
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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 = () => {
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
56
client/src/Pages/Footer.jsx
Normal file
56
client/src/Pages/Footer.jsx
Normal file
@@ -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 (
|
||||
<footer style={footerStyle}>
|
||||
<p style={{ fontSize: "18px", fontWeight: "bold" }}>Made by:</p>
|
||||
<div style={{ display: "flex", justifyContent: "center", flexWrap: "wrap", gap: "10px", marginTop: "5px" }}>
|
||||
{contributors.map((contributor, index) => (
|
||||
<a
|
||||
key={index}
|
||||
href={contributor.github}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
style={linkStyle}
|
||||
onMouseOver={(e) => e.target.style.color = linkHoverStyle.color}
|
||||
onMouseOut={(e) => e.target.style.color = linkStyle.color}
|
||||
>
|
||||
{contributor.name}
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
|
||||
export default Footer;
|
||||
24
client/src/Pages/Layout.jsx
Normal file
24
client/src/Pages/Layout.jsx
Normal file
@@ -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 (
|
||||
<div className="app-container">
|
||||
<Navbar />
|
||||
<div className="content">
|
||||
<Outlet /> {/* Current page renders here */}
|
||||
</div>
|
||||
{!shouldHideFooter && <Footer />}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Layout;
|
||||
@@ -1,6 +1,7 @@
|
||||
import React, { useState, useEffect } from "react";
|
||||
import axios from "axios";
|
||||
import Navbar from "./Navbar";
|
||||
import Footer from "./Footer";
|
||||
|
||||
const PanelConsolidated = () => {
|
||||
const [faculty, setFaculty] = useState([]);
|
||||
@@ -122,6 +123,7 @@ const PanelConsolidated = () => {
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -2,6 +2,7 @@ import React, { useState } from "react";
|
||||
import { useNavigate } from "react-router-dom"; // Import useNavigate for navigation
|
||||
import FilterPage from "./FilterPage";
|
||||
import "./WelcomeWithFilter.css";
|
||||
import Footer from "./Footer";
|
||||
|
||||
const WelcomeWithFilter = () => {
|
||||
return (
|
||||
@@ -27,6 +28,7 @@ const WelcomeWithFilter = () => {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -5,6 +5,7 @@ import autoTable from "jspdf-autotable";
|
||||
import Navbar from "./Navbar";
|
||||
import { toast, ToastContainer } from "react-toastify";
|
||||
import { sendEmail } from "../api";
|
||||
import Footer from "./Footer";
|
||||
|
||||
|
||||
const CourseConsolidated = () => {
|
||||
@@ -441,6 +442,7 @@ const CourseConsolidated = () => {
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<Footer/>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user