'use client' import { useState, useEffect } from 'react' import Link from 'next/link' import Image from 'next/image' import { usePathname } from 'next/navigation' import { HomeIcon, UsersIcon, CalendarDaysIcon, BuildingOfficeIcon, Cog6ToothIcon, ArrowRightOnRectangleIcon, Bars3Icon, XMarkIcon, } from '@heroicons/react/24/outline' const navigation = [ { name: 'Dashboard', href: '/', icon: HomeIcon }, { name: 'Personeller', href: '/employees', icon: UsersIcon }, { name: 'İzinler', href: '/leave-requests', icon: CalendarDaysIcon }, { name: 'Şirketler', href: '/companies', icon: BuildingOfficeIcon }, { name: 'Ayarlar', href: '/settings', icon: Cog6ToothIcon }, ] interface SidebarProps { isAdmin?: boolean } export function Sidebar({ isAdmin = false }: SidebarProps) { const pathname = usePathname() const [sidebarOpen, setSidebarOpen] = useState(false) const filteredNavigation = navigation.filter(item => { if (item.href === '/companies') return isAdmin return true }) // Listen for mobile menu open event from Header useEffect(() => { const handleOpen = () => setSidebarOpen(true); window.addEventListener('open-mobile-menu', handleOpen); return () => window.removeEventListener('open-mobile-menu', handleOpen); }, []); return ( <> {/* Drawer logic is below, Mobile Header is now in Header.tsx */} {/* Mobile Sidebar Overlay (Drawer) */} {sidebarOpen && (
setSidebarOpen(false)} />
{/* Mobile Sidebar Content - Reusing Desktop Style */}
Abisena Logo Personel Takip Sistemi
)} {/* Desktop Sidebar */}
Abisena Logo
Personel Takip Sistemi
) }