// src/components/Header.jsx import React, { useState, useEffect, useRef } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import LanguageSelector from './LanguageSelector'; import { useTranslation } from '../js/i18n'; import '../styles/Header.css'; import logo from '/assets/logo.png'; function Header() { const { t } = useTranslation(); const navigate = useNavigate(); const user = JSON.parse(localStorage.getItem('user')); const [menuOpen, setMenuOpen] = useState(false); const menuRef = useRef(null); const handleLogout = () => { localStorage.removeItem('user'); navigate('/login'); }; const toggleMenu = () => { setMenuOpen((prev) => !prev); }; // 点击菜单外部时关闭菜单 useEffect(() => { const handleClickOutside = (event) => { if (menuRef.current && !menuRef.current.contains(event.target)) { setMenuOpen(false); } }; document.addEventListener('mousedown', handleClickOutside); return () => { document.removeEventListener('mousedown', handleClickOutside); }; }, []); return (
); } export default Header;