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 }; | |
} | |