From 1d493783639372096db0fe171e37bacde08a6593 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Mon, 8 Dec 2025 10:37:58 +0000 Subject: [PATCH] fix: improve scroll behavior and add missing import in SourceDetailSheet - Added useLayoutEffect import - Fixed scroll to highlighted chunk behavior - Added open dependency to useEffect for proper re-triggering --- surfsense_web/components/chat/SourceDetailSheet.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/surfsense_web/components/chat/SourceDetailSheet.tsx b/surfsense_web/components/chat/SourceDetailSheet.tsx index 1b227b8df..70b73fcf2 100644 --- a/surfsense_web/components/chat/SourceDetailSheet.tsx +++ b/surfsense_web/components/chat/SourceDetailSheet.tsx @@ -3,7 +3,7 @@ import { useQuery } from "@tanstack/react-query"; import { ChevronDown, ChevronUp, ExternalLink, Loader2 } from "lucide-react"; import type React from "react"; -import { type ReactNode, useEffect, useRef, useState } from "react"; +import { type ReactNode, useEffect, useLayoutEffect, useRef, useState } from "react"; import { MarkdownViewer } from "@/components/markdown-viewer"; import { Button } from "@/components/ui/button"; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"; @@ -73,7 +73,7 @@ export function SourceDetailSheet({ useEffect(() => { // Scroll to highlighted chunk when document loads - if (document && highlightedChunkRef.current && chunksContainerRef.current) { + if (document) { setTimeout(() => { highlightedChunkRef.current?.scrollIntoView({ behavior: "smooth", @@ -81,7 +81,7 @@ export function SourceDetailSheet({ }); }, 100); } - }, [document]); + }, [document, open]); const handleUrlClick = (e: React.MouseEvent, clickUrl: string) => { e.preventDefault();