import { useEffect, useRef } from 'react'; import { Link, NavLink, useNavigate } from 'react-router-dom'; import { useAuth } from '../context/AuthContext'; import styles from './Layout.module.css'; const navClass = ({ isActive }) => (isActive ? styles.navActive : undefined); export default function Layout({ children }) { const { isAdmin, logout } = useAuth(); const navigate = useNavigate(); const headerRef = useRef(null); useEffect(() => { const header = headerRef.current; if (!header) return undefined; const root = document.documentElement; const update = () => root.style.setProperty('--header-height', `${header.offsetHeight}px`); update(); const observer = new ResizeObserver(update); observer.observe(header); return () => observer.disconnect(); }, []); const handleLogout = () => { logout(); navigate('/login', { replace: true }); }; return (