'use client';
import { useState, useEffect } from 'react';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import { useI18n } from '@/lib/i18n';
import { UserMenu } from '@/components/UserMenu';
interface NavItem {
href: string;
labelKey: string;
icon: React.ReactNode;
}
const navItems: NavItem[] = [
{
href: '/de/dashboard',
labelKey: 'nav.dashboard',
icon: (
),
},
{
href: '/de/fahrzeuge',
labelKey: 'nav.vehicles',
icon: (
),
},
{
href: '/de/kontakte',
labelKey: 'nav.contacts',
icon: (
),
},
{
href: '/de/verkauf',
labelKey: 'nav.sales',
icon: (
),
},
{
href: '/de/ki-copilot',
labelKey: 'nav.ki-copilot',
icon: (
),
},
{
href: '/de/ocr',
labelKey: 'nav.ocr',
icon: (
),
},
{
href: '/de/retouch',
labelKey: 'nav.retouch',
icon: (
),
},
];
export function Navigation() {
const pathname = usePathname();
const { t } = useI18n();
const [mobileOpen, setMobileOpen] = useState(false);
// Close mobile sidebar on route change
useEffect(() => {
setMobileOpen(false);
}, [pathname]);
function isActive(href: string): boolean {
// Extract the path segment after locale (e.g. /de/fahrzeuge -> fahrzeuge)
const segments = href.split('/'); // ['', 'de', 'fahrzeuge']
const section = segments[2]; // 'fahrzeuge'
if (!section) return false;
return pathname.includes(`/${section}`);
}
return (
<>
{/* Mobile header bar with hamburger */}