import React from "react"; import { Menu } from "@headlessui/react"; import { BellIcon, MoonIcon, SunIcon, MagnifyingGlassIcon, } from "@heroicons/react/24/outline"; import { ChevronDown, PanelLeftClose, PanelLeftOpen, Menu as MenuIcon, } from "lucide-react"; import { Tooltip } from "antd"; import { appContext } from "../hooks/provider"; import { useConfigStore } from "../hooks/store"; type ContentHeaderProps = { title?: string; onMobileMenuToggle: () => void; isMobileMenuOpen: boolean; }; const classNames = (...classes: (string | undefined | boolean)[]) => { return classes.filter(Boolean).join(" "); }; const ContentHeader = ({ title, onMobileMenuToggle, isMobileMenuOpen, }: ContentHeaderProps) => { const { darkMode, setDarkMode, user, logout } = React.useContext(appContext); const { sidebar, setSidebarState } = useConfigStore(); const { isExpanded } = sidebar; return (
{/* Mobile Menu Button */} {/* Desktop Sidebar Toggle - Hidden on Mobile */}
{/* Search */}
{/* Right side header items */}
{/* Dark Mode Toggle */} {/* Notifications */} {/* Separator */}
{/* User Menu */} {user && ( {user.avatar_url ? ( {user.name} ) : (
{user.name?.[0]}
)} {user.name}
{({ active }) => ( logout()} className={`${ active ? "bg-secondary" : "" } block px-4 py-2 text-sm text-primary`} > Sign out )}
)}
); }; export default ContentHeader;