sceyt-chat-react-uikit 1.8.3-beta.1 → 1.8.3-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.js +373 -41
  2. package/index.modern.js +373 -41
  3. package/package.json +1 -1
package/index.js CHANGED
@@ -9123,6 +9123,65 @@ function setChannelInMap(channel) {
9123
9123
  channelsMap[channel.id] = _extends({}, channel);
9124
9124
  allChannelsMap[channel.id] = _extends({}, channel);
9125
9125
  }
9126
+ function updateChannelMemberInAllChannels(updatedMembers) {
9127
+ var updatedMembersMap = {};
9128
+ for (var _iterator = _createForOfIteratorHelperLoose(updatedMembers), _step; !(_step = _iterator()).done;) {
9129
+ var member = _step.value;
9130
+ updatedMembersMap[member.id] = member;
9131
+ }
9132
+ var updateMembers = function updateMembers(members) {
9133
+ return members.map(function (member) {
9134
+ return updatedMembersMap[member.id] ? _extends({}, member, updatedMembersMap[member.id]) : member;
9135
+ });
9136
+ };
9137
+ allChannels = allChannels.map(function (channel) {
9138
+ var _channel$members;
9139
+ if ((_channel$members = channel.members) !== null && _channel$members !== void 0 && _channel$members.length) {
9140
+ var hasMatch = channel.members.some(function (m) {
9141
+ return updatedMembersMap[m.id];
9142
+ });
9143
+ if (hasMatch) {
9144
+ return _extends({}, channel, {
9145
+ members: updateMembers(channel.members)
9146
+ });
9147
+ }
9148
+ }
9149
+ return channel;
9150
+ });
9151
+ for (var channelId in channelsMap) {
9152
+ var _channel$members2;
9153
+ var channel = channelsMap[channelId];
9154
+ if ((_channel$members2 = channel.members) !== null && _channel$members2 !== void 0 && _channel$members2.length && channel.members.some(function (m) {
9155
+ return updatedMembersMap[m.id];
9156
+ })) {
9157
+ channelsMap[channelId] = _extends({}, channel, {
9158
+ members: updateMembers(channel.members)
9159
+ });
9160
+ }
9161
+ }
9162
+ for (var _channelId in allChannelsMap) {
9163
+ var _channel$members3;
9164
+ var _channel = allChannelsMap[_channelId];
9165
+ if ((_channel$members3 = _channel.members) !== null && _channel$members3 !== void 0 && _channel$members3.length && _channel.members.some(function (m) {
9166
+ return updatedMembersMap[m.id];
9167
+ })) {
9168
+ allChannelsMap[_channelId] = _extends({}, _channel, {
9169
+ members: updateMembers(_channel.members)
9170
+ });
9171
+ }
9172
+ }
9173
+ for (var i = 0; i < allChannels.length; i++) {
9174
+ var _channel2$members;
9175
+ var _channel2 = allChannels[i];
9176
+ if ((_channel2$members = _channel2.members) !== null && _channel2$members !== void 0 && _channel2$members.length && _channel2.members.some(function (m) {
9177
+ return updatedMembersMap[m.id];
9178
+ })) {
9179
+ allChannels[i] = _extends({}, _channel2, {
9180
+ members: updateMembers(_channel2.members)
9181
+ });
9182
+ }
9183
+ }
9184
+ }
9126
9185
  function setActiveChannelId(id) {
9127
9186
  activeChannelId = id;
9128
9187
  }
@@ -9154,8 +9213,8 @@ function getLastChannelFromMap(deletePending) {
9154
9213
  }
9155
9214
  var channels = Object.values(channelsMap);
