import { LinkingController } from '@/Controllers/LinkingController' import { observer } from 'mobx-react-lite' import { useRef, useCallback } from 'react' import RoundIconButton from '../Button/RoundIconButton' import Popover from '../Popover/Popover' import LinkedItemsPanel from './LinkedItemsPanel' type Props = { linkingController: LinkingController onClickPreprocessing?: () => Promise } const LinkedItemsButton = ({ linkingController, onClickPreprocessing }: Props) => { const { activeItem, isLinkingPanelOpen, setIsLinkingPanelOpen } = linkingController const buttonRef = useRef(null) const toggleMenu = useCallback(async () => { const willMenuOpen = !isLinkingPanelOpen if (willMenuOpen && onClickPreprocessing) { await onClickPreprocessing() } setIsLinkingPanelOpen(willMenuOpen) }, [isLinkingPanelOpen, onClickPreprocessing, setIsLinkingPanelOpen]) if (!activeItem) { return null } return ( <> ) } export default observer(LinkedItemsButton)