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