{canManage && (
({ id: m.userId, name: m.name, email: m.email, avatarUrl: m.avatarUrl }))}
+ users={pendingRemovals.map((m) => ({
+ id: m.userId,
+ name: m.name,
+ email: m.email,
+ avatarUrl: m.avatarUrl,
+ }))}
onRemove={unstageRemoval}
disabled={mutation.isPending}
/>
@@ -254,7 +266,9 @@ export function EditGroupDialog({ group, canManage, onClose }: t.EditGroupDialog
diff --git a/src/components/access/EditRoleDialog.tsx b/src/components/access/EditRoleDialog.tsx
index 841b238..9c8c1f4 100644
--- a/src/components/access/EditRoleDialog.tsx
+++ b/src/components/access/EditRoleDialog.tsx
@@ -21,8 +21,8 @@ import {
UserSearchInline,
} from '@/components/shared';
import { RolePermissionsPanel } from './RolePermissionsPanel';
+import { cn, notifySuccess, notifyError } from '@/utils';
import { useLocalize } from '@/hooks';
-import { cn } from '@/utils';
type EditRoleTab = 'details' | 'permissions' | 'members';
@@ -113,9 +113,7 @@ export function EditRoleDialog({ role, canManage, onClose }: t.EditRoleDialogPro
}
}
const memberResults = await Promise.allSettled([
- ...pendingAdditions.map((user) =>
- addRoleMemberFn({ data: { roleId, userId: user.id } }),
- ),
+ ...pendingAdditions.map((user) => addRoleMemberFn({ data: { roleId, userId: user.id } })),
...pendingRemovals.map((member) =>
removeRoleMemberFn({ data: { roleId, userId: member.userId } }),
),
@@ -143,9 +141,10 @@ export function EditRoleDialog({ role, canManage, onClose }: t.EditRoleDialogPro
if (newRoleId !== role?.id) {
queryClient.invalidateQueries({ queryKey: ['roleMembers', newRoleId] });
}
+ notifySuccess(localize('com_toast_role_updated', { name }));
onClose();
},
- onError: (err: Error) => setError(err.message),
+ onError: (err: Error) => notifyError(err.message),
});
const doSubmit = () => {
@@ -183,17 +182,18 @@ export function EditRoleDialog({ role, canManage, onClose }: t.EditRoleDialogPro
ariaLabel={localize('com_access_edit_role')}
>
-
- {localize('com_access_tab_details')}
-
+ {localize('com_access_tab_details')}
{localize('com_access_tab_permissions')}
-
- {localize('com_access_tab_members')}
-
+ {localize('com_access_tab_members')}
-
+
{role?.isSystemRole && (
@@ -239,7 +239,12 @@ export function EditRoleDialog({ role, canManage, onClose }: t.EditRoleDialogPro