@@ -48,7 +48,7 @@ export default function InviteUsers({
48
48
onCancel = { ( ) => onCancel ( ) }
49
49
onSubmit = { ( ) => {
50
50
const members = Object . keys ( selectedMembers ) . filter ( ( m ) => selectedMembers [ m ] ) ;
51
- if ( typeof overrideInviteUser === 'function' ) {
51
+ if ( typeof overrideInviteUser === 'function' ) {
52
52
overrideInviteUser ( {
53
53
users : members ,
54
54
onClose : onCancel ,
@@ -79,26 +79,30 @@ export default function InviteUsers({
79
79
} }
80
80
>
81
81
< div className = "sendbird-more-members__popup-scroll__inner" >
82
- { members . map ( ( member ) => (
83
- < UserListItem
84
- checkBox
85
- checked = { selectedMembers [ member . userId ] }
86
- onChange = {
87
- ( event ) => {
88
- const modifiedSelectedMembers = {
89
- ...selectedMembers ,
90
- [ event . target . id ] : event . target . checked ,
91
- } ;
92
- if ( ! event . target . checked ) {
93
- delete modifiedSelectedMembers [ event . target . id ] ;
82
+ { members . map ( ( member ) => {
83
+ const isJoinedMember = channel ?. members ?. some ( ( { userId } ) => userId === member ?. userId ) ;
84
+ return (
85
+ < UserListItem
86
+ checkBox
87
+ checked = { isJoinedMember || selectedMembers [ member . userId ] }
88
+ disabled = { isJoinedMember }
89
+ onChange = {
90
+ ( event ) => {
91
+ const modifiedSelectedMembers = {
92
+ ...selectedMembers ,
93
+ [ event . target . id ] : event . target . checked ,
94
+ } ;
95
+ if ( ! event . target . checked ) {
96
+ delete modifiedSelectedMembers [ event . target . id ] ;
97
+ }
98
+ setSelectedMembers ( modifiedSelectedMembers ) ;
94
99
}
95
- setSelectedMembers ( modifiedSelectedMembers ) ;
96
100
}
97
- }
98
- user = { member }
99
- key = { member . userId }
100
- />
101
- ) ) }
101
+ user = { member }
102
+ key = { member . userId }
103
+ />
104
+ ) ;
105
+ } ) }
102
106
</ div >
103
107
</ div >
104
108
</ Modal >
0 commit comments