import { CHANGE_EDITOR_COMMAND, KeyboardKey } from '@standardnotes/ui-services' import { WebApplication } from '@/Application/WebApplication' import { SNNote } from '@standardnotes/snjs' import { FunctionComponent, useCallback, useMemo, useRef, useState } from 'react' import Icon from '@/Components/Icon/Icon' import ChangeEditorMenu from '@/Components/ChangeEditor/ChangeEditorMenu' import Popover from '../Popover/Popover' import { KeyboardShortcutIndicator } from '../KeyboardShortcutIndicator/KeyboardShortcutIndicator' import MenuItem from '../Menu/MenuItem' type ChangeEditorOptionProps = { application: WebApplication note: SNNote iconClassName: string } const ChangeEditorOption: FunctionComponent = ({ application, note, iconClassName }) => { const [isOpen, setIsOpen] = useState(false) const menuContainerRef = useRef(null) const buttonRef = useRef(null) const toggleMenu = useCallback(async () => { setIsOpen((isOpen) => !isOpen) }, []) const shortcut = useMemo( () => application.keyboardService.keyboardShortcutForCommand(CHANGE_EDITOR_COMMAND), [application], ) return (
{ if (event.key === KeyboardKey.Escape) { setIsOpen(false) } }} ref={buttonRef} >
Change note type
{shortcut && }
{ setIsOpen(false) }} />
) } export default ChangeEditorOption