'use client'; import { useEffect, useState } from 'react'; import Link from 'next/link'; import { X, PawPrint, Heart, Gift, Home, Search, User, Sun, Moon, ChevronRight, Shield, } from 'lucide-react'; interface SideMenuProps { open: boolean; onClose: () => void; } export default function SideMenu({ open, onClose }: SideMenuProps) { const [dark, setDark] = useState(false); useEffect(() => { setDark( document.documentElement.classList.contains('dark') || document.documentElement.getAttribute('data-theme') === 'dark' ); }, [open]); useEffect(() => { const handler = (e: KeyboardEvent) => { if (e.key === 'Escape' && open) onClose(); }; window.addEventListener('keydown', handler); return () => window.removeEventListener('keydown', handler); }, [open, onClose]); const toggleTheme = () => { const isDark = document.documentElement.classList.toggle('dark'); document.documentElement.setAttribute('data-theme', isDark ? 'dark' : 'light'); setDark(isDark); try { localStorage.setItem('pawlink-theme', isDark ? 'dark' : 'light'); } catch (_) {} }; const menuItems = [ { href: '/', icon: Home, label: 'Início' }, { href: '/main/animals', icon: Search, label: 'Explorar animais' }, { href: '/main/donate', icon: Gift, label: 'Fazer uma doação' }, { href: '/main/shelters', icon: PawPrint, label: 'Canis parceiros' }, { href: '/main/animals', icon: Heart, label: 'Adoptar' }, ]; const accountItems = [ { href: '/auth/login', icon: User, label: 'Entrar / Registar' }, { href: '/shelter/dashboard', icon: Shield, label: 'Área do Canil' }, ]; return ( <> {/* Overlay */}
{/* Drawer */} > ); }