import React from "react"; import PropTypes from "prop-types"; import { Link } from "react-router-dom"; import { Navbar as MTNavbar, Collapse, Typography, Button, IconButton, } from "@material-tailwind/react"; import { Bars3Icon, XMarkIcon } from "@heroicons/react/24/outline"; export function Navbar({ brandName, routes, action }) { const [openNav, setOpenNav] = React.useState(false); React.useEffect(() => { window.addEventListener( "resize", () => window.innerWidth >= 960 && setOpenNav(false) ); }, []); const navList = ( ); return (
{brandName}
{navList}
{React.cloneElement(action, { className: "hidden lg:inline-block", })} setOpenNav(!openNav)} > {openNav ? ( ) : ( )}
{navList} {React.cloneElement(action, { className: "w-full block lg:hidden", })}
); } Navbar.defaultProps = { brandName: "Material Tailwind React", action: ( ), }; Navbar.propTypes = { brandName: PropTypes.string, routes: PropTypes.arrayOf(PropTypes.object).isRequired, action: PropTypes.node, }; Navbar.displayName = "/src/widgets/layout/navbar.jsx"; export default Navbar;