diff --git a/packages/manager/.changeset/pr-13290-fixed-1768575377810.md b/packages/manager/.changeset/pr-13290-fixed-1768575377810.md new file mode 100644 index 00000000000..df77b80e153 --- /dev/null +++ b/packages/manager/.changeset/pr-13290-fixed-1768575377810.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Fixed +--- + +IAM Delegation: "Remove" button in remove assignment confirmation popup is not disabled after clicking it ([#13290](https://github.com/linode/manager/pull/13290)) diff --git a/packages/manager/src/features/IAM/Shared/RemoveAssignmentConfirmationDialog/RemoveAssignmentConfirmationDialog.tsx b/packages/manager/src/features/IAM/Shared/RemoveAssignmentConfirmationDialog/RemoveAssignmentConfirmationDialog.tsx index 5dff89f0051..abe400e6680 100644 --- a/packages/manager/src/features/IAM/Shared/RemoveAssignmentConfirmationDialog/RemoveAssignmentConfirmationDialog.tsx +++ b/packages/manager/src/features/IAM/Shared/RemoveAssignmentConfirmationDialog/RemoveAssignmentConfirmationDialog.tsx @@ -33,13 +33,17 @@ export const RemoveAssignmentConfirmationDialog = (props: Props) => { const { error, - isPending, + isPending: isUserRolesPending, mutateAsync: updateUserRoles, reset, } = useUserRolesMutation(username ?? ''); - const { mutateAsync: updateDefaultDelegationRoles } = - useUpdateDefaultDelegationAccessQuery(); + const { + mutateAsync: updateDefaultDelegationRoles, + isPending: isDefaultDelegationRolesPending, + } = useUpdateDefaultDelegationAccessQuery(); + + const isPending = isUserRolesPending || isDefaultDelegationRolesPending; const { data: assignedUserRoles } = useUserRoles( username ?? '', @@ -64,7 +68,7 @@ export const RemoveAssignmentConfirmationDialog = (props: Props) => { : assignedUserRoles; const onDelete = async () => { - if (!role || !assignedRoles) return; + if (!role || !assignedRoles || isPending) return; const { role_name, entity_id, entity_type } = role; @@ -96,6 +100,7 @@ export const RemoveAssignmentConfirmationDialog = (props: Props) => { label: 'Remove', loading: isPending, onClick: onDelete, + disabled: isPending, }} secondaryButtonProps={{ label: 'Cancel',