fix(ui): 메뉴 클릭 네비게이션 + 드롭다운 딜레이 추가
This commit is contained in:
parent
02f9c55032
commit
72a05db7c3
@ -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 && (
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user