import React, { useEffect } from 'react'; import { usePage } from '@inertiajs/react'; import { Link, router } from '@inertiajs/react'; import { useTranslation } from 'react-i18next'; import i18n from '@/i18n'; import { useAppearance } from '@/hooks/use-appearance'; import { Button } from '@/components/ui/button'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { NavigationMenu, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, navigationMenuTriggerStyle } from '@/components/ui/navigation-menu'; import { Sun, Moon } from 'lucide-react'; import { cn } from '@/lib/utils'; import { marketing as marketingRoute, packages as packagesRoute, blog as blogRoute, kontakt as kontaktRoute, login as loginRoute, register as registerRoute, anlaesseType } from '@/routes'; const Header: React.FC = () => { useEffect(() => { console.log('Header mounted - Inertia initialized?', typeof window.Inertia !== 'undefined' ? 'Yes' : 'No'); console.log('Inertia links on page:', document.querySelectorAll('a[data-inertia]').length); }, []); const { auth, locale } = usePage().props as any; const { t } = useTranslation('auth'); const { appearance, updateAppearance } = useAppearance(); const toggleTheme = () => { const newAppearance = appearance === 'dark' ? 'light' : 'dark'; updateAppearance(newAppearance); }; const handleLanguageChange = (value: string) => { router.post( '/set-locale', { locale: value }, { preserveState: true, replace: true, onSuccess: () => { i18n.changeLanguage(value); }, }, ); }; const handleLogout = () => { router.post('/logout'); }; const occasionUrl = (typeKey: 'hochzeit' | 'geburtstag' | 'firmenevent') => `/anlaesse/${typeKey}`; return (
Fotospiel {t('header.home', 'Home')} {t('header.packages', 'Pakete')} {t('header.blog', 'Blog')} {t('header.occasions.wedding', 'Hochzeit')} {t('header.occasions.birthday', 'Geburtstag')} {t('header.occasions.corporate', 'Firmenevent')} {t('header.contact', 'Kontakt')}
{auth.user ? (

{auth.user?.name || auth.user?.email || 'User'}

{auth.user?.email || ''}

Profil Bestellungen Abmelden
) : ( <> {t('header.login')} {t('header.register')} )}
); }; export default Header;