import { Ellipsis } from '@liam-hq/ui' import * as ToolbarPrimitive from '@radix-ui/react-toolbar' import clsx from 'clsx' import { type FC, useEffect, useRef, useState } from 'react' import styles from './MobileToolbar.module.css' import { OpenedMobileToolbar } from './OpenedMobileToolbar' import { ShowModeMenu } from './ShowModeMenu' export const MobileToolbar: FC = () => { const [isOpen, setIsOpen] = useState(false) const [isShowModeMenu, setIsShowModeMenu] = useState(false) const toolbarRef = useRef(null) const toggleOpenClose = () => { setIsOpen((prev) => !prev) } const toggleShowModeMenu = () => { setIsShowModeMenu((prev) => !prev) } useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if (!(event.target instanceof Element)) { return } if ( toolbarRef.current && !toolbarRef.current.contains(event.target) && isOpen ) { event.preventDefault() event.stopPropagation() setIsOpen(false) } } if (isOpen) { document.addEventListener('mousedown', handleClickOutside, true) } return () => { document.removeEventListener('mousedown', handleClickOutside, true) } }, [isOpen]) return ( <> {isOpen &&
}
{/* Default(closed) */}
{/* Open */}
{/* ShowModeMenu */}
) }