import { ViewControllerManager } from '@/Services/ViewControllerManager' import VisuallyHidden from '@reach/visually-hidden' import { observer } from 'mobx-react-lite' import { FunctionComponent, useCallback } from 'react' import Icon from '@/Components/Icon/Icon' type Props = { viewControllerManager: ViewControllerManager className?: string onClickPreprocessing?: () => Promise } const PinNoteButton: FunctionComponent = ({ viewControllerManager, className = '', onClickPreprocessing, }: Props) => { const notes = viewControllerManager.notesController.selectedNotes const pinned = notes.some((note) => note.pinned) const togglePinned = useCallback(async () => { if (onClickPreprocessing) { await onClickPreprocessing() } if (!pinned) { viewControllerManager.notesController.setPinSelectedNotes(true) } else { viewControllerManager.notesController.setPinSelectedNotes(false) } }, [viewControllerManager, onClickPreprocessing, pinned]) return ( ) } export default observer(PinNoteButton)