Skip to content

Commit a46bf78

Browse files
authored
fix: Disable the checkbox of the joined user on the InviteUsersModal (#409)
* Disable the checkbox of the joined user on the InviteUsersModal
1 parent a12b27b commit a46bf78

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

src/smart-components/ChannelSettings/components/ModerationPanel/InviteUsersModal.tsx

+23-19
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export default function InviteUsers({
4848
onCancel={() => onCancel()}
4949
onSubmit={() => {
5050
const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);
51-
if(typeof overrideInviteUser === 'function') {
51+
if (typeof overrideInviteUser === 'function') {
5252
overrideInviteUser({
5353
users: members,
5454
onClose: onCancel,
@@ -79,26 +79,30 @@ export default function InviteUsers({
7979
}}
8080
>
8181
<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);
9499
}
95-
setSelectedMembers(modifiedSelectedMembers);
96100
}
97-
}
98-
user={member}
99-
key={member.userId}
100-
/>
101-
))}
101+
user={member}
102+
key={member.userId}
103+
/>
104+
);
105+
})}
102106
</div>
103107
</div>
104108
</Modal>

src/ui/Checkbox/index.scss

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
border: solid 2px t(primary-3);
4949
}
5050
&.disabled {
51+
cursor: default;
5152
@include themed() {
5253
background-color: t(on-bg-4);
5354
border: solid 2px t(on-bg-4);

0 commit comments

Comments
 (0)