9156
9215
  if (deletePending) {
9157
- for (var _iterator = _createForOfIteratorHelperLoose(channels), _step; !(_step = _iterator()).done;) {
9158
- var channel = _step.value;
9216
+ for (var _iterator2 = _createForOfIteratorHelperLoose(channels), _step2; !(_step2 = _iterator2()).done;) {
9217
+ var channel = _step2.value;
9159
9218
  if (!getPendingDeleteChannel(channel.id)) {
9160
9219
  return channel;
9161
9220
  }
@@ -9571,6 +9630,39 @@ var channelSlice = createSlice({
9571
9630
  state.activeChannel = _extends({}, activeChannelCopy, config);
9572
9631
  }
9573
9632
  },
9633
+ updateChannelsMembers: function updateChannelsMembers(state, action) {
9634
+ var _state$activeChannel$;
9635
+ var members = action.payload.members;
9636
+ var usersMap = {};
9637
+ for (var _iterator = _createForOfIteratorHelperLoose(members), _step; !(_step = _iterator()).done;) {
9638
+ var _extends2;
9639
+ var member = _step.value;
9640
+ usersMap = _extends({}, usersMap, (_extends2 = {}, _extends2[member.id] = member, _extends2));
9641
+ }
9642
+ var updateMembers = function updateMembers(members) {
9643
+ return members.map(function (member) {
9644
+ return usersMap[member.id] ? _extends({}, member, usersMap[member.id]) : member;
9645
+ });
9646
+ };
9647
+ state.channels = state.channels.map(function (channel) {
9648
+ var _channel$members;
9649
+ if ((_channel$members = channel.members) !== null && _channel$members !== void 0 && _channel$members.length && channel.members.some(function (m) {
9650
+ return usersMap[m.id];
9651
+ })) {
9652
+ return _extends({}, channel, {
9653
+ members: updateMembers(channel.members)
9654
+ });
9655
+ }
9656
+ return channel;
9657
+ });
9658
+ if (state.activeChannel.id && (_state$activeChannel$ = state.activeChannel.members) !== null && _state$activeChannel$ !== void 0 && _state$activeChannel$.length && state.activeChannel.members.some(function (m) {
9659
+ return usersMap[m.id];
9660
+ })) {
9661
+ state.activeChannel = _extends({}, state.activeChannel, {
9662
+ members: updateMembers(state.activeChannel.members)
9663
+ });
9664
+ }
9665
+ },
9574
9666
  updateSearchedChannelData: function updateSearchedChannelData(state, action) {
9575
9667
  var _action$payload4 = action.payload,
9576
9668
  updateData = _action$payload4.updateData,
@@ -9578,13 +9670,13 @@ var channelSlice = createSlice({
9578
9670
  channelId = _action$payload4.channelId;
9579
9671
  var groupKey = groupName;
9580
9672
  if (state.searchedChannels[groupKey] && state.searchedChannels[groupKey].length) {
9581
- var _extends2;
9582
- state.searchedChannels = _extends({}, state.searchedChannels, (_extends2 = {}, _extends2[groupName] = [].concat(state.searchedChannels[groupKey]).map(function (channel) {
9673
+ var _extends3;
9674
+ state.searchedChannels = _extends({}, state.searchedChannels, (_extends3 = {}, _extends3[groupName] = [].concat(state.searchedChannels[groupKey]).map(function (channel) {
9583
9675
  if (channel.id === channelId) {
9584
9676
  return _extends({}, channel, updateData);
9585
9677
  }
9586
9678
  return channel;
9587
- }), _extends2));
9679
+ }), _extends3));
9588
9680
  }
9589
9681
  },
9590
9682
  updateUserStatusOnChannel: function updateUserStatusOnChannel(state, action) {
@@ -9683,30 +9775,30 @@ var channelSlice = createSlice({
9683
9775
  state.channelEditMode = action.payload.state;
9684
9776
  },
9685
9777
  switchTypingIndicator: function switchTypingIndicator(state, action) {
9686
- var _extends3, _extends4;
9778
+ var _extends4, _extends5;
9687
9779
  var _action$payload7 = action.payload,
9688
9780
  typingState = _action$payload7.typingState,
9689
9781
  channelId = _action$payload7.channelId,
9690
9782
  from = _action$payload7.from;
9691
9783
  var currentChannelIndicators = state.typingOrRecordingIndicator[channelId] || {};
9692
- var updatedChannelIndicators = _extends({}, currentChannelIndicators, (_extends3 = {}, _extends3[from.id] = _extends({}, currentChannelIndicators[from.id], {
9784
+ var updatedChannelIndicators = _extends({}, currentChannelIndicators, (_extends4 = {}, _extends4[from.id] = _extends({}, currentChannelIndicators[from.id], {
9693
9785
  from: from,
9694
9786
  typingState: typingState
9695
- }), _extends3));
9696
- state.typingOrRecordingIndicator = _extends({}, state.typingOrRecordingIndicator, (_extends4 = {}, _extends4[channelId] = updatedChannelIndicators, _extends4));
9787
+ }), _extends4));
9788
+ state.typingOrRecordingIndicator = _extends({}, state.typingOrRecordingIndicator, (_extends5 = {}, _extends5[channelId] = updatedChannelIndicators, _extends5));
9697
9789
  },
9698
9790
  switchRecordingIndicator: function switchRecordingIndicator(state, action) {
9699
- var _extends5, _extends6;
9791
+ var _extends6, _extends7;
9700
9792
  var _action$payload8 = action.payload,
9701
9793
  recordingState = _action$payload8.recordingState,
9702
9794
  channelId = _action$payload8.channelId,
9703
9795
  from = _action$payload8.from;
9704
9796
  var currentChannelIndicators = state.typingOrRecordingIndicator[channelId] || {};
9705
- var updatedChannelIndicators = _extends({}, currentChannelIndicators, (_extends5 = {}, _extends5[from.id] = _extends({}, currentChannelIndicators[from.id], {
9797
+ var updatedChannelIndicators = _extends({}, currentChannelIndicators, (_extends6 = {}, _extends6[from.id] = _extends({}, currentChannelIndicators[from.id], {
9706
9798
  from: from,
9707
9799
  recordingState: recordingState
9708
- }), _extends5));
9709
- state.typingOrRecordingIndicator = _extends({}, state.typingOrRecordingIndicator, (_extends6 = {}, _extends6[channelId] = updatedChannelIndicators, _extends6));
9800
+ }), _extends6));
9801
+ state.typingOrRecordingIndicator = _extends({}, state.typingOrRecordingIndicator, (_extends7 = {}, _extends7[channelId] = updatedChannelIndicators, _extends7));
9710
9802
  },
9711
9803
  setIsDragging: function setIsDragging(state, action) {
9712
9804
  state.isDragging = action.payload.isDragging;
@@ -9738,8 +9830,8 @@ var channelSlice = createSlice({
9738
9830
  state.draftIsRemoved = action.payload.channelId;
9739
9831
  },
9740
9832
  setChannelInviteKeys: function setChannelInviteKeys(state, action) {
9741
- var _extends7;
9742
- state.channelInviteKeys = _extends({}, state.channelInviteKeys, (_extends7 = {}, _extends7[action.payload.channelId] = action.payload.inviteKeys, _extends7));
9833
+ var _extends8;
9834
+ state.channelInviteKeys = _extends({}, state.channelInviteKeys, (_extends8 = {}, _extends8[action.payload.channelId] = action.payload.inviteKeys, _extends8));
9743
9835
  },
9744
9836
  setJoinableChannel: function setJoinableChannel(state, action) {
9745
9837
  state.joinableChannel = action.payload.channel;
@@ -9788,6 +9880,7 @@ var _channelSlice$actions = channelSlice.actions,
9788
9880
  setChannelsHasNext = _channelSlice$actions.setChannelsHasNext,
9789
9881
  setActiveChannel = _channelSlice$actions.setActiveChannel,
9790
9882
  updateChannelData = _channelSlice$actions.updateChannelData,
9883
+ updateChannelsMembers = _channelSlice$actions.updateChannelsMembers,
9791
9884
  updateSearchedChannelData = _channelSlice$actions.updateSearchedChannelData,
9792
9885
  updateUserStatusOnChannel = _channelSlice$actions.updateUserStatusOnChannel,
9793
9886
  updateChannelLastMessage = _channelSlice$actions.updateChannelLastMessage,
@@ -12276,6 +12369,10 @@ var initialState$2 = {
12276
12369
  fromChannel: false,
12277
12370
  members: []
12278
12371
  },
12372
+ userBlockedForInvite: {
12373
+ show: false,
12374
+ userIds: []
12375
+ },
12279
12376
  openInviteModal: false
12280
12377
  };
12281
12378
  var memberSlice = createSlice({
@@ -12397,6 +12494,13 @@ var memberSlice = createSlice({
12397
12494
  state.restricted.fromChannel = fromChannel;
12398
12495
  state.restricted.members = members;
12399
12496
  },
12497
+ setUserBlockedForInvite: function setUserBlockedForInvite(state, action) {
12498
+ var _action$payload9 = action.payload,
12499
+ show = _action$payload9.show,
12500
+ userIds = _action$payload9.userIds;
12501
+ state.userBlockedForInvite.show = show;
12502
+ state.userBlockedForInvite.userIds = userIds;
12503
+ },
12400
12504
  setOpenInviteModal: function setOpenInviteModal(state, action) {
12401
12505
  state.openInviteModal = action.payload.open;
12402
12506
  }
@@ -12418,6 +12522,7 @@ var _memberSlice$actions = memberSlice.actions,
12418
12522
  getRolesFail = _memberSlice$actions.getRolesFail,
12419
12523
  setMembersHasNext = _memberSlice$actions.setMembersHasNext,
12420
12524
  setActionIsRestricted = _memberSlice$actions.setActionIsRestricted,
12525
+ setUserBlockedForInvite = _memberSlice$actions.setUserBlockedForInvite,
12421
12526
  setOpenInviteModal = _memberSlice$actions.setOpenInviteModal;
12422
12527
  var MembersReducer = memberSlice.reducer;
12423
12528
 
@@ -12483,6 +12588,14 @@ var userSlice = createSlice({
12483
12588
  updateUserMap: function updateUserMap(state, action) {
12484
12589
  state.updatedUserMap = _extends({}, state.updatedUserMap, action.payload.usersMap);
12485
12590
  },
12591
+ addUserInMapIfNotExists: function addUserInMapIfNotExists(state, action) {
12592
+ var _state$updatedUserMap;
12593
+ var user = action.payload.user;
12594
+ if (!((_state$updatedUserMap = state.updatedUserMap) !== null && _state$updatedUserMap !== void 0 && _state$updatedUserMap[user === null || user === void 0 ? void 0 : user.id])) {
12595
+ var _extends2;
12596
+ state.updatedUserMap = _extends({}, state.updatedUserMap, (_extends2 = {}, _extends2[user.id] = user, _extends2));
12597
+ }
12598
+ },
12486
12599
  setContacts: function setContacts(state, action) {
12487
12600
  var contacts = action.payload.contacts;
12488
12601
  state.contactList = [].concat(contacts);
@@ -12515,6 +12628,7 @@ var _userSlice$actions = userSlice.actions,
12515
12628
  addUsers = _userSlice$actions.addUsers,
12516
12629
  setUsersLoadingState = _userSlice$actions.setUsersLoadingState,
12517
12630
  updateUserMap = _userSlice$actions.updateUserMap,
12631
+ addUserInMapIfNotExists = _userSlice$actions.addUserInMapIfNotExists,
12518
12632
  setContacts = _userSlice$actions.setContacts,
12519
12633
  updateUserProfile = _userSlice$actions.updateUserProfile,
12520
12634
  setBrowserTabIsActive = _userSlice$actions.setBrowserTabIsActive,
@@ -12933,6 +13047,11 @@ var updateChannelDataAC = function updateChannelDataAC(channelId, config, moveUp
12933
13047
  sort: sort
12934
13048
  });
12935
13049
  };
13050
+ var updateChannelsMembersAC = function updateChannelsMembersAC(members) {
13051
+ return updateChannelsMembers({
13052
+ members: members
13053
+ });
13054
+ };
12936
13055
  var updateSearchedChannelDataAC = function updateSearchedChannelDataAC(channelId, config, groupName) {
12937
13056
  return updateSearchedChannelData({
12938
13057
  updateData: config,
@@ -13375,6 +13494,11 @@ var updateUserStatusOnMapAC = function updateUserStatusOnMapAC(usersMap) {
13375
13494
  usersMap: usersMap
13376
13495
  });
13377
13496
  };
13497
+ var addUserInMapIfNotExistsAC = function addUserInMapIfNotExistsAC(user) {
13498
+ return addUserInMapIfNotExists({
13499
+ user: user
13500
+ });
13501
+ };
13378
13502
  var setWaitToSendPendingMessagesAC = function setWaitToSendPendingMessagesAC(state) {
13379
13503
  return setWaitToSendPendingMessages({
13380
13504
  state: state
@@ -13685,6 +13809,12 @@ var setActionIsRestrictedAC = function setActionIsRestrictedAC(isRestricted, fro
13685
13809
  members: members || []
13686
13810
  });
13687
13811
  };
13812
+ var setUserBlockedForInviteAC = function setUserBlockedForInviteAC(show, userIds) {
13813
+ return setUserBlockedForInvite({
13814
+ show: show,
13815
+ userIds: userIds
13816
+ });
13817
+ };
13688
13818
  var setOpenInviteModalAC = function setOpenInviteModalAC(open) {
13689
13819
  return setOpenInviteModal({
13690
13820
  open: open
@@ -18794,7 +18924,7 @@ function checkUsersStatus() {
18794
18924
  }
18795
18925
  });
18796
18926
  if (!update) {
18797
- _context25.n = 4;
18927
+ _context25.n = 5;
18798
18928
  break;
18799
18929
  }
18800
18930
  updateData = JSON.parse(JSON.stringify(usersToUpdateMap));
@@ -18807,16 +18937,18 @@ function checkUsersStatus() {
18807
18937
  _context25.n = 4;
18808
18938
  return effects.put(updateUserStatusOnChannelAC(updateData));
18809
18939
  case 4:
18810
- _context25.n = 6;
18811
- break;
18940
+ updateChannelMemberInAllChannels(Object.values(updateData));
18812
18941
  case 5:
18813
- _context25.p = 5;
18942
+ _context25.n = 7;
18943
+ break;
18944
+ case 6:
18945
+ _context25.p = 6;
18814
18946
  _t25 = _context25.v;
18815
18947
  log.error('ERROR in check user status : ', _t25.message);
18816
- case 6:
18948
+ case 7:
18817
18949
  return _context25.a(2);
18818
18950
  }
18819
- }, _marked25, null, [[0, 5]]);
18951
+ }, _marked25, null, [[0, 6]]);
18820
18952
  }
18821
18953
  function sendTyping(action) {
18822
18954
  var state, activeChannelId, channel, _t26;
@@ -24451,7 +24583,7 @@ function getContacts() {
24451
24583
  }, _marked$5, null, [[0, 4]]);
24452
24584
  }
24453
24585
  function blockUser(action) {
24454
- var SceytChatClient, payload, userIds, blockedUsers, activeChannelId, activeChannel, isDirectChannel, directChannelUser, _t2;
24586
+ var SceytChatClient, payload, userIds, blockedUsers, activeChannelId, activeChannel, isDirectChannel, directChannelUser, _iterator, _step, _updateUserStatusOnMa, _updateMembersPresenc, _updateUserStatusOnCh, user, _t2;
24455
24587
  return _regenerator().w(function (_context2) {
24456
24588
  while (1) switch (_context2.p = _context2.n) {
24457
24589
  case 0:
@@ -24500,19 +24632,56 @@ function blockUser(action) {
24500
24632
  })
24501
24633
  });
24502
24634
  case 5:
24635
+ _iterator = _createForOfIteratorHelperLoose(blockedUsers);
24636
+ case 6:
24637
+ if ((_step = _iterator()).done) {
24638
+ _context2.n = 12;
24639
+ break;
24640
+ }
24641
+ user = _step.value;
24642
+ updateUserOnMap(_extends({}, user, {
24643
+ blocked: true
24644
+ }));
24503
24645
  _context2.n = 7;
24646
+ return effects.put(updateUserStatusOnMapAC((_updateUserStatusOnMa = {}, _updateUserStatusOnMa[user.id] = _extends({}, user, {
24647
+ blocked: true
24648
+ }), _updateUserStatusOnMa)));
24649
+ case 7:
24650
+ _context2.n = 8;
24651
+ return effects.put(updateMembersPresenceAC((_updateMembersPresenc = {}, _updateMembersPresenc[user.id] = _extends({}, user, {
24652
+ blocked: true
24653
+ }), _updateMembersPresenc)));
24654
+ case 8:
24655
+ _context2.n = 9;
24656
+ return effects.put(updateUserStatusOnChannelAC((_updateUserStatusOnCh = {}, _updateUserStatusOnCh[user.id] = _extends({}, user, {
24657
+ blocked: true
24658
+ }), _updateUserStatusOnCh)));
24659
+ case 9:
24660
+ _context2.n = 10;
24661
+ return effects.put(updateChannelsMembersAC([_extends({}, user, {
24662
+ blocked: true
24663
+ })]));
24664
+ case 10:
24665
+ updateChannelMemberInAllChannels([_extends({}, user, {
24666
+ blocked: true
24667
+ })]);
24668
+ case 11:
24669
+ _context2.n = 6;
24504
24670
  break;
24505
- case 6:
24506
- _context2.p = 6;
24671
+ case 12:
24672
+ _context2.n = 14;
24673
+ break;
24674
+ case 13:
24675
+ _context2.p = 13;
24507
24676
  _t2 = _context2.v;
24508
24677
  log.error('error in block users', _t2.message);
24509
- case 7:
24678
+ case 14:
24510
24679
  return _context2.a(2);
24511
24680
  }
24512
- }, _marked2$4, null, [[0, 6]]);
24681
+ }, _marked2$4, null, [[0, 13]]);
24513
24682
  }
24514
24683
  function unblockUser(action) {
24515
- var SceytChatClient, payload, userIds, unblockedUsers, activeChannelId, activeChannel, isDirectChannel, directChannelUser, _t3;
24684
+ var SceytChatClient, payload, userIds, unblockedUsers, activeChannelId, activeChannel, isDirectChannel, directChannelUser, _iterator2, _step2, _updateUserStatusOnMa2, _updateMembersPresenc2, _updateUserStatusOnCh2, user, updateData, _t3;
24516
24685
  return _regenerator().w(function (_context3) {
24517
24686
  while (1) switch (_context3.p = _context3.n) {
24518
24687
  case 0:
@@ -24561,16 +24730,54 @@ function unblockUser(action) {
24561
24730
  })
24562
24731
  });
24563
24732
  case 5:
24733
+ _iterator2 = _createForOfIteratorHelperLoose(unblockedUsers);
24734
+ case 6:
24735
+ if ((_step2 = _iterator2()).done) {
24736
+ _context3.n = 12;
24737
+ break;
24738
+ }
24739
+ user = _step2.value;
24740
+ updateData = JSON.parse(JSON.stringify(user));
24741
+ updateUserOnMap(_extends({}, updateData, {
24742
+ blocked: false
24743
+ }));
24564
24744
  _context3.n = 7;
24745
+ return effects.put(updateUserStatusOnMapAC((_updateUserStatusOnMa2 = {}, _updateUserStatusOnMa2[user.id] = _extends({}, updateData, {
24746
+ blocked: false
24747
+ }), _updateUserStatusOnMa2)));
24748
+ case 7:
24749
+ _context3.n = 8;
24750
+ return effects.put(updateMembersPresenceAC((_updateMembersPresenc2 = {}, _updateMembersPresenc2[user.id] = _extends({}, updateData, {
24751
+ blocked: false
24752
+ }), _updateMembersPresenc2)));
24753
+ case 8:
24754
+ _context3.n = 9;
24755
+ return effects.put(updateUserStatusOnChannelAC((_updateUserStatusOnCh2 = {}, _updateUserStatusOnCh2[user.id] = _extends({}, updateData, {
24756
+ blocked: false
24757
+ }), _updateUserStatusOnCh2)));
24758
+ case 9:
24759
+ _context3.n = 10;
24760
+ return effects.put(updateChannelsMembersAC([_extends({}, user, {
24761
+ blocked: false
24762
+ })]));
24763
+ case 10:
24764
+ updateChannelMemberInAllChannels([_extends({}, user, {
24765
+ blocked: false
24766
+ })]);
24767
+ case 11:
24768
+ _context3.n = 6;
24565
24769
  break;
24566
- case 6:
24567
- _context3.p = 6;
24770
+ case 12:
24771
+ _context3.n = 14;
24772
+ break;
24773
+ case 13:
24774
+ _context3.p = 13;
24568
24775
  _t3 = _context3.v;
24569
24776
  log.error('error in unblock users', _t3.message);
24570
- case 7:
24777
+ case 14:
24571
24778
  return _context3.a(2);
24572
24779
  }
24573
- }, _marked3$3, null, [[0, 6]]);
24780
+ }, _marked3$3, null, [[0, 13]]);
24574
24781
  }
