From 2fce4a338c1f9b080f585f03552ca11163f11383 Mon Sep 17 00:00:00 2001 From: NFish Date: Mon, 28 Apr 2025 17:01:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20get=20realtime=20groups=20and=20members?= =?UTF-8?q?=20data=20every=20time=20user=20open=20the=20di=E2=80=A6=20(#18?= =?UTF-8?q?988)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/app-access-control/add-member-or-group-pop.tsx | 8 ++++---- web/service/access-control.ts | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/web/app/components/app/app-access-control/add-member-or-group-pop.tsx b/web/app/components/app/app-access-control/add-member-or-group-pop.tsx index 0abcb16645..2dfd5f77f3 100644 --- a/web/app/components/app/app-access-control/add-member-or-group-pop.tsx +++ b/web/app/components/app/app-access-control/add-member-or-group-pop.tsx @@ -25,7 +25,7 @@ export default function AddMemberOrGroupDialog() { const debouncedKeyword = useDebounce(keyword, { wait: 500 }) const lastAvailableGroup = selectedGroupsForBreadcrumb[selectedGroupsForBreadcrumb.length - 1] - const { isPending, isFetchingNextPage, fetchNextPage, data } = useSearchForWhiteListCandidates({ keyword: debouncedKeyword, groupId: lastAvailableGroup?.id, resultsPerPage: 10 }, open) + const { isLoading, isFetchingNextPage, fetchNextPage, data } = useSearchForWhiteListCandidates({ keyword: debouncedKeyword, groupId: lastAvailableGroup?.id, resultsPerPage: 10 }, open) const handleKeywordChange = (e: React.ChangeEvent) => { setKeyword(e.target.value) } @@ -36,13 +36,13 @@ export default function AddMemberOrGroupDialog() { let observer: IntersectionObserver | undefined if (anchorRef.current) { observer = new IntersectionObserver((entries) => { - if (entries[0].isIntersecting && !isPending && hasMore) + if (entries[0].isIntersecting && !isLoading && hasMore) fetchNextPage() }, { rootMargin: '20px' }) observer.observe(anchorRef.current) } return () => observer?.disconnect() - }, [isPending, fetchNextPage, anchorRef, data]) + }, [isLoading, fetchNextPage, anchorRef, data]) return @@ -58,7 +58,7 @@ export default function AddMemberOrGroupDialog() { { - isPending + isLoading ?
: (data?.pages?.length ?? 0) > 0 ? <> diff --git a/web/service/access-control.ts b/web/service/access-control.ts index 0b295af50e..5b9e3bab00 100644 --- a/web/service/access-control.ts +++ b/web/service/access-control.ts @@ -42,6 +42,8 @@ export const useSearchForWhiteListCandidates = (query: { keyword?: string; group return lastPage.currPage + 1 return undefined }, + gcTime: 0, + staleTime: 0, enabled, }) }