diff --git a/components/frontend/src/components/session/MessagesTab.tsx b/components/frontend/src/components/session/MessagesTab.tsx index 26f7d0ba1..21a8925b4 100755 --- a/components/frontend/src/components/session/MessagesTab.tsx +++ b/components/frontend/src/components/session/MessagesTab.tsx @@ -1,10 +1,11 @@ "use client"; import React, { useState, useRef, useEffect, useMemo, useLayoutEffect, useCallback } from "react"; -import { MessageSquare, ChevronUp } from "lucide-react"; +import { MessageSquare, ChevronUp, ChevronDown } from "lucide-react"; import { StreamMessage } from "@/components/ui/stream-message"; import { LoadingDots } from "@/components/ui/message"; import { Button } from "@/components/ui/button"; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; import { ChatInputBox } from "@/components/chat/ChatInputBox"; import { QueuedMessageBubble } from "@/components/chat/QueuedMessageBubble"; import { useCurrentUser } from "@/services/queries/use-auth"; @@ -99,6 +100,7 @@ const MessagesTab: React.FC = ({ session, streamMessages, chat const checkIfAtBottom = () => { const container = messagesContainerRef.current; if (!container) return true; + if (container.scrollHeight <= container.clientHeight) return true; const threshold = 50; return container.scrollHeight - container.scrollTop - container.clientHeight < threshold; }; @@ -287,17 +289,42 @@ const MessagesTab: React.FC = ({ session, streamMessages, chat )} - {showScrollToTop && ( - - )} + +
+
+ + + + + Scroll to top + +
+
+ + + + + Scroll to bottom + +
+
+