'use client'; import { useState } from 'react'; import Link from 'next/link'; import { Menu, X, LogOut } from 'lucide-react'; import { useUser } from './useUser'; import { useLogout } from './useLogout'; import { DashboardNavLinks } from './DashboardNavLinks'; 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 { data: user, isLoading } = useUser(); const { logout } = useLogout(); const { t } = useI18n(); return ( <>
{/* Mobile menu button */} {/* Mobile brand */}
W
{t('auth.brandName')}
{/* Left side - desktop */}
{/* Right side */}
{/* Theme toggle */}
{/* User info */} {!isLoading && user && (
{user.name} {user.tier && user.tier !== 'free' ? t('dashboard.topbar.premiumAccess', { defaultValue: 'Premium Access' }) : translateTier(t, user.tier)}
{getInitials(user.name)}
)} {/* Mobile theme + avatar */} {!isLoading && user && (
{getInitials(user.name)}
)}
{/* Mobile navigation drawer */} {mobileOpen && (
)} ); }