vision-agent-landing / lib /hooks /useEnterSubmit.tsx
wuyiqun0718's picture
feat: clone vision agent ui
478d5b9
raw
history blame contribute delete
586 Bytes
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 };
}