Spaces:
Sleeping
Sleeping
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 } | |
} | |