diff --git a/src/frontend/App.tsx b/src/frontend/App.tsx index 23ba80c..2138b23 100644 --- a/src/frontend/App.tsx +++ b/src/frontend/App.tsx @@ -13,6 +13,7 @@ import TimetableCombined from "./Pages/TimetableCombined"; import BatchAndSubdiviionUpload from "./Components/CSV/BatchAndSubdivision"; import ClassroomUpload from "./Components/CSV/Classrooms"; import SubjectAndTeacherUpload from "./Components/CSV/SubjectAndTeacers"; +import LandingPage from "./Pages/LandingPage"; export default function App() { return ( @@ -36,6 +37,14 @@ export default function App() { } /> + + + + } + /> } /> ); -} +} \ No newline at end of file diff --git a/src/frontend/Pages/LandingPage.tsx b/src/frontend/Pages/LandingPage.tsx new file mode 100644 index 0000000..1709fa3 --- /dev/null +++ b/src/frontend/Pages/LandingPage.tsx @@ -0,0 +1,102 @@ +import React, { useState } from "react"; +import { styled } from "@mui/material/styles"; +import { Box, Button, Typography, Container, Grid, Paper } from "@mui/material"; +import { Link } from "react-router-dom"; + +const Main = styled("main", { + shouldForwardProp: (prop) => prop !== "drawerState" +})<{ + drawerState?: boolean; + drawerwidth: number; +}>(({ theme, drawerState, drawerwidth }) => ({ + flexGrow: 1, + padding: theme.spacing(3), + transition: theme.transitions.create("margin", { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen + }), + marginRight: -drawerwidth, + ...(drawerState && { + transition: theme.transitions.create("margin", { + easing: theme.transitions.easing.easeOut, + duration: theme.transitions.duration.enteringScreen + }), + marginRight: 0 + }), + position: "relative", + backgroundColor: "#f7f7f7", + minHeight: "100vh", + display: "flex", + alignItems: "center", + justifyContent: "center", + fontFamily: "'Montserrat', sans-serif", // Use Montserrat font +})); + +const FancyButton = styled(Button)({ + background: "#2196f3", + border: 0, + borderRadius: 3, + boxShadow: "0 3px 5px 2px rgba(33, 150, 243, .3)", + color: "white", + height: 48, + padding: "0 30px", + '&:hover': { + background: "#1976d2", + } +}); + +const ButtonContainer = styled("div")({ + display: "flex", + gap: "100px", // Adjust the gap between buttons + position: "absolute", + bottom: 150, // Align buttons to the bottom + right: 900, // Align buttons to the right +}); + +export default function LandingPage() { + const [drawerState, setDrawerState] = useState(false); + + const handleDrawerOpen = () => { + setDrawerState(true); + }; + + const handleDrawerClose = () => { + setDrawerState(false); + }; + + return ( + <> +
+ + + + + Time Table Generator + + + Effortlessly create tailor-made timetables for your university with just one click, enhancing organization and efficiency instantly. + + + + + placeholder + + {/* Link to Upload.tsx */} + + Upload CSV + + + {/* Link to TimetableCombined.tsx */} + + Generate or Edit + + + + + + + +
+ + ); +} diff --git a/src/icons/3895889.jpg b/src/icons/3895889.jpg new file mode 100644 index 0000000..5399791 Binary files /dev/null and b/src/icons/3895889.jpg differ