Fix: Simplify moderation queue tab focus reload

This commit is contained in:
gpt-engineer-app[bot]
2025-10-13 19:49:07 +00:00
parent 5588f89606
commit 538846d7e3
2 changed files with 14 additions and 70 deletions

View File

@@ -29,31 +29,15 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
const { isAdmin, isSuperuser } = useUserRole();
const adminSettings = useAdminSettings();
// Memoize settings to prevent unnecessary effect re-runs
// Get actual values from admin settings
const refreshMode = adminSettings.getAdminPanelRefreshMode();
const pollInterval = adminSettings.getAdminPanelPollInterval();
const refreshStrategy = adminSettings.getAutoRefreshStrategy();
const preserveInteraction = adminSettings.getPreserveInteractionState();
const useRealtimeQueue = adminSettings.getUseRealtimeQueue();
const refreshOnTabVisible = adminSettings.getRefreshOnTabVisible();
// Memoize settings object based on actual values, not function references
// Memoize settings - call functions inside useMemo to avoid recreating on every render
const settings = useMemo(() => ({
refreshMode,
pollInterval,
refreshStrategy,
preserveInteraction,
useRealtimeQueue,
refreshOnTabVisible,
}), [
refreshMode,
pollInterval,
refreshStrategy,
preserveInteraction,
useRealtimeQueue,
refreshOnTabVisible,
]);
refreshMode: adminSettings.getAdminPanelRefreshMode(),
pollInterval: adminSettings.getAdminPanelPollInterval(),
refreshStrategy: adminSettings.getAutoRefreshStrategy(),
preserveInteraction: adminSettings.getPreserveInteractionState(),
useRealtimeQueue: adminSettings.getUseRealtimeQueue(),
refreshOnTabVisible: adminSettings.getRefreshOnTabVisible(),
}), [adminSettings]);
// Initialize queue manager (replaces all state management, fetchItems, effects)
const queueManager = useModerationQueueManager({