2024-07-17 16:08:13 +02:00
|
|
|
import { useRecoilValue } from 'recoil';
|
2024-03-26 04:19:51 -04:00
|
|
|
import { forwardRef, useLayoutEffect, useState } from 'react';
|
|
|
|
|
import ReactTextareaAutosize from 'react-textarea-autosize';
|
|
|
|
|
import type { TextareaAutosizeProps } from 'react-textarea-autosize';
|
2024-07-17 16:08:13 +02:00
|
|
|
import store from '~/store';
|
|
|
|
|
|
2024-03-26 04:19:51 -04:00
|
|
|
export const TextareaAutosize = forwardRef<HTMLTextAreaElement, TextareaAutosizeProps>(
|
|
|
|
|
(props, ref) => {
|
|
|
|
|
const [, setIsRerendered] = useState(false);
|
2024-07-17 16:08:13 +02:00
|
|
|
const chatDirection = useRecoilValue(store.chatDirection).toLowerCase();
|
2024-03-26 04:19:51 -04:00
|
|
|
useLayoutEffect(() => setIsRerendered(true), []);
|
2024-07-17 16:08:13 +02:00
|
|
|
return <ReactTextareaAutosize dir={chatDirection} {...props} ref={ref} />;
|
2024-03-26 04:19:51 -04:00
|
|
|
},
|
|
|
|
|
);
|