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 { ToastContainer, toast } from "react-toastify";
|
||||||
import "react-toastify/dist/ReactToastify.css";
|
import "react-toastify/dist/ReactToastify.css";
|
||||||
import Navbar from "./Navbar";
|
import Navbar from "./Navbar";
|
||||||
|
import Footer from "./Footer";
|
||||||
|
|
||||||
function HomePage(props) {
|
function HomePage(props) {
|
||||||
|
|
||||||
@@ -101,6 +102,7 @@ function HomePage(props) {
|
|||||||
)}
|
)}
|
||||||
</Container>
|
</Container>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import Navbar from './Navbar';
|
|||||||
import { toast, ToastContainer } from "react-toastify";
|
import { toast, ToastContainer } from "react-toastify";
|
||||||
import 'react-toastify/dist/ReactToastify.css';
|
import 'react-toastify/dist/ReactToastify.css';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
import Footer from './Footer';
|
||||||
|
|
||||||
export const AdminCoursePage = () => {
|
export const AdminCoursePage = () => {
|
||||||
const [courses, setCourses] = useState([]);
|
const [courses, setCourses] = useState([]);
|
||||||
@@ -268,6 +269,7 @@ export const AdminCoursePage = () => {
|
|||||||
)}
|
)}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<Footer/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import Navbar from './Navbar';
|
|||||||
import { toast, ToastContainer } from "react-toastify";
|
import { toast, ToastContainer } from "react-toastify";
|
||||||
import 'react-toastify/dist/ReactToastify.css';
|
import 'react-toastify/dist/ReactToastify.css';
|
||||||
import { useNavigate } from 'react-router-dom';
|
import { useNavigate } from 'react-router-dom';
|
||||||
|
import Footer from './Footer';
|
||||||
|
|
||||||
|
|
||||||
export const AdminFacultyPage = () => {
|
export const AdminFacultyPage = () => {
|
||||||
@@ -359,6 +360,7 @@ export const AdminFacultyPage = () => {
|
|||||||
)}
|
)}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table >
|
</table >
|
||||||
|
<Footer/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { sendEmail, createExcelBook } from "../api";
|
|||||||
import Navbar from "./Navbar";
|
import Navbar from "./Navbar";
|
||||||
import { toast, ToastContainer } from "react-toastify";
|
import { toast, ToastContainer } from "react-toastify";
|
||||||
import "react-toastify/dist/ReactToastify.css";
|
import "react-toastify/dist/ReactToastify.css";
|
||||||
|
import Footer from "./Footer";
|
||||||
|
|
||||||
const styles = {
|
const styles = {
|
||||||
header: {
|
header: {
|
||||||
@@ -397,6 +398,7 @@ const ConsolidatedTable = () => {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { fetchFaculties, saveAppointment } from "../api";
|
|||||||
import "./CourseForm.css";
|
import "./CourseForm.css";
|
||||||
import "./Navbar.jsx";
|
import "./Navbar.jsx";
|
||||||
import Navbar from "./Navbar.jsx";
|
import Navbar from "./Navbar.jsx";
|
||||||
|
import Footer from "./Footer.jsx";
|
||||||
|
|
||||||
const CourseForm = () => {
|
const CourseForm = () => {
|
||||||
const { id } = useParams();
|
const { id } = useParams();
|
||||||
@@ -348,6 +349,7 @@ const CourseForm = () => {
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer/>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import "./CourseTable.css";
|
|||||||
import { fetchCourses, fetchAppointments } from "../api";
|
import { fetchCourses, fetchAppointments } from "../api";
|
||||||
|
|
||||||
import FilterPage from "./FilterPage";
|
import FilterPage from "./FilterPage";
|
||||||
|
import Footer from "./Footer";
|
||||||
|
|
||||||
const CourseTable = () => {
|
const CourseTable = () => {
|
||||||
const { state } = useLocation();
|
const { state } = useLocation();
|
||||||
@@ -77,6 +78,7 @@ const CourseTable = () => {
|
|||||||
)}
|
)}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<Footer/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import React, { useState, useEffect } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import Navbar from "./Navbar";
|
import Navbar from "./Navbar";
|
||||||
|
import Footer from "./Footer";
|
||||||
|
|
||||||
const DepartmentConsolidated = () => {
|
const DepartmentConsolidated = () => {
|
||||||
const [searchQuery, setSearchQuery] = useState("");
|
const [searchQuery, setSearchQuery] = useState("");
|
||||||
@@ -280,6 +281,7 @@ const DepartmentConsolidated = () => {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</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 React, { useState, useEffect } from "react";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import Navbar from "./Navbar";
|
import Navbar from "./Navbar";
|
||||||
|
import Footer from "./Footer";
|
||||||
|
|
||||||
const PanelConsolidated = () => {
|
const PanelConsolidated = () => {
|
||||||
const [faculty, setFaculty] = useState([]);
|
const [faculty, setFaculty] = useState([]);
|
||||||
@@ -122,6 +123,7 @@ const PanelConsolidated = () => {
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import React, { useState } from "react";
|
|||||||
import { useNavigate } from "react-router-dom"; // Import useNavigate for navigation
|
import { useNavigate } from "react-router-dom"; // Import useNavigate for navigation
|
||||||
import FilterPage from "./FilterPage";
|
import FilterPage from "./FilterPage";
|
||||||
import "./WelcomeWithFilter.css";
|
import "./WelcomeWithFilter.css";
|
||||||
|
import Footer from "./Footer";
|
||||||
|
|
||||||
const WelcomeWithFilter = () => {
|
const WelcomeWithFilter = () => {
|
||||||
return (
|
return (
|
||||||
@@ -27,6 +28,7 @@ const WelcomeWithFilter = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import autoTable from "jspdf-autotable";
|
|||||||
import Navbar from "./Navbar";
|
import Navbar from "./Navbar";
|
||||||
import { toast, ToastContainer } from "react-toastify";
|
import { toast, ToastContainer } from "react-toastify";
|
||||||
import { sendEmail } from "../api";
|
import { sendEmail } from "../api";
|
||||||
|
import Footer from "./Footer";
|
||||||
|
|
||||||
|
|
||||||
const CourseConsolidated = () => {
|
const CourseConsolidated = () => {
|
||||||
@@ -441,6 +442,7 @@ const CourseConsolidated = () => {
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Footer/>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user