mirror of
https://github.com/hanzo-apps/dataroom.git
synced 2026-10-30 14:47:36 +00:00
24 lines
586 B
TypeScript
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 };
|
|
}
|