From fc4692fa8c46f457d236cbc720f2226153fedd9b Mon Sep 17 00:00:00 2001 From: gakshita Date: Thu, 25 Jul 2024 13:09:48 +0530 Subject: [PATCH] fix: active cycles duplicate issue --- .../active-cycles/workspace-active-cycles-list.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web/ee/components/active-cycles/workspace-active-cycles-list.tsx b/web/ee/components/active-cycles/workspace-active-cycles-list.tsx index bff5a0c616..87d62916cf 100644 --- a/web/ee/components/active-cycles/workspace-active-cycles-list.tsx +++ b/web/ee/components/active-cycles/workspace-active-cycles-list.tsx @@ -1,6 +1,7 @@ "use client"; import { useCallback, useEffect, useRef, useState } from "react"; +import uniqBy from "lodash/uniqBy"; import { observer } from "mobx-react-lite"; import { useParams } from "next/navigation"; // ui @@ -49,7 +50,7 @@ export const WorkspaceActiveCyclesList = observer(() => { ); const handleLoadMore = () => { - setPageCount(pageCount + 1); + setPageCount((state) => state + 1); loadMoreCycles(); }; @@ -64,8 +65,11 @@ export const WorkspaceActiveCyclesList = observer(() => { useEffect(() => { if (workspaceActiveCycles) { !totalPages && updateTotalPages(workspaceActiveCycles.total_pages); - setCycles((state) => (state ? [...state, ...workspaceActiveCycles.results] : workspaceActiveCycles.results)); + setCycles((state) => + state ? uniqBy([...state, ...workspaceActiveCycles.results], "id") : workspaceActiveCycles.results + ); } + // eslint-disable-next-line react-hooks/exhaustive-deps }, [workspaceActiveCycles]); useIntersectionObserver(containerRef, elementRef, loadMoreCycles);