24575
24782
  function updateProfile(action) {
24576
24783
  var payload, user, firstName, lastName, avatarUrl, metadata, avatarFile, updateUserProfileData, SceytChatClient, fileToUpload, updatedUser, _t4;
@@ -24918,6 +25125,9 @@ var channelsMembersHasNextMapSelector = function channelsMembersHasNextMapSelect
24918
25125
  var restrictedSelector = function restrictedSelector(store) {
24919
25126
  return store.MembersReducer.restricted;
24920
25127
  };
25128
+ var userBlockedForInviteSelector = function userBlockedForInviteSelector(store) {
25129
+ return store.MembersReducer.userBlockedForInvite;
25130
+ };
24921
25131
  var openInviteModalSelector = function openInviteModalSelector(store) {
24922
25132
  return store.MembersReducer.openInviteModal;
24923
25133
  };
@@ -25035,6 +25245,7 @@ function useUpdatedUser(user) {
25035
25245
  var _updateUserStatusOnMa;
25036
25246
  setUserToMap(user);
25037
25247
  dispatch(updateUserStatusOnMapAC((_updateUserStatusOnMa = {}, _updateUserStatusOnMa[user.id] = user, _updateUserStatusOnMa)));
25248
+ updateChannelMemberInAllChannels([user]);
25038
25249
  }
25039
25250
  }, [user === null || user === void 0 ? void 0 : user.id]);
