Files
dataroom/lib/utils/use-enter-submit.ts
2024-05-13 14:52:25 +02:00

24 lines
586 B
TypeScript

import { type RefObject, useRef } 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 };
}