"use client"; import { usePathname } from "next/navigation"; import { useState } from "react"; import Link from "next/link"; import Button from "@mui/material/Button"; import Drawer from "@mui/material/Drawer"; import List from "@mui/material/List"; import ListItem from "@mui/material/ListItem"; import MenuIcon from "@mui/icons-material/Menu"; import HomeIcon from "@mui/icons-material/Home"; import AboutIcon from "@mui/icons-material/Info"; import ModelsIcon from "@mui/icons-material/Memory"; import FrameworksIcon from "@mui/icons-material/Apps"; import CompareIcon from "@mui/icons-material/CompareArrows"; import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; import MenuBookIcon from "@mui/icons-material/MenuBook"; import FindInPageIcon from "@mui/icons-material/FindInPage"; export default function Header() { const [drawerOpen, setDrawerOpen] = useState(false); const pathname = usePathname(); const menuItems = [ { text: "Início", href: "/", icon: , featured: true }, { text: "Sobre o Projeto", brief: "Sobre", href: "/sobre", icon: }, { text: "Glossário", href: "/glossario", icon: }, { text: "Séries", href: "/series", icon: , featured: true }, { text: "Seletor de ESP32", brief: "Seletor", href: "/seletor", icon: , featured: true }, { text: "Frameworks", href: "/frameworks", icon: , featured: true }, { text: "Comparar Séries", brief: "Comparar", href: "/comparacao", icon: , featured: true }, { text: "Catálogo de Placas", brief: "Catálogo", href: "/catalogo", icon: }, ]; const featuredItems = menuItems.filter(item => item.featured); function isActive(href) { if (href === "/") { return pathname === "/"; } return String(pathname).includes(href) && href !== "/"; } return ( ESPDocs {/* Menu Desktop - visível em telas médias e grandes */} {featuredItems.map((item) => ( {item.icon} {item.brief || item.text} ))} {/* Botão Menu Completo Desktop */} setDrawerOpen(true)} className="border-2 border-gray-300 text-gray-700 hover:border-purple-500 hover:text-purple-600 transition-all duration-300 hover:shadow-lg rounded-xl! px-4" aria-label="Abrir menu completo" aria-expanded={drawerOpen} aria-controls="mobile-menu-drawer" > {/* Botão Menu Mobile - visível apenas em telas pequenas */} setDrawerOpen(true)} className="border-2 border-gray-300 text-gray-700 hover:border-purple-500 hover:text-purple-600 transition-all duration-300 hover:shadow-lg rounded-xl! px-4" aria-label="Abrir menu de navegação" aria-expanded={drawerOpen} aria-controls="mobile-menu-drawer" > {/* Drawer Mobile */} setDrawerOpen(false)} id="mobile-menu-drawer" > Menu {menuItems.map((item, index) => ( { setDrawerOpen(false); }} href={item.href} aria-label={item.text} aria-current={isActive(item.href) ? "page" : undefined} > {item.icon} {item.text} {isActive(item.href) && ( )} ))} Documentação não oficial ); }
Documentação não oficial