import { useMemo } from 'react'; import { useAuthContext } from '../providers/AuthProvider'; export function usePermission(permission: string | string[]) { const { user, loading } = useAuthContext(); const hasPermission = useMemo(() => { if (!user || !user.permissions) return false; const permissions = Array.isArray(permission) ? permission : [permission]; return permissions.every(p => user.permissions?.includes(p)); }, [user, permission]); const hasAnyPermission = useMemo(() => { if (!user || !user.permissions) return false; const permissions = Array.isArray(permission) ? permission : [permission]; return permissions.some(p => user.permissions?.includes(p)); }, [user, permission]); return { hasPermission, hasAnyPermission, loading, userPermissions: user?.permissions || [], }; }