import type { ReactNode } from 'react'; import type { LucideIcon } from 'lucide-react'; import { Menu } from 'lucide-react'; import { Button } from './ui/button'; import { Sheet, SheetContent, SheetTrigger } from './ui/sheet'; import { cn } from '@/lib/utils'; export interface TopBarNavItem { value: string; label: string; icon: LucideIcon; } interface TopBarProps { activeView: string; navItems: TopBarNavItem[]; onNavigate: (value: string) => void; mobileNavOpen: boolean; onMobileNavOpenChange: (open: boolean) => void; search?: ReactNode; themeSwitch?: ReactNode; notifications: ReactNode; userMenu: ReactNode; } export function TopBar({ activeView, navItems, onNavigate, mobileNavOpen, onMobileNavOpenChange, search, themeSwitch, notifications, userMenu, }: TopBarProps) { return (
{/* LEFT ZONE: reserved spacer (keeps nav visually centered) */}
{/* CENTER ZONE: Navigation (hidden on mobile) */} {/* RIGHT ZONE: Utilities + identity pin */}
{search} {themeSwitch} {notifications} {userMenu} {/* Mobile nav trigger */}

Navigation

); }