'use client'; import { Box } from '@/ui/Box'; import { Text } from '@/ui/Text'; import { Search, Bell, Command } from 'lucide-react'; import { usePathname } from 'next/navigation'; import { useCurrentSession } from '@/hooks/auth/useCurrentSession'; import { useState, useEffect } from 'react'; import { AppShellBar } from './AppShellBar'; import { CommandModal } from './CommandModal'; import { UserPill } from '@/components/profile/UserPill'; export function AppHeader() { const pathname = usePathname(); const { data: session } = useCurrentSession(); const isAuthenticated = !!session; const [isCommandOpen, setIsCommandOpen] = useState(false); // Simple breadcrumb logic const pathSegments = pathname.split('/').filter(Boolean); const breadcrumbs = pathSegments.length > 0 ? pathSegments.map(s => s.charAt(0).toUpperCase() + s.slice(1)).join(' / ') : 'Home'; // Cmd+K Listener useEffect(() => { const down = (e: KeyboardEvent) => { if (e.key === 'k' && (e.metaKey || e.ctrlKey)) { e.preventDefault(); setIsCommandOpen((open) => !open); } }; document.addEventListener('keydown', down); return () => document.removeEventListener('keydown', down); }, []); return ( <> {/* Left: Context & Search */} {breadcrumbs} {/* Command Search Trigger */} {/* Right: User & Notifications */} {/* Notifications - Only when authed */} {isAuthenticated && ( )} {/* User Pill (Handles Auth & Menu) */} setIsCommandOpen(false)} /> ); }