From e1bf4e076218d7ff380702f42404612474b990fe Mon Sep 17 00:00:00 2001 From: ManishMadan2882 Date: Mon, 12 May 2025 14:38:15 +0530 Subject: [PATCH] (fix/logs)log must render once --- frontend/src/settings/Logs.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend/src/settings/Logs.tsx b/frontend/src/settings/Logs.tsx index 74b00a25..d5d4d3e3 100644 --- a/frontend/src/settings/Logs.tsx +++ b/frontend/src/settings/Logs.tsx @@ -17,12 +17,16 @@ type LogsProps = { export default function Logs({ agentId, tableHeader }: LogsProps) { const token = useSelector(selectToken); - const [logs, setLogs] = useState([]); + const [logsByPage, setLogsByPage] = useState>({}); const [page, setPage] = useState(1); const [hasMore, setHasMore] = useState(true); const [loadingLogs, setLoadingLogs] = useLoaderState(true); + const logs = Object.values(logsByPage).flat(); + const fetchLogs = async () => { + if (logsByPage[page] && logsByPage[page].length > 0) return; + setLoadingLogs(true); try { const response = await userService.getLogs( @@ -34,9 +38,13 @@ export default function Logs({ agentId, tableHeader }: LogsProps) { token, ); if (!response.ok) throw new Error('Failed to fetch logs'); - const olderLogs = await response.json(); - setLogs((prevLogs) => [...prevLogs, ...olderLogs.logs]); - setHasMore(olderLogs.has_more); + const data = await response.json(); + + setLogsByPage((prev) => ({ + ...prev, + [page]: data.logs, + })); + setHasMore(data.has_more); } catch (error) { console.error(error); } finally {