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();
// 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(() => ({
refreshMode: adminSettings.getAdminPanelRefreshMode(),
pollInterval: adminSettings.getAdminPanelPollInterval(),
refreshStrategy: adminSettings.getAutoRefreshStrategy(),
preserveInteraction: adminSettings.getPreserveInteractionState(),
useRealtimeQueue: adminSettings.getUseRealtimeQueue(),
refreshOnTabVisible: adminSettings.getRefreshOnTabVisible(),
refreshMode,
pollInterval,
refreshStrategy,
preserveInteraction,
useRealtimeQueue,
refreshOnTabVisible,
}), [
adminSettings.getAdminPanelRefreshMode,
adminSettings.getAdminPanelPollInterval,
adminSettings.getAutoRefreshStrategy,
adminSettings.getPreserveInteractionState,
adminSettings.getUseRealtimeQueue,
adminSettings.getRefreshOnTabVisible,
refreshMode,
pollInterval,
refreshStrategy,
preserveInteraction,
useRealtimeQueue,
refreshOnTabVisible,
]);
// Initialize queue manager (replaces all state management, fetchItems, effects)