25040
25251
  return React.useMemo(function () {
@@ -25912,6 +26123,12 @@ var SceytChat = function SceytChat(_ref) {
25912
26123
  }
25913
26124
  if (contactsMap) {
25914
26125
  setContactsMap(contactsMap);
26126
+ for (var contactId in contactsMap) {
26127
+ var contact = contactsMap[contactId];
26128
+ var user = _extends({}, contact === null || contact === void 0 ? void 0 : contact.user);
26129
+ dispatch(addUserInMapIfNotExistsAC(user));
26130
+ }
26131
+ dispatch(checkUserStatusAC());
25915
26132
  }
25916
26133
  }, [contactsMap]);
25917
26134
  React.useEffect(function () {
@@ -27333,6 +27550,62 @@ var Title$1 = styled__default.h4(_templateObject4$6 || (_templateObject4$6 = _ta
27333
27550
  return props.color;
27334
27551
  });
27335
27552
 
27553
+ var UserBlockedPopup = function UserBlockedPopup(_ref) {
27554
+ var userIds = _ref.userIds,
27555
+ selectUsers = _ref.selectUsers;
27556
+ var dispatch = useDispatch();
27557
+ var connectionStatus = useSelector(connectionStatusSelector);
27558
+ var _useColor = useColors(),
27559
+ background = _useColor[THEME_COLORS.BACKGROUND],
27560
+ textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
27561
+ surface1 = _useColor[THEME_COLORS.SURFACE_1],
27562
+ iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
27563
+ accentColor = _useColor[THEME_COLORS.ACCENT],
27564
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
27565
+ linkColor = _useColor[THEME_COLORS.LINK_COLOR];
27566
+ var handleClose = function handleClose() {
27567
+ dispatch(setUserBlockedForInviteAC(false, []));
27568
+ };
27569
+ var handleUnblock = function handleUnblock() {
27570
+ dispatch(unblockUserAC(userIds));
27571
+ if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
27572
+ selectUsers === null || selectUsers === void 0 ? void 0 : selectUsers(userIds);
27573
+ }
27574
+ handleClose();
27575
+ };
27576
+ return /*#__PURE__*/React__default.createElement(PopupContainer, null, /*#__PURE__*/React__default.createElement(Popup, {
27577
+ backgroundColor: background,
27578
+ maxWidth: '520px',
27579
+ minWidth: '520px',
27580
+ padding: '0'
27581
+ }, /*#__PURE__*/React__default.createElement(PopupBody, {
27582
+ paddingH: '24px',
27583
+ paddingV: '24px'
27584
+ }, /*#__PURE__*/React__default.createElement(CloseIcon, {
27585
+ color: iconPrimary,
27586
+ onClick: handleClose
27587
+ }), /*#__PURE__*/React__default.createElement(PopupName, {
27588
+ color: textPrimary,
27589
+ marginBottom: '20px'
27590
+ }, "Failed to invite"), /*#__PURE__*/React__default.createElement(PopupDescription, {
27591
+ color: textPrimary,
27592
+ highlightColor: linkColor
27593
+ }, "You have blocked this user. Please unblock to invite.")), /*#__PURE__*/React__default.createElement(PopupFooter, {
27594
+ backgroundColor: surface1
27595
+ }, /*#__PURE__*/React__default.createElement(Button, {
27596
+ type: 'button',
27597
+ color: textPrimary,
27598
+ backgroundColor: 'transparent',
27599
+ onClick: handleClose
27600
+ }, "Cancel"), /*#__PURE__*/React__default.createElement(Button, {
27601
+ type: 'button',
27602
+ backgroundColor: accentColor,
27603
+ color: textOnPrimary,
27604
+ borderRadius: '8px',
27605
+ onClick: handleUnblock
27606
+ }, "Unblock"))));
27607
+ };
27608
+
27336
27609
  var _templateObject$b, _templateObject2$a, _templateObject3$8, _templateObject4$7, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$3, _templateObject9$2, _templateObject0$2, _templateObject1$2;
27337
27610
  var UserItem = function UserItem(_ref) {
27338
27611
  var user = _ref.user,
@@ -27381,6 +27654,7 @@ var UsersPopup = function UsersPopup(_ref2) {
27381
27654
  var getFromContacts = getShowOnlyContactUsers();
27382
27655
  var usersLoadingState = useSelector(usersLoadingStateSelector);
27383
27656
  var selectedMembersCont = React.useRef('');
27657
+ var userBlockedForInvite = useSelector(userBlockedForInviteSelector);
27384
27658
  var _useState = React.useState(''),
27385
27659
  userSearchValue = _useState[0],
27386
27660
  setUserSearchValue = _useState[1];
@@ -27401,6 +27675,7 @@ var UsersPopup = function UsersPopup(_ref2) {
27401
27675
  var _useState6 = React.useState(false),
27402
27676
  isSelectedMembersScrolling = _useState6[0],
27403
27677
  setIsSelectedMembersScrolling = _useState6[1];
27678
+ var usersMap = useSelector(usersMapSelector);
27404
27679
  var popupTitleText = channel && (memberDisplayText && memberDisplayText[channel.type] ? "Add " + memberDisplayText[channel.type] + "s" : channel.type === DEFAULT_CHANNEL_TYPE.BROADCAST || channel.type === DEFAULT_CHANNEL_TYPE.PUBLIC ? 'Subscribers' : 'Members');
27405
27680
  var handleMembersListScroll = function handleMembersListScroll(event) {
27406
27681
  if (!userSearchValue && event.target.scrollHeight - event.target.scrollTop <= event.target.offsetHeight + 300) {
@@ -27485,7 +27760,10 @@ var UsersPopup = function UsersPopup(_ref2) {
27485
27760
  if (getFromContacts) {
27486
27761
  if (!userSearchValue) {
27487
27762
  var userList = contactList.map(function (cont) {
27488
- return cont.user;
27763
+ var _usersMap$cont$id;
27764
+ return _extends({}, cont.user, {
27765
+ blocked: !!(usersMap !== null && usersMap !== void 0 && (_usersMap$cont$id = usersMap[cont.id]) !== null && _usersMap$cont$id !== void 0 && _usersMap$cont$id.blocked)
27766
+ });
27489
27767
  });
27490
27768
  if (actionType === 'createChat') {
27491
27769
  userList.unshift(selfUser);
@@ -27499,7 +27777,7 @@ var UsersPopup = function UsersPopup(_ref2) {
27499
27777
  }
27500
27778
  setFilteredUsers(_userList);
27501
27779
  }
27502
- }, [contactList, usersList]);
27780
+ }, [contactList, usersList, usersMap]);
27503
27781
  useDidUpdate(function () {
27504
27782
  if (getFromContacts) {
27505
27783
  if (userSearchValue) {
@@ -27512,11 +27790,17 @@ var UsersPopup = function UsersPopup(_ref2) {
27512
27790
  });
27513
27791
  }
27514
27792
  setFilteredUsers(filteredContacts.map(function (cont) {
27515
- return cont.user;
27793
+ var _usersMap$cont$id2;
27794
+ return _extends({}, cont.user, {
27795
+ blocked: !!(usersMap !== null && usersMap !== void 0 && (_usersMap$cont$id2 = usersMap[cont.id]) !== null && _usersMap$cont$id2 !== void 0 && _usersMap$cont$id2.blocked)
27796
+ });
27516
27797
  }));
27517
27798
  } else {
27518
27799
  var userList = contactList.map(function (cont) {
27519
- return cont.user;
27800
+ var _usersMap$cont$id3;
27801
+ return _extends({}, cont.user, {
27802
+ blocked: !!(usersMap !== null && usersMap !== void 0 && (_usersMap$cont$id3 = usersMap[cont.id]) !== null && _usersMap$cont$id3 !== void 0 && _usersMap$cont$id3.blocked)
27803
+ });
27520
27804
  });
27521
27805
  if (actionType === 'createChat') {
27522
27806
  userList.unshift(selfUser);
@@ -27530,7 +27814,7 @@ var UsersPopup = function UsersPopup(_ref2) {
27530
27814
  limit: 50
27531
27815
  }));
27532
27816
  }
27533
- }, [userSearchValue]);
27817
+ }, [userSearchValue, usersMap]);
27534
27818
  React.useEffect(function () {
27535
27819
  if (selectedMembersCont.current) {
27536
27820
  setUsersContHeight(selectedMembersCont.current.offsetHeight);
@@ -27641,13 +27925,18 @@ var UsersPopup = function UsersPopup(_ref2) {
27641
27925
  hoverBackground: backgroundHovered,
27642
27926
  key: user.id,
27643
27927
  onClick: function onClick() {
27928
+ if (user !== null && user !== void 0 && user.blocked) {
27929
+ dispatch(setUserBlockedForInviteAC(true, [user.id]));
27930
+ return;
27931
+ }
27644
27932
  actionType === 'createChat' && handleAddMember(user);
27645
27933
  handleUserSelect(!isSelected, {
27646
27934
  id: user.id,
27647
27935
  displayName: memberDisplayName,
27648
27936
  avatarUrl: user.avatarUrl
27649
27937
  });
27650
- }
27938
+ },
27939
+ disabled: user === null || user === void 0 ? void 0 : user.blocked
27651
27940
  }, /*#__PURE__*/React__default.createElement(Avatar, {
27652
27941
  image: user.avatarUrl,
27653
27942
  name: user.firstName || user.id,
@@ -27666,7 +27955,8 @@ var UsersPopup = function UsersPopup(_ref2) {
27666
27955
  onClick: function onClick(e) {
27667
27956
  e.stopPropagation();
27668
27957
  },
27669
- size: '18px'
27958
+ size: '18px',
27959
+ disabled: user === null || user === void 0 ? void 0 : user.blocked
27670
27960
  })));
27671
27961
  }))), actionType !== 'createChat' && (/*#__PURE__*/React__default.createElement(PopupFooter, {
27672
27962
  backgroundColor: surface1Background,
@@ -27690,7 +27980,32 @@ var UsersPopup = function UsersPopup(_ref2) {
27690
27980
  onClick: function onClick() {
27691
27981
  return handleCreateChannel();
27692
27982
  }
27693
- }, actionType === 'selectUsers' ? 'Create' : 'Add')))));
27983
+ }, actionType === 'selectUsers' ? 'Create' : 'Add')))), userBlockedForInvite.show && (/*#__PURE__*/React__default.createElement(UserBlockedPopup, {
27984
+ userIds: userBlockedForInvite.userIds,
27985
+ selectUsers: function selectUsers(userIds) {
27986
+ var _loop = function _loop() {
27987
+ var userId = _step.value;
27988
+ var user = filteredUsers.find(function (user) {
27989
+ return user.id === userId;
27990
+ });
27991
+ if (!user) {
27992
+ return 1;
27993
+ }
27994
+ var memberDisplayName = selfUser.id === userId ? 'Me' : makeUsername(contactsMap[userId], user, selfUser.id !== userId && getFromContacts);
27995
+ if (user) {
27996
+ actionType === 'createChat' && handleAddMember(user);
27997
+ handleUserSelect(true, {
27998
+ id: user.id,
27999
+ displayName: memberDisplayName,
28000
+ avatarUrl: user.avatarUrl
28001
+ });
28002
+ }
28003
+ };
28004
+ for (var _iterator = _createForOfIteratorHelperLoose(userIds), _step; !(_step = _iterator()).done;) {
28005
+ if (_loop()) continue;
28006
+ }
28007
+ }
28008
+ })));
27694
28009
  };
