Compare commits

..

2 Commits

Author SHA1 Message Date
gpt-engineer-app[bot]
e799216fbc Fix useCallback in useUserRole hook 2025-11-05 04:37:56 +00:00
gpt-engineer-app[bot]
4b06d73509 Fix: Remove infinite loop in ModerationQueue 2025-11-05 04:26:23 +00:00
2 changed files with 6 additions and 5 deletions

View File

@@ -153,7 +153,7 @@ export const ModerationQueue = forwardRef<ModerationQueueRef, ModerationQueuePro
// Refresh count periodically // Refresh count periodically
const interval = setInterval(fetchActiveLocksCount, 30000); // Every 30s const interval = setInterval(fetchActiveLocksCount, 30000); // Every 30s
return () => clearInterval(interval); return () => clearInterval(interval);
}, [isSuperuser, queueManager.queue.queueStats]); }, [isSuperuser]);
// Track if lock was restored from database // Track if lock was restored from database
useEffect(() => { useEffect(() => {

View File

@@ -1,4 +1,5 @@
import { useQuery } from '@tanstack/react-query'; import { useQuery } from '@tanstack/react-query';
import { useCallback } from 'react';
import { supabase } from '@/lib/supabaseClient'; import { supabase } from '@/lib/supabaseClient';
import { useAuth } from '@/hooks/useAuth'; import { useAuth } from '@/hooks/useAuth';
import { queryKeys } from '@/lib/queryKeys'; import { queryKeys } from '@/lib/queryKeys';
@@ -72,10 +73,10 @@ export function useUserRole() {
const permissions = permissionsQuery.data || null; const permissions = permissionsQuery.data || null;
const loading = rolesQuery.isLoading || permissionsQuery.isLoading; const loading = rolesQuery.isLoading || permissionsQuery.isLoading;
const hasRole = (role: UserRole) => roles.includes(role); const hasRole = useCallback((role: UserRole) => roles.includes(role), [roles]);
const isModerator = () => hasRole('admin') || hasRole('moderator') || hasRole('superuser'); const isModerator = useCallback(() => hasRole('admin') || hasRole('moderator') || hasRole('superuser'), [hasRole]);
const isAdmin = () => hasRole('admin') || hasRole('superuser'); const isAdmin = useCallback(() => hasRole('admin') || hasRole('superuser'), [hasRole]);
const isSuperuser = () => hasRole('superuser'); const isSuperuser = useCallback(() => hasRole('superuser'), [hasRole]);
return { return {
roles, roles,