mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 02:51:12 -05:00
Fix infinite query loop
This commit is contained in:
@@ -160,42 +160,20 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
|
||||
const initialFetchCompleteRef = useRef(false);
|
||||
const isMountingRef = useRef(true);
|
||||
|
||||
// Store settings, filters, and pagination in refs to stabilize fetchItems
|
||||
const settingsRef = useRef(settings);
|
||||
const filtersRef = useRef(filters);
|
||||
const sortRef = useRef(filters.debouncedSortConfig);
|
||||
const paginationRef = useRef(pagination);
|
||||
|
||||
// Sync refs with state
|
||||
useEffect(() => {
|
||||
settingsRef.current = settings;
|
||||
}, [settings]);
|
||||
|
||||
useEffect(() => {
|
||||
filtersRef.current = filters;
|
||||
}, [filters]);
|
||||
|
||||
useEffect(() => {
|
||||
sortRef.current = filters.debouncedSortConfig;
|
||||
}, [filters.debouncedSortConfig]);
|
||||
|
||||
useEffect(() => {
|
||||
paginationRef.current = pagination;
|
||||
}, [pagination]);
|
||||
|
||||
/**
|
||||
* Replace manual fetching with TanStack Query
|
||||
* Use direct state values for stable query keys
|
||||
*/
|
||||
const queueQuery = useQueueQuery({
|
||||
userId: user?.id,
|
||||
isAdmin,
|
||||
isSuperuser,
|
||||
entityFilter: filtersRef.current.debouncedEntityFilter,
|
||||
statusFilter: filtersRef.current.debouncedStatusFilter,
|
||||
tab: filtersRef.current.activeTab,
|
||||
currentPage: paginationRef.current.currentPage,
|
||||
pageSize: paginationRef.current.pageSize,
|
||||
sortConfig: sortRef.current,
|
||||
entityFilter: filters.debouncedEntityFilter,
|
||||
statusFilter: filters.debouncedStatusFilter,
|
||||
tab: filters.activeTab,
|
||||
currentPage: pagination.currentPage,
|
||||
pageSize: pagination.pageSize,
|
||||
sortConfig: filters.debouncedSortConfig,
|
||||
enabled: !!user,
|
||||
});
|
||||
|
||||
@@ -232,8 +210,8 @@ export function useModerationQueueManager(config: ModerationQueueManagerConfig):
|
||||
|
||||
// Update total count for pagination
|
||||
useEffect(() => {
|
||||
paginationRef.current.setTotalCount(queueQuery.totalCount);
|
||||
}, [queueQuery.totalCount]);
|
||||
pagination.setTotalCount(queueQuery.totalCount);
|
||||
}, [queueQuery.totalCount, pagination]);
|
||||
|
||||
// Mark initial fetch as complete
|
||||
useEffect(() => {
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
},
|
||||
{
|
||||
"key": "Permissions-Policy",
|
||||
"value": "browsing-topics=()"
|
||||
"value": "interest-cohort=()"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user