From 5382e572bc084f62fb08ea057a08505a352cdd51 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Mon, 13 Oct 2025 19:42:28 +0000 Subject: [PATCH] Fix moderation queue reload on tab focus --- src/components/moderation/ModerationQueue.tsx | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/components/moderation/ModerationQueue.tsx b/src/components/moderation/ModerationQueue.tsx index 67732044..60ec8673 100644 --- a/src/components/moderation/ModerationQueue.tsx +++ b/src/components/moderation/ModerationQueue.tsx @@ -30,20 +30,29 @@ export const ModerationQueue = forwardRef((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)