make header menu clickable and menu open full width

This commit is contained in:
Niklas 2025-05-20 17:18:46 +02:00 committed by BlankAccountsUsername
parent e2705f2b0e
commit 56e8f80245

View file

@ -5,29 +5,31 @@ import React, { useState } from "react";
// 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 toggleMenu = () => {
setIsOpen(isOpen? false : true);
};
return (
<>
<header className="base-header">
<div className="base-header-icon"> <img src='/assets/icons/feather_black.svg' alt="featherIcon" /> </div>
<p className="header-title small-title">
Feather Feed
</p>
<div className="base-header-icon"> <MenuButton/> </div>
<div className="base-header-icon"> <img src='/assets/icons/three_menu_stripes_black.svg' alt="x" onClick={toggleMenu}/> </div>
</header>
<MenuButton isOpen={isOpen}/>
</>
);
}
const MenuButton: React.FC = () => {
const [isOpen, setIsOpen] = useState(false);
const toggleMenu = () => {
setIsOpen(prev => !prev);
};
function MenuButton({isOpen}: any) {
return (
<div style={{ position: "relative", display: "inline-block" }}>
<img src="/assets/icons/three_menu_stripes_black.svg" alt="menuIcon" onClick={toggleMenu} />
<div style={{ position: "relative", display: "inline-block", width: "100vw"}}>
{isOpen && (
<div className="menu">