27695
28010
  var List = styled__default.div(_templateObject$b || (_templateObject$b = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow-y: scroll;\n overflow-x: hidden;\n margin-top: 12px;\n min-height: 150px;\n box-sizing: border-box;\n"])));
27696
28011
  var MembersContainer = styled__default(List)(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n position: relative;\n max-height: ", ";\n overflow-y: auto;\n padding-right: 16px;\n\n &::-webkit-scrollbar {\n width: 8px;\n background: transparent;\n }\n &::-webkit-scrollbar-thumb {\n background: transparent;\n }\n\n &.show-scrollbar::-webkit-scrollbar-thumb {\n background: ", ";\n border-radius: 4px;\n }\n &.show-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n }\n"])), function (props) {
@@ -27708,7 +28023,9 @@ var SearchUsersInput = styled__default.input(_templateObject4$7 || (_templateObj
27708
28023
  }, function (props) {
27709
28024
  return props.placeholderColor;
27710
28025
  });
27711
- var ListRow = styled__default.div(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n padding: 7px 12px;\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.2s;\n &:hover {\n background-color: ", ";\n }\n\n & ", " {\n width: 10px;\n height: 10px;\n }\n"])), function (props) {
28026
+ var ListRow = styled__default.div(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n align-items: center;\n padding: 7px 12px;\n cursor: pointer;\n border-radius: 6px;\n transition: all 0.2s;\n opacity: ", ";\n &:hover {\n background-color: ", ";\n }\n\n & ", " {\n width: 10px;\n height: 10px;\n }\n"])), function (props) {
28027
+ return props.disabled ? 0.5 : 1;
28028
+ }, function (props) {
27712
28029
  return props.hoverBackground;
27713
28030
  }, UserStatus);
27714
28031
  var UserNamePresence = styled__default.div(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteralLoose(["\n width: 100%;\n max-width: calc(100% - 70px);\n margin: 0 auto 0 8px;\n line-height: 10px;\n"])));
@@ -29070,7 +29387,22 @@ var ChannelList = function ChannelList(_ref) {
29070
29387
  }, [channels]);
