'use client'; import { useState } from 'react'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; import { Languages, Menu, X, LogOut } from 'lucide-react'; import { cn } from '@/lib/utils'; import { Avatar, AvatarFallback } from '@/components/ui/avatar'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Separator } from '@/components/ui/separator'; import { useUser } from './useUser'; import { useLogout } from './useLogout'; import { getNavItems } from './constants'; import { getInitials, translateTier } from './utils'; import { ThemeToggle } from '@/components/ui/theme-toggle'; import { useI18n } from '@/lib/i18n'; export function DashboardHeader() { const [mobileOpen, setMobileOpen] = useState(false); const pathname = usePathname(); const { data: user, isLoading } = useUser(); const { logout } = useLogout(); const { t } = useI18n(); const navItems = getNavItems(['pro', 'business', 'enterprise'].includes(user?.tier ?? '')); return ( <>
{/* Mobile menu button */} {/* Mobile brand */}
{t('auth.brandName')}
{/* Page title - desktop */}

{t('dashboard.header.title')}

{t('dashboard.header.subtitle')}
{/* Right side */}
{!isLoading && user && ( <> {translateTier(t, user.tier)} {getInitials(user.name)} )}
{/* Mobile navigation drawer */} {mobileOpen && (
)} ); }