From 55d204e05bb31640bbd1ca1f06e9554077dc3569 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Tue, 16 Dec 2025 07:41:16 +0000 Subject: [PATCH] fix: complete usePermissions migration to permissionsAtom in team page --- .../dashboard/[search_space_id]/team/page.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx b/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx index 96849a198..276ca3878 100644 --- a/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx +++ b/surfsense_web/app/dashboard/[search_space_id]/team/page.tsx @@ -48,6 +48,7 @@ import { toast } from "sonner"; import { createRoleMutationAtom, updateRoleMutationAtom, deleteRoleMutationAtom } from "@/atoms/roles/roles-mutation.atoms"; import { useAtomValue } from "jotai"; import type { CreateRoleRequest, UpdateRoleRequest, DeleteRoleRequest } from "@/contracts/types/roles.types"; +import { permissionsAtom } from "@/atoms/permissions/permissions-query.atoms"; import { rolesApiService } from "@/lib/apis/roles-api.service"; import { cacheKeys } from "@/lib/query-client/cache-keys"; import { @@ -112,7 +113,6 @@ import { type Role, useInvites, useMembers, - usePermissions, useUserAccess, } from "@/hooks/use-rbac"; import { cn } from "@/lib/utils"; @@ -210,7 +210,20 @@ export default function TeamManagementPage() { createInvite, revokeInvite, } = useInvites(searchSpaceId); - const { groupedPermissions, loading: permissionsLoading } = usePermissions(); + + const { data: permissionsData, isLoading: permissionsLoading } = useAtomValue(permissionsAtom); + const permissions = permissionsData?.permissions || []; + const groupedPermissions = useMemo(() => { + const grouped: Record = {}; + permissions.forEach((permission) => { + const category = permission.permission_name.split(":")[0]; + if (!grouped[category]) { + grouped[category] = []; + } + grouped[category].push(permission); + }); + return grouped; + }, [permissions]); const canManageMembers = hasPermission("members:view"); const canManageRoles = hasPermission("roles:read");