feat: Implement Phase 3 optimizations

This commit is contained in:
gpt-engineer-app[bot]
2025-10-15 12:19:37 +00:00
parent c3533d0a82
commit 81a4b9ae31
10 changed files with 1582 additions and 7 deletions

View File

@@ -29,14 +29,21 @@ export const ModerationQueue = forwardRef<ModerationQueueRef>((props, ref) => {
const { isAdmin, isSuperuser } = useUserRole();
const adminSettings = useAdminSettings();
// Memoize settings - call functions inside useMemo to avoid recreating on every render
// Extract settings values to stable primitives for memoization
const refreshMode = adminSettings.getAdminPanelRefreshMode();
const pollInterval = adminSettings.getAdminPanelPollInterval();
const refreshStrategy = adminSettings.getAutoRefreshStrategy();
const preserveInteraction = adminSettings.getPreserveInteractionState();
const useRealtimeQueue = adminSettings.getUseRealtimeQueue();
// Memoize settings object using stable primitive dependencies
const settings = useMemo(() => ({
refreshMode: adminSettings.getAdminPanelRefreshMode(),
pollInterval: adminSettings.getAdminPanelPollInterval(),
refreshStrategy: adminSettings.getAutoRefreshStrategy(),
preserveInteraction: adminSettings.getPreserveInteractionState(),
useRealtimeQueue: adminSettings.getUseRealtimeQueue(),
}), [adminSettings]);
refreshMode,
pollInterval,
refreshStrategy,
preserveInteraction,
useRealtimeQueue,
}), [refreshMode, pollInterval, refreshStrategy, preserveInteraction, useRealtimeQueue]);
// Initialize queue manager (replaces all state management, fetchItems, effects)
const queueManager = useModerationQueueManager({