diff --git a/apps/extension/src/components/ChatArea.tsx b/apps/extension/src/components/ChatArea.tsx index 1785565..dc35b8b 100644 --- a/apps/extension/src/components/ChatArea.tsx +++ b/apps/extension/src/components/ChatArea.tsx @@ -1,18 +1,25 @@ -import { useEffect } from "react"; +import { useEffect, useRef, useCallback } from "react"; import { ModelResponse } from "./ModelResponse"; import { UserQuery } from "./UserQuery"; import { useChat } from "@/hooks/useChat"; export const ChatArea = () => { const { messages, isLoading } = useChat(); + const containerRef = useRef(null); + + const scrollToBottom = useCallback(() => { + if (messages.length === 0 && !isLoading) return; + const el = containerRef.current; + if (el) el.scrollTo({ top: el.scrollHeight, behavior: "smooth" }); + }, [messages.length, isLoading]); useEffect(() => { - console.log(messages); - }, [messages]); + scrollToBottom(); + }, [scrollToBottom]); return ( -
-
+
+
{messages.map((m) => m.role === "user" ? ( diff --git a/apps/extension/src/components/ChatInput.tsx b/apps/extension/src/components/ChatInput.tsx index 92a0a55..4fa3b4c 100644 --- a/apps/extension/src/components/ChatInput.tsx +++ b/apps/extension/src/components/ChatInput.tsx @@ -35,7 +35,7 @@ export const ChatInput = () => {