@redocly/theme
Version:
Shared UI components lib
18 lines (12 loc) • 559 B
text/typescript
import { useEffect, useState } from 'react';
import { useLocation } from 'react-router-dom';
import { useModalScrollLock } from './use-modal-scroll-lock';
export function useMobileMenu(initialState = false) {
const location = useLocation();
const [isOpen, setIsOpen] = useState(initialState);
useEffect(() => setIsOpen(false), [location.pathname, location.hash]);
useModalScrollLock(isOpen);
const openMobileMenu = () => setIsOpen(true);
const closeMobileMenu = () => setIsOpen(false);
return { isOpen, openMobileMenu, closeMobileMenu };
}