| import { | import { | ||||
| memo, | memo, | ||||
| useCallback, | useCallback, | ||||
| useEffect, | |||||
| useMemo, | useMemo, | ||||
| useRef, | useRef, | ||||
| } from 'react' | } from 'react' | ||||
| return null | return null | ||||
| }, [model, provider]) | }, [model, provider]) | ||||
| useEffect(() => { | |||||
| const handleKeyDown = (event: KeyboardEvent) => { | |||||
| if (event.key === 'Escape') { | |||||
| event.stopPropagation() | |||||
| onCancel() | |||||
| } | |||||
| } | |||||
| document.addEventListener('keydown', handleKeyDown, true) | |||||
| return () => { | |||||
| document.removeEventListener('keydown', handleKeyDown, true) | |||||
| } | |||||
| }, [onCancel]) | |||||
| return ( | return ( | ||||
| <PortalToFollowElem open> | <PortalToFollowElem open> | ||||
| <PortalToFollowElemContent className='z-[60] h-full w-full'> | <PortalToFollowElemContent className='z-[60] h-full w-full'> |