From 39b486fcab275c3aea0d5f5159d6bcf96bcfccc6 Mon Sep 17 00:00:00 2001 From: NFish Date: Mon, 28 Apr 2025 14:36:24 +0800 Subject: [PATCH] fix: get realtime groups and members data every time user open the dialog --- .../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, }) }