From 41add52bb1f63a58bb7e327ebbc013114fa307bb Mon Sep 17 00:00:00 2001 From: Sergey Kozyrenko Date: Thu, 19 Mar 2026 21:55:37 +0700 Subject: [PATCH] fix: textarea focus --- frontend/src/components/ui/input-group.tsx | 2 +- frontend/src/features/flows/flow-form.tsx | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/ui/input-group.tsx b/frontend/src/components/ui/input-group.tsx index 5f18172f..8b0eed41 100644 --- a/frontend/src/components/ui/input-group.tsx +++ b/frontend/src/components/ui/input-group.tsx @@ -134,7 +134,7 @@ function InputGroupTextarea({ className, ...props }: React.ComponentProps<'texta ); } -function InputGroupTextareaAutosize({ className, ...props }: React.ComponentPropsWithoutRef) { +function InputGroupTextareaAutosize({ className, ...props }: React.ComponentProps) { return ( (null); + const previousFormDisabledRef = useRef(isFormDisabled); + + useEffect(() => { + const isDisabled = previousFormDisabledRef.current; + previousFormDisabledRef.current = isFormDisabled; + + if (isDisabled && !isFormDisabled) { + textareaRef.current?.focus(); + } + }, [isFormDisabled]); + const handleSubmit = async (values: FlowFormValues) => { await onSubmit(values); resetField('message'); @@ -157,6 +169,10 @@ export const FlowForm = ({ minRows={1} onKeyDown={handleKeyDown} placeholder={placeholder} + ref={(element) => { + field.ref(element); + textareaRef.current = element; + }} />