import clsx from "clsx";
import { FC, HTMLAttributes, type MouseEvent } from "react";
import { createPortal } from "react-dom";
import GridIcon from "@dndbeyond/fontawesome-cache/svgs/solid/grid.svg";
import { useIsVisible } from "@dndbeyond/ttui/hooks/useIsVisible";
import { useSidebar } from "~/contexts/Sidebar";
import { useUnpropagatedClick } from "~/hooks/useUnpropagatedClick";
import { sidebarId } from "../../constants";
import { ArrowsLeftIcon } from "../Sidebar/svgs/ArrowsLeftIcon";
import { ArrowsRightIcon } from "../Sidebar/svgs/ArrowsRightIcon";
import { SectionMenu } from "./SectionMenu";
import styles from "./styles.module.css";
export interface MobileNavProps extends HTMLAttributes {}
export const MobileNav: FC = ({ className, ...props }) => {
const {
ref,
isVisible: isMenuVisible,
setIsVisible: setIsMenuVisible,
} = useIsVisible(false);
const { sidebar } = useSidebar();
const handleToggleSidebar = useUnpropagatedClick(() => {
setIsMenuVisible(false);
sidebar.setIsVisible(!sidebar.isVisible);
});
const handleToggleMenu = () => {
setIsMenuVisible(!isMenuVisible);
};
const handleCloseMenu = (e?: MouseEvent) => {
e?.stopPropagation();
setIsMenuVisible(false);
};
return createPortal(
{!sidebar.isVisible && (
)}
,
document.body
);
};