fix(ui): 메뉴 클릭 네비게이션 + 드롭다운 딜레이 추가

This commit is contained in:
zio 2026-06-01 01:55:51 +09:00
parent 02f9c55032
commit 72a05db7c3

View File

@ -60,6 +60,7 @@ export default function Header() {
const [activeMenu, setActiveMenu] = useState(null); const [activeMenu, setActiveMenu] = useState(null);
const [mobileOpen, setMobileOpen] = useState(false); const [mobileOpen, setMobileOpen] = useState(false);
const [member, setMember] = useState(null); const [member, setMember] = useState(null);
const closeTimer = React.useRef(null);
const location = useLocation(); const location = useLocation();
const navigate = useNavigate(); const navigate = useNavigate();
@ -117,10 +118,11 @@ export default function Header() {
{MENU.map(menu => ( {MENU.map(menu => (
<div key={menu.id} <div key={menu.id}
className={`nav-item ${isActive(menu) ? 'active' : ''}`} className={`nav-item ${isActive(menu) ? 'active' : ''}`}
onMouseEnter={() => setActiveMenu(menu.id)} onMouseEnter={() => { clearTimeout(closeTimer.current); setActiveMenu(menu.id); }}
onMouseLeave={() => setActiveMenu(null)}> onMouseLeave={() => { closeTimer.current = setTimeout(() => setActiveMenu(null), 200); }}>
<button className="nav-trigger" aria-haspopup="true" <button className="nav-trigger" aria-haspopup="true"
aria-expanded={activeMenu === menu.id}> aria-expanded={activeMenu === menu.id}
onClick={() => navigate(menu.children[0].path)}>
{menu.label} {menu.label}
</button> </button>
{activeMenu === menu.id && ( {activeMenu === menu.id && (