/** * Application Header Component * Top header bar for the main application layout * Includes logo, project switcher, and user menu */ 'use client'; import Image from 'next/image'; import { Link } from '@/lib/i18n/routing'; import { cn } from '@/lib/utils'; import { ThemeToggle } from '@/components/theme'; import { LocaleSwitcher } from '@/components/i18n'; import { ProjectSwitcher } from './ProjectSwitcher'; import { UserMenu } from './UserMenu'; interface Project { id: string; slug: string; name: string; } interface AppHeaderProps { /** Currently selected project */ currentProject?: Project; /** List of available projects */ projects?: Project[]; /** Callback when project is changed */ onProjectChange?: (projectSlug: string) => void; /** Additional className */ className?: string; } export function AppHeader({ currentProject, projects = [], onProjectChange, className, }: AppHeaderProps) { return (
{/* Left side - Logo and Project Switcher */}
{/* Logo - visible on mobile, hidden on desktop when sidebar is visible */} Syndarix {/* Project Switcher */} {projects.length > 0 && (
)}
{/* Right side - Actions */}
{/* Mobile Project Switcher */} {projects.length > 0 && (
)}
); }