Spaces:
Running
Running
| import { useRef, type RefObject } from 'react'; | |
| export function useEnterSubmit(): { | |
| formRef: RefObject<HTMLFormElement>; | |
| onKeyDown: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void; | |
| } { | |
| const formRef = useRef<HTMLFormElement>(null); | |
| const handleKeyDown = ( | |
| event: React.KeyboardEvent<HTMLTextAreaElement>, | |
| ): void => { | |
| if ( | |
| event.key === 'Enter' && | |
| !event.shiftKey && | |
| !event.nativeEvent.isComposing | |
| ) { | |
| formRef.current?.requestSubmit(); | |
| event.preventDefault(); | |
| } | |
| }; | |
| return { formRef, onKeyDown: handleKeyDown }; | |
| } | |