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