1- import React , { startTransition } from "react" ;
1+ import React from "react" ;
22import { NamespaceMember } from "@code0-tech/sagittarius-graphql-types" ;
33import {
44 Avatar ,
@@ -32,6 +32,7 @@ import {MemberService} from "@edition/member/services/Member.service";
3232import { RoleService } from "@edition/role/services/Role.service" ;
3333import { RolePermissionComponent } from "@edition/role/components/RolePermissionComponent" ;
3434import { IconDotsVertical , IconUserCog , IconUserOff , IconX } from "@tabler/icons-react" ;
35+ import { addIslandSuccessNotification } from "@code0-tech/pictor/dist/components/island/Island.hook" ;
3536
3637export interface MemberDataTableRowComponentProps {
3738 memberId : NamespaceMember [ 'id' ]
@@ -60,7 +61,7 @@ export const MemberDataTableRowComponent: React.FC<MemberDataTableRowComponentPr
6061
6162 const assignedRoles = React . useMemo (
6263 ( ) => member ?. roles ?. nodes ?. map ( role => roleService . getById ( role ?. id , { namespaceId : member ?. namespace ?. id } ) ) || [ ] ,
63- [ roleStore , member ]
64+ [ roleStore , member ?. roles ?. nodes ?. length ]
6465 )
6566
6667 const [ localAssignedRoles , setLocalAssignedRoles ] = React . useState ( assignedRoles )
@@ -77,19 +78,29 @@ export const MemberDataTableRowComponent: React.FC<MemberDataTableRowComponentPr
7778
7879
7980 const memberAssignRoles = React . useCallback ( ( ) => {
80- startTransition ( ( ) => {
81- memberService . memberAssignRoles ( {
82- memberId : member ?. id ! ,
83- roleIds : localAssignedRoles . map ( r => r ?. id ! )
84- } )
81+ memberService . memberAssignRoles ( {
82+ memberId : member ?. id ! ,
83+ roleIds : localAssignedRoles . map ( r => r ?. id ! )
84+ } ) . then ( payload => {
85+ if ( ( payload ?. errors ?. length ?? 0 ) <= 0 ) {
86+ addIslandSuccessNotification ( {
87+ message : "Updated roles on member"
88+ } )
89+
90+ }
8591 } )
8692 } , [ localAssignedRoles , member ] )
8793
8894 const memberDelete = React . useCallback ( ( ) => {
89- startTransition ( ( ) => {
90- memberService . memberDelete ( {
91- namespaceMemberId : member ?. id !
92- } )
95+ memberService . memberDelete ( {
96+ namespaceMemberId : member ?. id !
97+ } ) . then ( payload => {
98+ if ( ( payload ?. errors ?. length ?? 0 ) <= 0 ) {
99+ addIslandSuccessNotification ( {
100+ message : "Removed member"
101+ } )
102+
103+ }
93104 } )
94105 } , [ member ] )
95106
0 commit comments