diff --git a/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js b/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js index 8fa310419f..4aa4fa0237 100644 --- a/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js +++ b/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js @@ -95,6 +95,7 @@ const InviteInput = ({ standalone, isPaidUserAccess, setInvitePaidUsersCount, + isPaidUserLimit, }) => { const isPublicRoomType = roomType === RoomsType.PublicRoom; @@ -226,10 +227,15 @@ const InviteInput = ({ }; const removeExist = (items) => { - const filtered = items.reduce((unique, o) => { - !unique.some((obj) => - obj.isGroup ? obj.id === o.id : obj.email === o.email, - ) && unique.push(o); + const filtered = items.reduce((unique, current) => { + const isUnique = !unique.some((obj) => + obj.isGroup ? obj.id === current.id : obj.email === current.email, + ); + + if (!isUnique && isPaidUserAccess(current.access)) + setInvitePaidUsersCount(-1); + + isUnique && unique.push(current); return unique; }, []); @@ -601,7 +607,7 @@ export default inject( } = dialogsStore; const { culture: language, standalone } = settingsStore; - + const { isPaidUserLimit } = currentQuotaStore; return { language, setInviteLanguage, @@ -615,6 +621,7 @@ export default inject( standalone, isPaidUserAccess, setInvitePaidUsersCount, + isPaidUserLimit, }; }, )( diff --git a/packages/client/src/store/DialogsStore.js b/packages/client/src/store/DialogsStore.js index 26526d1971..46c966ae97 100644 --- a/packages/client/src/store/DialogsStore.js +++ b/packages/client/src/store/DialogsStore.js @@ -438,6 +438,7 @@ class DialogsStore { setInvitePaidUsersCount = (modifier = 1) => { this.invitePaidUsersCount = this.invitePaidUsersCount + modifier; + if (this.invitePaidUsersCount === -1) this.invitePaidUsersCount = 0; }; isPaidUserAccess = (selectedAccess) => { @@ -458,7 +459,7 @@ class DialogsStore { const isCurrAccessPaid = this.isPaidUserAccess(item.access); let modifier = 0; - + if (isPrevAccessPaid && !isCurrAccessPaid) modifier = -1; if (!isPrevAccessPaid && isCurrAccessPaid) modifier = 1;