29071
29388
  var setSelectedChannel = function setSelectedChannel(channel) {
29072
29389
  if (activeChannel.id !== channel.id) {
29073
- dispatch(sendTypingAC(false));
29390
+ if (activeChannel) {
29391
+ var _getClient;
29392
+ var user = (_getClient = getClient()) === null || _getClient === void 0 ? void 0 : _getClient.user;
29393
+ var isAllUsersBlcked = true;
29394
+ for (var i = 0; i < (activeChannel === null || activeChannel === void 0 ? void 0 : (_activeChannel$member2 = activeChannel.members) === null || _activeChannel$member2 === void 0 ? void 0 : _activeChannel$member2.length); i++) {
29395
+ var _activeChannel$member2;
29396
+ var member = activeChannel === null || activeChannel === void 0 ? void 0 : activeChannel.members[i];
29397
+ if (!(member !== null && member !== void 0 && member.blocked) && user.id !== member.id) {
29398
+ isAllUsersBlcked = false;
29399
+ break;
29400
+ }
29401
+ }
29402
+ if (!isAllUsersBlcked) {
29403
+ dispatch(sendTypingAC(false));
29404
+ }
29405
+ }
29074
29406
  dispatch(clearMessagesAC());
29075
29407
  dispatch(switchChannelActionAC(channel));
29076
29408
  }