change header height, change header icon margin for mobile

This commit is contained in:
Niklas 2025-06-27 15:02:23 +02:00 committed by BlankAccountsUsername
parent 878ab88598
commit 0fa02683c2

View file

@ -1,17 +1,23 @@
import "./header.css"; import "./header.css";
import React, { useState, useRef } from "react"; import React, { useState } from "react";
import { List, ListItem, ListItemButton, ListItemIcon, ListItemText, StyledEngineProvider, SwipeableDrawer, ThemeProvider } from '@mui/material'; import {
import Box from '@mui/material/Box'; List,
import AddAPhotoIcon from '@mui/icons-material/AddAPhoto'; ListItem,
import DynamicFeedIcon from '@mui/icons-material/DynamicFeed'; ListItemButton,
import PersonIcon from '@mui/icons-material/Person'; ListItemIcon,
import InfoIcon from '@mui/icons-material/Info'; ListItemText,
import LogoutIcon from '@mui/icons-material/Logout'; SwipeableDrawer,
import ExitToAppIcon from '@mui/icons-material/ExitToApp'; } from "@mui/material";
import FollowTheSignsIcon from '@mui/icons-material/FollowTheSigns'; 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 ExitToAppIcon from "@mui/icons-material/ExitToApp";
import FollowTheSignsIcon from "@mui/icons-material/FollowTheSigns";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import { useAuth } from "../api/Auth"; import { useAuth } from "../api/Auth";
import { ExitToApp } from "@mui/icons-material";
function Header() { function Header() {
const [isOpen, setIsOpen] = useState(false); const [isOpen, setIsOpen] = useState(false);
@ -19,17 +25,34 @@ function Header() {
setIsOpen(!isOpen); setIsOpen(!isOpen);
}; };
const { logout, user } = useAuth(); const { logout, user } = useAuth();
const iconList = [DynamicFeedIcon, AddAPhotoIcon, PersonIcon, InfoIcon, LogoutIcon, ExitToAppIcon, FollowTheSignsIcon]; const iconList = [
const routerLinksList = ["/feed","/createpost","/profile","/about","/login","/register"] DynamicFeedIcon,
AddAPhotoIcon,
// TODO: Logout nur anzeigen wenn user eingeloggt ist PersonIcon,
InfoIcon,
LogoutIcon,
ExitToAppIcon,
FollowTheSignsIcon,
];
const routerLinksList = [
"/feed",
"/createpost",
"/profile",
"/about",
"/login",
"/register",
];
const DrawerList = ( const DrawerList = (
<Box role="menu" onClick={() => setIsOpen(false)}> <Box role="menu" onClick={() => setIsOpen(false)}>
<List className="drawer-list"> <List className="drawer-list">
{["Feed", "Create Post", "Profile", "About Us"].map((text, index) => ( {["Feed", "Create Post", "Profile", "About Us"].map((text, index) => (
<ListItem className="drawer-list-item" key={text} disablePadding> <ListItem className="drawer-list-item" key={text} disablePadding>
<ListItemButton className="drawer-list-item-button" component={Link} to={routerLinksList[index]} > <ListItemButton
className="drawer-list-item-button"
component={Link}
to={routerLinksList[index]}
>
<ListItemIcon className="drawer-list-item"> <ListItemIcon className="drawer-list-item">
{React.createElement(iconList[index])} {React.createElement(iconList[index])}
</ListItemIcon> </ListItemIcon>
@ -37,31 +60,62 @@ function Header() {
</ListItemButton> </ListItemButton>
</ListItem> </ListItem>
))} ))}
{user && <ListItem className="drawer-list-item-button" key={"Log Out"} disablePadding> {user && (
<ListItemButton className="drawer-list-item-button" onClick={logout}> <ListItem
className="drawer-list-item-button"
key={"Log Out"}
disablePadding
>
<ListItemButton
className="drawer-list-item-button"
onClick={logout}
>
<ListItemIcon className="drawer-list-item"> <ListItemIcon className="drawer-list-item">
{React.createElement(iconList[4])} {React.createElement(iconList[4])}
</ListItemIcon> </ListItemIcon>
<ListItemText className="drawer-list-item" primary={"Log Out"} /> <ListItemText className="drawer-list-item" primary={"Log Out"} />
</ListItemButton> </ListItemButton>
</ListItem> } </ListItem>
{!user && <> <ListItem className="drawer-list-item-button" key={"Login"} disablePadding> )}
<ListItemButton className="drawer-list-item-button" component={Link} to={routerLinksList[4]}> {!user && (
<>
<ListItem
className="drawer-list-item-button"
key={"Login"}
disablePadding
>
<ListItemButton
className="drawer-list-item-button"
component={Link}
to={routerLinksList[4]}
>
<ListItemIcon className="drawer-list-item"> <ListItemIcon className="drawer-list-item">
{React.createElement(iconList[5])} {React.createElement(iconList[5])}
</ListItemIcon> </ListItemIcon>
<ListItemText className="drawer-list-item" primary={"Login"} /> <ListItemText className="drawer-list-item" primary={"Login"} />
</ListItemButton> </ListItemButton>
</ListItem> </ListItem>
<ListItem className="drawer-list-item-button" key={"Sign up"} disablePadding> <ListItem
<ListItemButton className="drawer-list-item-button" component={Link} to={routerLinksList[5]}> className="drawer-list-item-button"
key={"Sign up"}
disablePadding
>
<ListItemButton
className="drawer-list-item-button"
component={Link}
to={routerLinksList[5]}
>
<ListItemIcon className="drawer-list-item"> <ListItemIcon className="drawer-list-item">
{React.createElement(iconList[6])} {React.createElement(iconList[6])}
</ListItemIcon> </ListItemIcon>
<ListItemText className="drawer-list-item" primary={"Sign up"}/> <ListItemText
className="drawer-list-item"
primary={"Sign up"}
/>
</ListItemButton> </ListItemButton>
</ListItem> </> } </ListItem>{" "}
</>
)}
</List> </List>
</Box> </Box>
); );
@ -69,11 +123,18 @@ function Header() {
return ( return (
<> <>
<header className="base-header blue-background"> <header className="base-header blue-background">
<div className="header-icon"> <img className="header-icon-feather" src='/assets/icons/BirdIconO.ico' alt="featherIcon" /> </div> <img
<p className="header-title small-title"> className="header-icon header-icon-feather"
Feather Feed src="/assets/icons/BirdIconO.ico"
</p> alt="featherIcon"
<div className="header-icon header-icon-menu"> <img src='/assets/icons/menu_orange.svg' alt="menu" onClick={toggleMenu} /> </div> />
<p className="header-title small-title">Feather Feed</p>
<img
className="header-icon header-icon-menu"
src="/assets/icons/menu_orange.svg"
alt="menu"
onClick={toggleMenu}
/>
</header> </header>
<SwipeableDrawer <SwipeableDrawer
anchor={"right"} anchor={"right"}
@ -87,7 +148,5 @@ function Header() {
); );
} }
// EXPORT VARIABLES // EXPORT VARIABLES
export default Header; export default Header;