import "./header.css"; import React, { useState, useRef } from "react"; import { createTheme, List, ListItem, ListItemButton, ListItemIcon, ListItemText, StyledEngineProvider, 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"; // TODO: Dinge so umstrukturieren, dass der State für das offene menü in Header ist und das Menü auch in Header, sodass es mit width 100% die volle breite einnehmen kann 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;