import classnames from "classnames"; import { useSwipeable } from "react-swipeable"; export default function MenuTray({ isOpen, setTray, search, children }) { // Locks document scrolling when menu is open if (typeof document !== "undefined") { if (isOpen) { document.body.style.overflow = "hidden"; } else { document.body.style.overflow = "visible"; } } const handlers = useSwipeable({ onSwipedLeft: (e) => setTray(false), }); // Slides the tray in or out from the left const trayClasses = classnames({ "tray-menu-open": isOpen, "tray-menu-closed": !isOpen, }); // Fades the background overlay in or out const overlayClasses = classnames({ "tray-overlay-open": isOpen, "tray-overlay-closed": !isOpen, }); // Hides or shows the menu const menuClasses = classnames({ "menu-open": isOpen, "menu-closed": !isOpen, }); return ( <> ); }