diff --git a/src/renderer/src/pages/logs.tsx b/src/renderer/src/pages/logs.tsx index f21ab1e..4b4ad42 100644 --- a/src/renderer/src/pages/logs.tsx +++ b/src/renderer/src/pages/logs.tsx @@ -44,6 +44,7 @@ const Logs: React.FC = () => { return localStorage.getItem(LOGS_FILTER_KEY) || '' }) const [trace, setTrace] = useState(true) + const containerRef = useRef(null) const virtuosoRef = useRef(null) const filteredLogs = useMemo(() => { @@ -57,6 +58,22 @@ const Logs: React.FC = () => { localStorage.setItem(LOGS_FILTER_KEY, filter) }, [filter]) + useEffect(() => { + if (!trace) { + const container = containerRef.current + if (container) { + const handleScroll = () => { + setTrace(true) + container.removeEventListener('wheel', handleScroll) + } + container.addEventListener('wheel', handleScroll) + return () => { + container.removeEventListener('wheel', handleScroll) + } + } + } + }, [trace]) + useEffect(() => { if (!trace) return virtuosoRef.current?.scrollToIndex({ @@ -96,7 +113,9 @@ const Logs: React.FC = () => { variant={trace ? 'solid' : 'bordered'} title={t('logs.autoScroll')} onPress={() => { - setTrace((prev) => !prev) + if (trace) { + setTrace(false) + } }} > @@ -117,7 +136,7 @@ const Logs: React.FC = () => { -
+