diff --git a/app/components/Chat.tsx b/app/components/Chat.tsx index 33c008953..51158e3de 100644 --- a/app/components/Chat.tsx +++ b/app/components/Chat.tsx @@ -23,6 +23,8 @@ export interface ChatProps { messagesContainerClassName?: string; hidden?: boolean; onNewMessage?: (message: ChatMessage) => void; + onMount?: () => void; + onUnmount?: () => void; } export function ConnectedChat(props: ChatProps) { @@ -38,6 +40,8 @@ export function Chat({ messagesContainerClassName, hidden = false, chat, + onMount, + onUnmount, }: ChatProps & { chat: ReturnType }) { const messagesContainerRef = React.useRef(null); const inputRef = React.useRef(null); @@ -64,6 +68,14 @@ export function Chat({ messagesContainer.scrollTop = messagesContainer.scrollHeight; }, [messages]); + React.useEffect(() => { + onMount?.(); + + return () => { + onUnmount?.(); + }; + }, [onMount, onUnmount]); + return (