Fix moderation queue reload on tab focus

This commit is contained in:
gpt-engineer-app[bot]
2025-10-13 19:42:28 +00:00
parent b38b6eb587
commit 5382e572bc

View File

@@ -30,20 +30,29 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
const adminSettings = useAdminSettings(); const adminSettings = useAdminSettings();
// Memoize settings to prevent unnecessary effect re-runs // 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
const settings = useMemo(() => ({ const settings = useMemo(() => ({
refreshMode: adminSettings.getAdminPanelRefreshMode(), refreshMode,
pollInterval: adminSettings.getAdminPanelPollInterval(), pollInterval,
refreshStrategy: adminSettings.getAutoRefreshStrategy(), refreshStrategy,
preserveInteraction: adminSettings.getPreserveInteractionState(), preserveInteraction,
useRealtimeQueue: adminSettings.getUseRealtimeQueue(), useRealtimeQueue,
refreshOnTabVisible: adminSettings.getRefreshOnTabVisible(), refreshOnTabVisible,
}), [ }), [
adminSettings.getAdminPanelRefreshMode, refreshMode,
adminSettings.getAdminPanelPollInterval, pollInterval,
adminSettings.getAutoRefreshStrategy, refreshStrategy,
adminSettings.getPreserveInteractionState, preserveInteraction,
adminSettings.getUseRealtimeQueue, useRealtimeQueue,
adminSettings.getRefreshOnTabVisible, refreshOnTabVisible,
]); ]);
// Initialize queue manager (replaces all state management, fetchItems, effects) // Initialize queue manager (replaces all state management, fetchItems, effects)