diff --git a/code/frontend/src/components/Header.tsx b/code/frontend/src/components/Header.tsx new file mode 100644 index 0000000..9841a4a --- /dev/null +++ b/code/frontend/src/components/Header.tsx @@ -0,0 +1,89 @@ +import "./header.css"; +import React, { useState, useRef } from "react"; +import { createTheme, List, ListItem, ListItemButton, ListItemIcon, ListItemText, SwipeableDrawer, ThemeProvider } from '@mui/material'; +import Box from '@mui/material/Box'; +import AddAPhotoIcon from '@mui/icons-material/AddAPhoto'; +import DynamicFeedIcon from '@mui/icons-material/DynamicFeed'; +import PersonIcon from '@mui/icons-material/Person'; +import InfoIcon from '@mui/icons-material/Info'; +import LogoutIcon from '@mui/icons-material/Logout'; +import { Link } from "react-router-dom"; +import axios from "axios"; + +function Header() { + const [isOpen, setIsOpen] = useState(false); + const iconRef = useRef(null); + const toggleMenu = () => { + setIsOpen(!isOpen); + }; + // TODO + const logOut = async () => { + try { + const response = await axios.delete("http://localhost:3001/api/user/logout"); + } catch (err: any) { + console.error("error: ", err.response.data); + } + }; + const iconList = [DynamicFeedIcon, AddAPhotoIcon, PersonIcon, InfoIcon, LogoutIcon]; + const routerLinksList = ["/","/createpost","/profile","/about","/"] + + const DrawerList = ( + setIsOpen(false)}> + + + {["Feed", "Create Post", "Profile", "About Us"].map((text, index) => ( + + + + {React.createElement(iconList[index])} + + + + + ))} + + + + {React.createElement(iconList[4])} + + + + + + + + ); + + return ( + <> +
+
featherIcon
+

+ Feather Feed +

+
{isOpen? close menu : menu}
+
+ setIsOpen(false)} + onOpen={() => setIsOpen(true)} + > + {DrawerList} + + + ); +} + + + +// EXPORT VARIABLES +export default Header; \ No newline at end of file