Reputation: 27
I have followed the installation guide as outlined here
After that I have copied the entire default navbar
The navbar given is always collapsed, as shown in the images below. No matter the screen size.
Navbar Code
"use client";
import { Avatar, Dropdown, Navbar } from "flowbite-react";
export function Nav() {
return (
<Navbar fluid>
<Navbar.Brand href="https://flowbite-react.com">
<img
src="/favicon.svg"
className="mr-3 h-6 sm:h-9"
alt="Flowbite React Logo"
/>
<span className="self-center whitespace-nowrap text-xl font-semibold dark:text-white">
Flowbite React
</span>
</Navbar.Brand>
<div className="flex md:order-2">
<Dropdown
arrowIcon={false}
inline
label={
<Avatar
alt="User settings"
img="https://flowbite.com/docs/images/people/profile-picture-5.jpg"
rounded
/>
}
>
<Dropdown.Header>
<span className="block text-sm">Bonnie Green</span>
<span className="block truncate text-sm font-medium">
[email protected]
</span>
</Dropdown.Header>
<Dropdown.Item>Dashboard</Dropdown.Item>
<Dropdown.Item>Settings</Dropdown.Item>
<Dropdown.Item>Earnings</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item>Sign out</Dropdown.Item>
</Dropdown>
<Navbar.Toggle />
</div>
<Navbar.Collapse>
<Navbar.Link href="#" active>
Home
</Navbar.Link>
<Navbar.Link href="#">About</Navbar.Link>
<Navbar.Link href="#">Services</Navbar.Link>
<Navbar.Link href="#">Pricing</Navbar.Link>
<Navbar.Link href="#">Contact</Navbar.Link>
</Navbar.Collapse>
</Navbar>
);
}
Mobile
Desktop
Upvotes: 1
Views: 576
Reputation: 148
You need to give an open state into your component. Then trigger hamburger menu button into this state.
When hamburger menu is clicked state will be changed into true, then you can handle close as well inside of your collapsed navbar.
"use client";
import { Avatar, Dropdown, Navbar } from "flowbite-react";
export function Nav() {
const [open, setOpen] = useState(false)
return (
<Navbar fluid>
<Navbar.Brand href="https://flowbite-react.com">
<img
src="/favicon.svg"
className="mr-3 h-6 sm:h-9"
alt="Flowbite React Logo"
/>
<span className="self-center whitespace-nowrap text-xl font-semibold dark:text-white">
Flowbite React
</span>
</Navbar.Brand>
<div className="flex md:order-2">
<Dropdown
arrowIcon={false}
inline
label={
<Avatar
alt="User settings"
img="https://flowbite.com/docs/images/people/profile-picture-5.jpg"
rounded
/>
}
>
<Dropdown.Header>
<span className="block text-sm">Bonnie Green</span>
<span className="block truncate text-sm font-medium">
[email protected]
</span>
</Dropdown.Header>
<Dropdown.Item>Dashboard</Dropdown.Item>
<Dropdown.Item>Settings</Dropdown.Item>
<Dropdown.Item>Earnings</Dropdown.Item>
<Dropdown.Divider />
<Dropdown.Item>Sign out</Dropdown.Item>
</Dropdown>
<Navbar.Toggle onClick={() => setOpen(true)} />
</div>
<Navbar.Collapse open={open}> // you need to give an open state into your Navbar.Collapse component as well to show or hide your component
<Navbar.Link href="#" active>
Home
</Navbar.Link>
<Navbar.Link href="#">About</Navbar.Link>
<Navbar.Link href="#">Services</Navbar.Link>
<Navbar.Link href="#">Pricing</Navbar.Link>
<Navbar.Link href="#">Contact</Navbar.Link>
</Navbar.Collapse>
</Navbar>
);
}
Upvotes: 0