sceyt-chat-react-uikit 1.8.9-beta.2 → 1.8.9-beta.4

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 +312 -192
  2. package/index.modern.js +313 -193
  3. package/package.json +1 -1
package/index.modern.js CHANGED
@@ -13,7 +13,7 @@ import Cropper from 'react-easy-crop';
13
13
  import { CircularProgressbar } from 'react-circular-progressbar';
14
14
  import { FFmpeg } from '@ffmpeg/ffmpeg';
15
15
  import { toBlobURL, fetchFile } from '@ffmpeg/util';
16
- import { $applyNodeReplacement, TextNode, $createTextNode, $getSelection, $isRangeSelection, $isTextNode, FORMAT_TEXT_COMMAND, SELECTION_CHANGE_COMMAND, COMMAND_PRIORITY_LOW, $getRoot, $createParagraphNode, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, PASTE_COMMAND, COMMAND_PRIORITY_NORMAL } from 'lexical';
16
+ import { $applyNodeReplacement, TextNode, $createTextNode, $getSelection, $isRangeSelection, $isTextNode, FORMAT_TEXT_COMMAND, SELECTION_CHANGE_COMMAND, COMMAND_PRIORITY_LOW, $getRoot, $createParagraphNode, PASTE_COMMAND, COMMAND_PRIORITY_NORMAL } from 'lexical';
17
17
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
18
18
  import { LexicalComposer } from '@lexical/react/LexicalComposer';
19
19
  import { ContentEditable } from '@lexical/react/LexicalContentEditable';
@@ -15682,11 +15682,11 @@ var getVideoFirstFrame = function getVideoFirstFrame(videoSrc, maxWidth, maxHeig
15682
15682
  var _exit4 = false;
15683
15683
  if (_exit3) return _result3;
15684
15684
  function _temp8(_result4) {
15685
- return _exit4 ? _result4 : Promise.resolve(extractFrameFromUrl(videoSrc, maxWidth, maxHeight, quality)).then(function (direct) {
15685
+ return _exit4 ? _result4 : Promise.resolve(extractFrameFromUrl(videoSrc, scaledMaxWidth, scaledMaxHeight, quality)).then(function (direct) {
15686
15686
  return direct ? direct : _catch(function () {
15687
15687
  return Promise.resolve(fetch(videoSrc)).then(function (response) {
15688
15688
  return Promise.resolve(response.blob()).then(function (blob) {
15689
- return Promise.resolve(_extractFrameFromBlob2(blob, maxWidth, maxHeight, quality));
15689
+ return Promise.resolve(_extractFrameFromBlob2(blob, scaledMaxWidth, scaledMaxHeight, quality));
15690
15690
  });
15691
15691
  });
15692
15692
  }, function (error) {
@@ -15700,7 +15700,7 @@ var getVideoFirstFrame = function getVideoFirstFrame(videoSrc, maxWidth, maxHeig
15700
15700
  return _catch(function () {
15701
15701
  return Promise.resolve(fetch(videoSrc)).then(function (_fetch) {
15702
15702
  return Promise.resolve(_fetch.blob()).then(function (blob) {
15703
- return Promise.resolve(_extractFrameFromBlob2(blob, maxWidth, maxHeight, quality)).then(function (_await$_extractFrameF2) {
15703
+ return Promise.resolve(_extractFrameFromBlob2(blob, scaledMaxWidth, scaledMaxHeight, quality)).then(function (_await$_extractFrameF2) {
15704
15704
  _exit4 = true;
15705
15705
  return _await$_extractFrameF2;
15706
15706
  });
@@ -15708,7 +15708,7 @@ var getVideoFirstFrame = function getVideoFirstFrame(videoSrc, maxWidth, maxHeig
15708
15708
  });
15709
15709
  }, function (error) {
15710
15710
  log.warn('getVideoFirstFrame: failed to re-fetch blob url, trying directly', error);
15711
- return Promise.resolve(extractFrameFromUrl(videoSrc, maxWidth, maxHeight, quality)).then(function (_await$extractFrameFr) {
15711
+ return Promise.resolve(extractFrameFromUrl(videoSrc, scaledMaxWidth, scaledMaxHeight, quality)).then(function (_await$extractFrameFr) {
15712
15712
  _exit4 = true;
15713
15713
  return _await$extractFrameFr;
15714
15714
  });
@@ -15717,9 +15717,11 @@ var getVideoFirstFrame = function getVideoFirstFrame(videoSrc, maxWidth, maxHeig
15717
15717
  }();
15718
15718
  return _temp7 && _temp7.then ? _temp7.then(_temp8) : _temp8(_temp7);
15719
15719
  }
15720
+ var scaledMaxWidth = scaleForDevicePixelRatio(maxWidth);
15721
+ var scaledMaxHeight = scaleForDevicePixelRatio(maxHeight);
15720
15722
  var _temp9 = function () {
15721
15723
  if (videoSrc instanceof Blob) {
15722
- return Promise.resolve(_extractFrameFromBlob2(videoSrc, maxWidth, maxHeight, quality)).then(function (_await$_extractFrameF) {
15724
+ return Promise.resolve(_extractFrameFromBlob2(videoSrc, scaledMaxWidth, scaledMaxHeight, quality)).then(function (_await$_extractFrameF) {
15723
15725
  _exit3 = true;
15724
15726
  return _await$_extractFrameF;
15725
15727
  });
@@ -15734,6 +15736,16 @@ var getVideoFirstFrame = function getVideoFirstFrame(videoSrc, maxWidth, maxHeig
15734
15736
  return Promise.reject(e);
15735
15737
  }
15736
15738
  };
15739
+ var scaleForDevicePixelRatio = function scaleForDevicePixelRatio(value, cap) {
15740
+ if (cap === void 0) {
15741
+ cap = 2;
15742
+ }
15743
+ if (!value) {
15744
+ return value;
15745
+ }
15746
+ var dpr = Math.min(window.devicePixelRatio || 1, cap);
15747
+ return value * dpr;
15748
+ };
15737
15749
  var normalizeVideoBlob = function normalizeVideoBlob(blob) {
15738
15750
  try {
15739
15751
  return Promise.resolve(inspectVideoBlob(blob)).then(function (info) {
@@ -15964,8 +15976,7 @@ var compressAndCacheImage = function compressAndCacheImage(url, cacheKey, maxWid
15964
15976
  var file = new File([blob], 'image.jpeg', {
15965
15977
  type: blob.type
15966
15978
  });
15967
- var dpr = Math.min(window.devicePixelRatio || 1, 2);
15968
- return Promise.resolve(resizeImageWithPica(file, (maxWidth || 1280) * dpr, (maxHeight || 1080) * dpr, quality || 1)).then(function (_ref2) {
15979
+ return Promise.resolve(resizeImageWithPica(file, scaleForDevicePixelRatio(maxWidth || 1280), scaleForDevicePixelRatio(maxHeight || 1080), quality || 1)).then(function (_ref2) {
15969
15980
  var compressedBlob = _ref2.blob;
15970
15981
  var returningUrl = compressedBlob ? URL.createObjectURL(compressedBlob) : '';
15971
15982
  if (compressedBlob) {
@@ -22883,7 +22894,7 @@ var UploadAvatarButton = styled.button(_templateObject23 || (_templateObject23 =
22883
22894
  var UploadAvatarHandler = styled.div(_templateObject24 || (_templateObject24 = _taggedTemplateLiteralLoose(["\n margin-left: 18px;\n font-size: 13px;\n color: ", ";\n"])), function (props) {
22884
22895
  return props.color;
22885
22896
  });
22886
- var StyledText = styled.span(_templateObject25 || (_templateObject25 = _taggedTemplateLiteralLoose(["\n font-weight: ", ";\n font-family: ", ";\n font-style: ", ";\n text-decoration: ", ";\n letter-spacing: ", ";\n\n &.mention {\n color: ", ";\n font-weight: ", ";\n cursor: ", ";\n }\n &.bold {\n font-weight: 600;\n }\n &.italic {\n font-style: italic;\n }\n &.underline {\n text-decoration: underline;\n }\n &.strikethrough {\n text-decoration: line-through;\n }\n &.underline.strikethrough {\n text-decoration: underline line-through;\n }\n &.monospace {\n letter-spacing: 4px;\n }\n"])), function (props) {
22897
+ var StyledText = styled.span(_templateObject25 || (_templateObject25 = _taggedTemplateLiteralLoose(["\n font-weight: ", ";\n font-family: ", ";\n font-style: ", ";\n text-decoration: ", ";\n letter-spacing: ", ";\n\n &.mention {\n color: ", ";\n font-weight: ", ";\n cursor: ", ";\n display: inline;\n user-select: text;\n -webkit-user-select: text;\n }\n &.bold {\n font-weight: 600;\n }\n &.italic {\n font-style: italic;\n }\n &.underline {\n text-decoration: underline;\n }\n &.strikethrough {\n text-decoration: line-through;\n }\n &.underline.strikethrough {\n text-decoration: underline line-through;\n }\n &.monospace {\n letter-spacing: 4px;\n }\n"])), function (props) {
22887
22898
  return props.fontWeight || props.isLastMessage && '500';
22888
22899
  }, function (props) {
22889
22900
  return props.fontFamily;
@@ -23072,6 +23083,10 @@ var PendingIconWrapper = styled(SvgPendingIcon)(_templateObject5$1 || (_template
23072
23083
  }, function (props) {
23073
23084
  return props.color;
23074
23085
  });
23086
+ var canActivateMention = function canActivateMention() {
23087
+ var selection = typeof window !== 'undefined' ? window.getSelection() : null;
23088
+ return !selection || selection.isCollapsed;
23089
+ };
23075
23090
  var MessageStatusIcon = function MessageStatusIcon(_ref) {
23076
23091
  var messageStatus = _ref.messageStatus,
23077
23092
  messageStatusDisplayingType = _ref.messageStatusDisplayingType,
@@ -23287,7 +23302,7 @@ var MessageTextFormat = function MessageTextFormat(_ref3) {
23287
23302
  key: attributeOffset + index,
23288
23303
  "data-mention": attribute.metadata,
23289
23304
  onClick: function onClick() {
23290
- if (onMentionNameClick && shouldOpenUserProfileForMention) {
23305
+ if (canActivateMention() && onMentionNameClick && shouldOpenUserProfileForMention) {
23291
23306
  onMentionNameClick(mentionDisplay);
23292
23307
  }
23293
23308
  }
@@ -23301,7 +23316,7 @@ var MessageTextFormat = function MessageTextFormat(_ref3) {
23301
23316
  key: attributeOffset,
23302
23317
  "data-mention": attribute.metadata,
23303
23318
  onClick: function onClick() {
23304
- if (onMentionNameClick && shouldOpenUserProfileForMention) {
23319
+ if (canActivateMention() && onMentionNameClick && shouldOpenUserProfileForMention) {
23305
23320
  onMentionNameClick(mentionDisplay);
23306
23321
  }
23307
23322
  },
@@ -27768,49 +27783,56 @@ function leaveChannel(action) {
27768
27783
  _context24.p = 0;
27769
27784
  payload = action.payload;
27770
27785
  channelId = payload.channelId;
27771
- _context24.n = 1;
27772
- return call(getChannelFromMap, channelId);
27786
+ if (!(store.getState().UserReducer.connectionStatus !== CONNECTION_STATUS.CONNECTED)) {
27787
+ _context24.n = 1;
27788
+ break;
27789
+ }
27790
+ log.warn('Cannot leave channel while offline');
27791
+ return _context24.a(2);
27773
27792
  case 1:
27793
+ _context24.n = 2;
27794
+ return call(getChannelFromMap, channelId);
27795
+ case 2:
27774
27796
  channel = _context24.v;
27775
27797
  if (!channel) {
27776
27798
  channel = getChannelFromAllChannels(channelId);
27777
27799
  }
27778
27800
  if (!channel) {
27779
- _context24.n = 5;
27801
+ _context24.n = 6;
27780
27802
  break;
27781
27803
  }
27782
27804
  if (!(channel.type === DEFAULT_CHANNEL_TYPE.GROUP || channel.type === DEFAULT_CHANNEL_TYPE.PRIVATE)) {
27783
- _context24.n = 2;
27805
+ _context24.n = 3;
27784
27806
  break;
27785
27807
  }
27786
27808
  messageBuilder = channel.createMessageBuilder();
27787
27809
  messageBuilder.setBody('LG').setType('system').setDisplayCount(0).setSilent(true);
27788
27810
  messageToSend = messageBuilder.create();
27789
27811
  log.info('send message for left');
27790
- _context24.n = 2;
27791
- return call(channel.sendMessage, messageToSend);
27792
- case 2:
27793
- log.info('leave');
27794
27812
  _context24.n = 3;
27795
- return call(channel.leave);
27813
+ return call(channel.sendMessage, messageToSend);
27796
27814
  case 3:
27815
+ log.info('leave');
27797
27816
  _context24.n = 4;
27798
- return put(removeChannelAC(channelId));
27817
+ return call(channel.leave);
27799
27818
  case 4:
27800
- deleteChannelFromAllChannels(channelId);
27801
27819
  _context24.n = 5;
27802
- return put(removeChannelCachesAC(channelId));
27820
+ return put(removeChannelAC(channelId));
27803
27821
  case 5:
27804
- _context24.n = 7;
27805
- break;
27822
+ deleteChannelFromAllChannels(channelId);
27823
+ _context24.n = 6;
27824
+ return put(removeChannelCachesAC(channelId));
27806
27825
  case 6:
27807
- _context24.p = 6;
27826
+ _context24.n = 8;
27827
+ break;
27828
+ case 7:
27829
+ _context24.p = 7;
27808
27830
  _t22 = _context24.v;
27809
27831
  log.error('ERROR in leave channel - ', _t22.message);
27810
- case 7:
27832
+ case 8:
27811
27833
  return _context24.a(2);
27812
27834
  }
27813
- }, _marked22$1, null, [[0, 6]]);
27835
+ }, _marked22$1, null, [[0, 7]]);
27814
27836
  }
27815
27837
  function deletePendingDeleteChannels() {
27816
27838
  var pendingDeleteChannels, _iterator10, _step10, channel, resendableError, _t23;
@@ -50608,25 +50630,12 @@ function useFormatMessage(editor, editorState, setMessageBodyAttributes, setMess
50608
50630
  }
50609
50631
  return true;
50610
50632
  }, [editor, contactsMap, setMentionedMember, getFromContacts, activeChannelMembers, processMentionsInPastedText]);
50611
- var onDelete = useCallback(function (event) {
50612
- event.preventDefault();
50613
- editor.update(function () {
50614
- var selection = $getSelection();
50615
- if ($isRangeSelection(selection)) {
50616
- var node = getSelectedNode(selection);
50617
- if ($isMentionNode(node)) {
50618
- node.remove();
50619
- }
50620
- }
50621
- });
50622
- return false;
50623
- }, [editor]);
50624
50633
  useEffect(function () {
50625
50634
  return mergeRegister(editor.registerCommand(PASTE_COMMAND, function (e) {
50626
50635
  handlePast(e);
50627
50636
  return true;
50628
- }, COMMAND_PRIORITY_NORMAL), editor.registerCommand(KEY_DELETE_COMMAND, onDelete, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_BACKSPACE_COMMAND, onDelete, COMMAND_PRIORITY_LOW));
50629
- }, [editor, handlePast, onDelete]);
50637
+ }, COMMAND_PRIORITY_NORMAL));
50638
+ }, [editor, handlePast]);
50630
50639
  useDidUpdate(function () {
50631
50640
  if (editorState) {
50632
50641
  editorState.read(function () {
@@ -50965,6 +50974,18 @@ var Emoji$1 = styled.li(_templateObject8$l || (_templateObject8$l = _taggedTempl
50965
50974
  return props.hoverBackgroundColor;
50966
50975
  });
50967
50976
 
50977
+ var getReplyLinkPreviewImage = function getReplyLinkPreviewImage(attachments) {
50978
+ var _attachments$;
50979
+ var attachment = attachments !== null && attachments !== void 0 && attachments.length && ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) === attachmentTypes.link ? attachments[0] : null;
50980
+ if (!(attachment !== null && attachment !== void 0 && attachment.metadata) || !isJSON(attachment.metadata)) return null;
50981
+ var compactMeta = JSON.parse(attachment.metadata);
50982
+ var imageUrl = compactMeta.iur || null;
50983
+ return !(compactMeta !== null && compactMeta !== void 0 && compactMeta.hld) ? imageUrl : null;
50984
+ };
50985
+ var shouldShowLinkPreviewErrorFallback = function shouldShowLinkPreviewErrorFallback(imageUrl, imageFailed) {
50986
+ return Boolean(imageUrl && imageFailed);
50987
+ };
50988
+
50968
50989
  var CAN_USE_DOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';
50969
50990
 
50970
50991
  var _circle$6, _path$1j;
@@ -51274,8 +51295,10 @@ var AudioRecord = function AudioRecord(_ref) {
51274
51295
  warningColor = _useColor[THEME_COLORS.WARNING],
51275
51296
  iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
51276
51297
  surface1 = _useColor[THEME_COLORS.SURFACE_1],
51298
+ textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
51277
51299
  iconInactive = _useColor[THEME_COLORS.ICON_INACTIVE],
51278
- textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY];
51300
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY],
51301
+ background = _useColor[THEME_COLORS.BACKGROUND];
51279
51302
  var _useState = useState(null),
51280
51303
  recording = _useState[0],
51281
51304
  setStartRecording = _useState[1];
@@ -51303,6 +51326,9 @@ var AudioRecord = function AudioRecord(_ref) {
51303
51326
  var _useState9 = useState(false),
51304
51327
  playAudio = _useState9[0],
51305
51328
  setPlayAudio = _useState9[1];
51329
+ var _useState0 = useState(false),
51330
+ microphonePermissionDenied = _useState0[0],
51331
+ setMicrophonePermissionDenied = _useState0[1];
51306
51332
  var recordButtonRef = useRef(null);
51307
51333
  var audioElements = useRef({});
51308
51334
  var intervalRef = useRef({});
@@ -51392,27 +51418,21 @@ var AudioRecord = function AudioRecord(_ref) {
51392
51418
  var startRecording = function startRecording(cId) {
51393
51419
  try {
51394
51420
  var id = cId || currentChannelId;
51395
- var _temp = _catch(function () {
51396
- return Promise.resolve(navigator.permissions.query({
51397
- name: 'microphone'
51398
- })).then(function (permissionStatus) {
51399
- if (permissionStatus.state === 'granted') {
51400
- setShowRecording(true);
51401
- } else {
51402
- recordButtonRef.current.style.pointerEvents = 'none';
51403
- }
51404
- if (recording) {
51405
- stopRecording(true, id, false, recorder);
51406
- } else if (currentRecordedFile) {
51407
- removeAudioRecordingFromMap(id);
51408
- setRecordedFile(null);
51409
- setPlayAudio(false);
51410
- cleanupAudioElement(id);
51411
- setStartRecording(false);
51412
- setShowRecording(false);
51413
- dispatch(setChannelDraftMessageIsRemovedAC(id));
51414
- sendRecordedFile(currentRecordedFile, id);
51415
- } else {
51421
+ try {
51422
+ if (recording) {
51423
+ stopRecording(true, id, false, recorder);
51424
+ } else if (currentRecordedFile) {
51425
+ removeAudioRecordingFromMap(id);
51426
+ setRecordedFile(null);
51427
+ setPlayAudio(false);
51428
+ cleanupAudioElement(id);
51429
+ setStartRecording(false);
51430
+ setShowRecording(false);
51431
+ dispatch(setChannelDraftMessageIsRemovedAC(id));
51432
+ sendRecordedFile(currentRecordedFile, id);
51433
+ } else {
51434
+ if (!recorder) return Promise.resolve();
51435
+ recorder.start().then(function () {
51416
51436
  handleStartRecording();
51417
51437
  setAudioRecordingToMap(id, {
51418
51438
  file: null,
@@ -51420,96 +51440,97 @@ var AudioRecord = function AudioRecord(_ref) {
51420
51440
  thumb: null,
51421
51441
  dur: 0
51422
51442
  });
51423
- recorder.start().then(function () {
51424
- recordButtonRef.current.style.pointerEvents = 'initial';
51425
- setShowRecording(true);
51426
- setStartRecording(true);
51427
- shouldDraw = true;
51428
- var stream = recorder.activeStream;
51429
- var obj = {};
51430
- var init = function init() {
51431
- obj.canvas = document.getElementById("waveform-" + id);
51432
- obj.ctx = obj.canvas.getContext('2d');
51433
- obj.width = 360;
51434
- obj.height = 28;
51435
- obj.canvas.width = obj.width;
51436
- obj.canvas.height = obj.height;
51437
- obj.canvas.style.width = obj.width + 'px';
51438
- obj.canvas.style.height = obj.height + 'px';
51439
- };
51440
- var timeOffset = 100;
51441
- var now = parseInt(performance.now()) / timeOffset;
51442
- var _loop = function loop() {
51443
- if (!shouldDraw) {
51444
- obj.x = 0;
51445
- obj.ctx.clearRect(0, 0, obj.canvas.width, obj.canvas.height);
51446
- if (obj.audioContext && obj.audioContext.state !== 'closed') {
51447
- obj.audioContext.close()["catch"](function () {
51448
- return undefined;
51449
- });
51450
- }
51451
- return;
51452
- }
51443
+ setShowRecording(true);
51444
+ setStartRecording(true);
51445
+ shouldDraw = true;
51446
+ var stream = recorder.activeStream;
51447
+ var obj = {};
51448
+ var init = function init() {
51449
+ obj.canvas = document.getElementById("waveform-" + id);
51450
+ obj.ctx = obj.canvas.getContext('2d');
51451
+ obj.width = 360;
51452
+ obj.height = 28;
51453
+ obj.canvas.width = obj.width;
51454
+ obj.canvas.height = obj.height;
51455
+ obj.canvas.style.width = obj.width + 'px';
51456
+ obj.canvas.style.height = obj.height + 'px';
51457
+ };
51458
+ var timeOffset = 100;
51459
+ var now = parseInt(performance.now()) / timeOffset;
51460
+ var _loop = function loop() {
51461
+ if (!shouldDraw) {
51462
+ obj.x = 0;
51453
51463
  obj.ctx.clearRect(0, 0, obj.canvas.width, obj.canvas.height);
51454
- var max = 0;
51455
- if (parseInt(performance.now() / timeOffset) > now) {
51456
- now = parseInt(performance.now() / timeOffset);
51457
- obj.analyser.getFloatTimeDomainData(obj.frequencyArray);
51458
- for (var i = 0; i < obj.frequencyArray.length; i++) {
51459
- if (obj.frequencyArray[i] > max) {
51460
- max = obj.frequencyArray[i];
51461
- }
51462
- }
51463
- var freq = Math.floor(max * 90);
51464
- if (freq === 0) {
51465
- freq = 1;
51466
- }
51467
- obj.bars.push({
51468
- x: obj.width,
51469
- y: obj.height / 2 - freq / 2,
51470
- height: freq,
51471
- width: 3
51464
+ if (obj.audioContext && obj.audioContext.state !== 'closed') {
51465
+ obj.audioContext.close()["catch"](function () {
51466
+ return undefined;
51472
51467
  });
51473
51468
  }
51474
- draw();
51475
- requestAnimationFrame(_loop);
51476
- };
51477
- obj.bars = [];
51478
- var draw = function draw() {
51479
- for (var i = 0; i < obj.bars.length; i++) {
51480
- var bar = obj.bars[i];
51481
- obj.ctx.fillStyle = textSecondary;
51482
- obj.ctx.fillRect(bar.x, bar.y, bar.width, bar.height);
51483
- bar.x = bar.x - 1;
51484
- if (bar.x < 1) {
51485
- obj.bars.splice(i, 1);
51469
+ return;
51470
+ }
51471
+ obj.ctx.clearRect(0, 0, obj.canvas.width, obj.canvas.height);
51472
+ var max = 0;
51473
+ if (parseInt(performance.now() / timeOffset) > now) {
51474
+ now = parseInt(performance.now() / timeOffset);
51475
+ obj.analyser.getFloatTimeDomainData(obj.frequencyArray);
51476
+ for (var i = 0; i < obj.frequencyArray.length; i++) {
51477
+ if (obj.frequencyArray[i] > max) {
51478
+ max = obj.frequencyArray[i];
51486
51479
  }
51487
51480
  }
51488
- };
51489
- var soundAllowed = function soundAllowed(stream) {
51490
- var AudioContext = window.AudioContext || window.webkitAudioContext;
51491
- var audioContent = new AudioContext();
51492
- obj.audioContext = audioContent;
51493
- var streamSource = audioContent.createMediaStreamSource(stream);
51494
- obj.analyser = audioContent.createAnalyser();
51495
- streamSource.connect(obj.analyser);
51496
- obj.analyser.fftSize = 512;
51497
- obj.frequencyArray = new Float32Array(obj.analyser.fftSize);
51498
- init();
51499
- _loop();
51500
- };
51501
- soundAllowed(stream);
51502
- })["catch"](function (e) {
51503
- handleStopRecording();
51504
- log.error(e);
51505
- });
51506
- }
51507
- });
51508
- }, function (e) {
51509
- handleStopRecording();
51481
+ var freq = Math.floor(max * 90);
51482
+ if (freq === 0) {
51483
+ freq = 1;
51484
+ }
51485
+ obj.bars.push({
51486
+ x: obj.width,
51487
+ y: obj.height / 2 - freq / 2,
51488
+ height: freq,
51489
+ width: 3
51490
+ });
51491
+ }
51492
+ draw();
51493
+ requestAnimationFrame(_loop);
51494
+ };
51495
+ obj.bars = [];
51496
+ var draw = function draw() {
51497
+ for (var i = 0; i < obj.bars.length; i++) {
51498
+ var bar = obj.bars[i];
51499
+ obj.ctx.fillStyle = textSecondary;
51500
+ obj.ctx.fillRect(bar.x, bar.y, bar.width, bar.height);
51501
+ bar.x = bar.x - 1;
51502
+ if (bar.x < 1) {
51503
+ obj.bars.splice(i, 1);
51504
+ }
51505
+ }
51506
+ };
51507
+ var soundAllowed = function soundAllowed(stream) {
51508
+ var AudioContext = window.AudioContext || window.webkitAudioContext;
51509
+ var audioContent = new AudioContext();
51510
+ obj.audioContext = audioContent;
51511
+ var streamSource = audioContent.createMediaStreamSource(stream);
51512
+ obj.analyser = audioContent.createAnalyser();
51513
+ streamSource.connect(obj.analyser);
51514
+ obj.analyser.fftSize = 512;
51515
+ obj.frequencyArray = new Float32Array(obj.analyser.fftSize);
51516
+ init();
51517
+ _loop();
51518
+ };
51519
+ soundAllowed(stream);
51520
+ })["catch"](function (e) {
51521
+ if ((e === null || e === void 0 ? void 0 : e.name) === 'NotAllowedError' || (e === null || e === void 0 ? void 0 : e.name) === 'PermissionDeniedError') {
51522
+ setMicrophonePermissionDenied(true);
51523
+ }
51524
+ log.error(e);
51525
+ });
51526
+ }
51527
+ } catch (e) {
51528
+ if ((e === null || e === void 0 ? void 0 : e.name) === 'NotAllowedError' || (e === null || e === void 0 ? void 0 : e.name) === 'PermissionDeniedError') {
51529
+ setMicrophonePermissionDenied(true);
51530
+ }
51510
51531
  log.error(e);
51511
- });
51512
- return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
51532
+ }
51533
+ return Promise.resolve();
51513
51534
  } catch (e) {
51514
51535
  return Promise.reject(e);
51515
51536
  }
@@ -51834,7 +51855,36 @@ var AudioRecord = function AudioRecord(_ref) {
51834
51855
  return startRecording(currentChannelId);
51835
51856
  },
51836
51857
  iconColor: accentColor
51837
- }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)));
51858
+ }, showRecording || currentRecordedFile ? /*#__PURE__*/React__default.createElement(SvgSend, null) : /*#__PURE__*/React__default.createElement(SvgRecordButton, null)), microphonePermissionDenied && (/*#__PURE__*/React__default.createElement(PopupContainer, null, /*#__PURE__*/React__default.createElement(Popup, {
51859
+ backgroundColor: background,
51860
+ maxWidth: '520px',
51861
+ minWidth: '520px',
51862
+ padding: '0'
51863
+ }, /*#__PURE__*/React__default.createElement(PopupBody, {
51864
+ paddingH: '24px',
51865
+ paddingV: '24px'
51866
+ }, /*#__PURE__*/React__default.createElement(CloseIcon, {
51867
+ color: iconPrimary,
51868
+ onClick: function onClick() {
51869
+ return setMicrophonePermissionDenied(false);
51870
+ }
51871
+ }), /*#__PURE__*/React__default.createElement(PopupName, {
51872
+ color: textPrimary,
51873
+ marginBottom: '20px'
51874
+ }, "Microphone Permission Denied"), /*#__PURE__*/React__default.createElement(PopupDescription, {
51875
+ color: textPrimary,
51876
+ highlightColor: textSecondary
51877
+ }, "We can't access your microphone. Enable microphone permission in your browser settings and try again.")), /*#__PURE__*/React__default.createElement(PopupFooter, {
51878
+ backgroundColor: surface1
51879
+ }, /*#__PURE__*/React__default.createElement(Button, {
51880
+ type: 'button',
51881
+ backgroundColor: accentColor,
51882
+ color: textOnPrimary,
51883
+ borderRadius: '8px',
51884
+ onClick: function onClick() {
51885
+ return setMicrophonePermissionDenied(false);
51886
+ }
51887
+ }, "Close"))))));
51838
51888
  };
51839
51889
  var AudioRecord$1 = /*#__PURE__*/memo(AudioRecord, function (prevProps, nextProps) {
51840
51890
  return prevProps.channelId === nextProps.channelId && prevProps.showRecording === nextProps.showRecording && prevProps.maxRecordingDuration === nextProps.maxRecordingDuration && prevProps.showViewOnceToggle === nextProps.showViewOnceToggle && prevProps.viewOnce === nextProps.viewOnce && prevProps.ViewOnceSelectedSVGIcon === nextProps.ViewOnceSelectedSVGIcon && prevProps.ViewOnceNotSelectedSVGIcon === nextProps.ViewOnceNotSelectedSVGIcon;
@@ -52359,7 +52409,7 @@ var SettingItem = styled.div(_templateObject9$i || (_templateObject9$i = _tagged
52359
52409
  return props.color;
52360
52410
  });
52361
52411
 
52362
- var _templateObject$W, _templateObject2$R, _templateObject3$I, _templateObject4$C, _templateObject5$x, _templateObject6$t, _templateObject7$q, _templateObject8$n, _templateObject9$j, _templateObject0$h, _templateObject1$f, _templateObject10$c, _templateObject11$9, _templateObject12$7, _templateObject13$6, _templateObject14$4, _templateObject15$2, _templateObject16$2, _templateObject17$2, _templateObject18$2, _templateObject19$2, _templateObject20$2, _templateObject21$2, _templateObject22$1, _templateObject23$1, _templateObject24$1, _templateObject25$1, _templateObject26$1, _templateObject27$1, _templateObject28$1, _templateObject29$1, _templateObject30$1, _templateObject31$1, _templateObject32$1, _templateObject33$1, _templateObject34$1, _templateObject35$1, _templateObject36$1, _templateObject37$1, _templateObject38$1, _templateObject39$1, _templateObject40$1, _templateObject41$1, _templateObject42, _templateObject43, _templateObject44, _templateObject45;
52412
+ var _templateObject$W, _templateObject2$R, _templateObject3$I, _templateObject4$C, _templateObject5$x, _templateObject6$t, _templateObject7$q, _templateObject8$n, _templateObject9$j, _templateObject0$h, _templateObject1$f, _templateObject10$c, _templateObject11$9, _templateObject12$7, _templateObject13$6, _templateObject14$4, _templateObject15$2, _templateObject16$2, _templateObject17$2, _templateObject18$2, _templateObject19$2, _templateObject20$2, _templateObject21$2, _templateObject22$1, _templateObject23$1, _templateObject24$1, _templateObject25$1, _templateObject26$1, _templateObject27$1, _templateObject28$1, _templateObject29$1, _templateObject30$1, _templateObject31$1, _templateObject32$1, _templateObject33$1, _templateObject34$1, _templateObject35$1, _templateObject36$1, _templateObject37$1, _templateObject38$1, _templateObject39$1, _templateObject40$1, _templateObject41$1, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46;
52363
52413
  function AutoFocusPlugin(_ref) {
52364
52414
  var messageForReply = _ref.messageForReply;
52365
52415
  var _useLexicalComposerCo = useLexicalComposerContext(),
@@ -52422,7 +52472,7 @@ function onError(error) {
52422
52472
  var prevActiveChannelId;
52423
52473
  var attachmentsUpdate = [];
52424
52474
  var SendMessageInput = function SendMessageInput(_ref3) {
52425
- var _linkPreview$metadata9, _linkPreview$metadata0, _linkPreview$metadata1, _linkPreview$metadata10, _linkPreview$metadata11, _linkPreview$metadata12, _linkPreview$metadata13, _linkPreview$metadata14, _linkPreview$metadata15, _linkPreview$metadata16, _linkPreview$metadata17, _linkPreview$metadata18, _pollOptions$choosePo, _getAudioRecordingFro2;
52475
+ var _linkPreview$metadata9, _linkPreview$metadata0, _linkPreview$metadata1, _linkPreview$metadata10, _linkPreview$metadata11, _linkPreview$metadata12, _linkPreview$metadata13, _linkPreview$metadata14, _linkPreview$metadata15, _linkPreview$metadata16, _linkPreview$metadata17, _linkPreview$metadata18, _linkPreview$metadata19, _linkPreview$metadata20, _linkPreview$metadata21, _pollOptions$choosePo, _getAudioRecordingFro2;
52426
52476
  var handleAttachmentSelected = _ref3.handleAttachmentSelected,
52427
52477
  handleSendMessage = _ref3.handleSendMessage,
52428
52478
  _ref3$disabled = _ref3.disabled,
@@ -52672,11 +52722,23 @@ var SendMessageInput = function SendMessageInput(_ref3) {
52672
52722
  var _useState35 = useState(false),
52673
52723
  isClosingPreview = _useState35[0],
52674
52724
  setIsClosingPreview = _useState35[1];
52725
+ var _useState36 = useState(false),
52726
+ replyLinkPreviewImageFailed = _useState36[0],
52727
+ setReplyLinkPreviewImageFailed = _useState36[1];
52728
+ var _useState37 = useState(false),
52729
+ linkPreviewImageFailed = _useState37[0],
52730
+ setLinkPreviewImageFailed = _useState37[1];
52675
52731
  var addAttachmentByMenu = showChooseFileAttachment && showChooseMediaAttachment;
52676
52732
  var linkify = new LinkifyIt();
52677
52733
  var oGMetadata = useSelector(function (state) {
52678
52734
  return state.MessageReducer.oGMetadata;
52679
52735
  });
52736
+ useEffect(function () {
52737
+ setReplyLinkPreviewImageFailed(false);
52738
+ }, [messageForReply === null || messageForReply === void 0 ? void 0 : messageForReply.id, messageForReply === null || messageForReply === void 0 ? void 0 : messageForReply.tid]);
52739
+ useEffect(function () {
52740
+ setLinkPreviewImageFailed(false);
52741
+ }, [linkPreview === null || linkPreview === void 0 ? void 0 : linkPreview.url]);
52680
52742
  var closePreviewWithAnimation = function closePreviewWithAnimation(callback) {
52681
52743
  if (linkPreview) {
52682
52744
  setIsClosingPreview(true);
@@ -53218,10 +53280,6 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53218
53280
  }
53219
53281
  }
53220
53282
  };
53221
- var handleCut = function handleCut() {
53222
- setMessageText('');
53223
- setMentionedUsers([]);
53224
- };
53225
53283
  var handleEmojiPopupToggle = function handleEmojiPopupToggle(bool) {
53226
53284
  setIsEmojisOpened(bool);
53227
53285
  };
@@ -53813,7 +53871,6 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53813
53871
  }, 800);
53814
53872
  }
53815
53873
  messageContRef.current.addEventListener('paste', handlePastAttachments);
53816
- messageContRef.current.addEventListener('cut', handleCut);
53817
53874
  document.addEventListener('mousedown', handleClick);
53818
53875
  return function () {
53819
53876
  if (inputHeightTimeout) {
@@ -53823,7 +53880,6 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53823
53880
  document.removeEventListener('mousedown', handleClick);
53824
53881
  if (messageContRef && messageContRef.current) {
53825
53882
  messageContRef.current.removeEventListener('paste', handlePastAttachments);
53826
- messageContRef.current.removeEventListener('cut', handleCut);
53827
53883
  }
53828
53884
  };
53829
53885
  }, []);
@@ -53884,6 +53940,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
53884
53940
  }, 301);
53885
53941
  }
53886
53942
  }, [showLinkPreview]);
53943
+ console.log(replyLinkPreviewImageFailed);
53887
53944
  return /*#__PURE__*/React__default.createElement(SendMessageWrapper, {
53888
53945
  ref: sendMessageWrapperRef,
53889
53946
  backgroundColor: backgroundColor || background
@@ -54001,14 +54058,26 @@ var SendMessageInput = function SendMessageInput(_ref3) {
54001
54058
  attachment: messageForReply.attachments[0],
54002
54059
  backgroundColor: selectedFileAttachmentsBoxBackground || '',
54003
54060
  isRepliedMessage: true
54004
- })) : messageForReply.attachments[0].type === attachmentTypes.file && (/*#__PURE__*/React__default.createElement(ReplyIconWrapper, {
54061
+ })) : messageForReply.attachments[0].type === attachmentTypes.file ? (/*#__PURE__*/React__default.createElement(ReplyIconWrapper, {
54005
54062
  backgroundColor: accentColor,
54006
54063
  iconColor: textOnPrimary
54007
- }, /*#__PURE__*/React__default.createElement(SvgChoseFile, null)))), /*#__PURE__*/React__default.createElement(ReplyMessageBody$1, {
54064
+ }, /*#__PURE__*/React__default.createElement(SvgChoseFile, null))) : getReplyLinkPreviewImage(messageForReply.attachments) && !shouldShowLinkPreviewErrorFallback(getReplyLinkPreviewImage(messageForReply.attachments), replyLinkPreviewImageFailed) ? (/*#__PURE__*/React__default.createElement(LinkPreviewImage, {
54065
+ bg: background,
54066
+ src: getReplyLinkPreviewImage(messageForReply.attachments),
54067
+ alt: 'Link preview',
54068
+ onError: function onError() {
54069
+ return setReplyLinkPreviewImageFailed(true);
54070
+ }
54071
+ })) : messageForReply.attachments[0].type === attachmentTypes.link && (/*#__PURE__*/React__default.createElement(LinkPreviewIconWrapper, {
54072
+ bg: background
54073
+ }, /*#__PURE__*/React__default.createElement(LinkPreviewIcon, {
54074
+ color: accentColor,
54075
+ bg: background
54076
+ })))), /*#__PURE__*/React__default.createElement(ReplyMessageBody$1, {
54008
54077
  linkColor: accentColor
54009
54078
  }, /*#__PURE__*/React__default.createElement(EditReplyMessageHeader, {
54010
54079
  color: accentColor
54011
- }, replyMessageIcon || /*#__PURE__*/React__default.createElement(SvgReplyIcon, null), " Reply to", /*#__PURE__*/React__default.createElement(UserName$1, null, user.id === messageForReply.user.id ? user.firstName ? user.firstName + " " + user.lastName : user.id : makeUsername(contactsMap[messageForReply.user.id], messageForReply.user, getFromContacts))), messageForReply.attachments && messageForReply.attachments.length ? messageForReply.attachments[0].type === attachmentTypes.voice ? (/*#__PURE__*/React__default.createElement(TextInOneLine, null, (messageForReply === null || messageForReply === void 0 ? void 0 : messageForReply.viewOnce) && /*#__PURE__*/React__default.createElement(SvgViewOnceLastMessage, {
54080
+ }, replyMessageIcon || /*#__PURE__*/React__default.createElement(SvgReplyIcon, null), user.id === messageForReply.user.id ? ' Reply You' : (/*#__PURE__*/React__default.createElement("span", null, ' Reply to', /*#__PURE__*/React__default.createElement(UserName$1, null, makeUsername(contactsMap[messageForReply.user.id], messageForReply.user, getFromContacts))))), messageForReply.attachments && messageForReply.attachments.length ? messageForReply.attachments[0].type === attachmentTypes.voice ? (/*#__PURE__*/React__default.createElement(TextInOneLine, null, (messageForReply === null || messageForReply === void 0 ? void 0 : messageForReply.viewOnce) && /*#__PURE__*/React__default.createElement(SvgViewOnceLastMessage, {
54012
54081
  style: {
54013
54082
  margin: '0 4px -3px 0'
54014
54083
  }
@@ -54060,7 +54129,7 @@ var SendMessageInput = function SendMessageInput(_ref3) {
54060
54129
  }, /*#__PURE__*/React__default.createElement(CloseEditMode, {
54061
54130
  color: textSecondary,
54062
54131
  onClick: handleRemoveLinkPreview
54063
- }, /*#__PURE__*/React__default.createElement(SvgClose, null)), /*#__PURE__*/React__default.createElement(LinkPreviewContent, null, (_linkPreview$metadata9 = linkPreview.metadata.og) !== null && _linkPreview$metadata9 !== void 0 && (_linkPreview$metadata0 = _linkPreview$metadata9.image) !== null && _linkPreview$metadata0 !== void 0 && (_linkPreview$metadata1 = _linkPreview$metadata0[0]) !== null && _linkPreview$metadata1 !== void 0 && _linkPreview$metadata1.url ? (/*#__PURE__*/React__default.createElement(LinkPreviewImage, {
54132
+ }, /*#__PURE__*/React__default.createElement(SvgClose, null)), /*#__PURE__*/React__default.createElement(LinkPreviewContent, null, (_linkPreview$metadata9 = linkPreview.metadata.og) !== null && _linkPreview$metadata9 !== void 0 && (_linkPreview$metadata0 = _linkPreview$metadata9.image) !== null && _linkPreview$metadata0 !== void 0 && (_linkPreview$metadata1 = _linkPreview$metadata0[0]) !== null && _linkPreview$metadata1 !== void 0 && _linkPreview$metadata1.url && !shouldShowLinkPreviewErrorFallback(linkPreview.metadata.og.image[0].url, linkPreviewImageFailed) ? (/*#__PURE__*/React__default.createElement(LinkPreviewImage, {
54064
54133
  onLoad: function onLoad(e) {
54065
54134
  var _e$target, _e$target2;
54066
54135
  if ((_e$target = e.target) !== null && _e$target !== void 0 && _e$target.naturalHeight && (_e$target2 = e.target) !== null && _e$target2 !== void 0 && _e$target2.naturalWidth) {
@@ -54071,18 +54140,24 @@ var SendMessageInput = function SendMessageInput(_ref3) {
54071
54140
  }
54072
54141
  },
54073
54142
  src: linkPreview.metadata.og.image[0].url,
54074
- alt: 'Link preview'
54075
- })) : (_linkPreview$metadata10 = linkPreview.metadata.og) !== null && _linkPreview$metadata10 !== void 0 && (_linkPreview$metadata11 = _linkPreview$metadata10.favicon) !== null && _linkPreview$metadata11 !== void 0 && _linkPreview$metadata11.url ? (/*#__PURE__*/React__default.createElement(LinkPreviewImage, {
54143
+ alt: 'Link preview',
54144
+ onError: function onError() {
54145
+ return setLinkPreviewImageFailed(true);
54146
+ }
54147
+ })) : shouldShowLinkPreviewErrorFallback((_linkPreview$metadata10 = linkPreview.metadata.og) === null || _linkPreview$metadata10 === void 0 ? void 0 : (_linkPreview$metadata11 = _linkPreview$metadata10.image) === null || _linkPreview$metadata11 === void 0 ? void 0 : (_linkPreview$metadata12 = _linkPreview$metadata11[0]) === null || _linkPreview$metadata12 === void 0 ? void 0 : _linkPreview$metadata12.url, linkPreviewImageFailed) ? (/*#__PURE__*/React__default.createElement(LinkPreviewIcon, {
54148
+ color: accentColor,
54149
+ bg: background
54150
+ })) : (_linkPreview$metadata13 = linkPreview.metadata.og) !== null && _linkPreview$metadata13 !== void 0 && (_linkPreview$metadata14 = _linkPreview$metadata13.favicon) !== null && _linkPreview$metadata14 !== void 0 && _linkPreview$metadata14.url ? (/*#__PURE__*/React__default.createElement(LinkPreviewImage, {
54076
54151
  src: linkPreview.metadata.og.favicon.url,
54077
54152
  alt: 'Favicon'
54078
54153
  })) : (/*#__PURE__*/React__default.createElement(LinkPreviewIcon, {
54079
54154
  color: accentColor,
54080
54155
  bg: background
54081
54156
  })), /*#__PURE__*/React__default.createElement(LinkPreviewTextContent, {
54082
- hasImage: !!((_linkPreview$metadata12 = linkPreview.metadata.og) !== null && _linkPreview$metadata12 !== void 0 && (_linkPreview$metadata13 = _linkPreview$metadata12.image) !== null && _linkPreview$metadata13 !== void 0 && (_linkPreview$metadata14 = _linkPreview$metadata13[0]) !== null && _linkPreview$metadata14 !== void 0 && _linkPreview$metadata14.url) || !!((_linkPreview$metadata15 = linkPreview.metadata.og) !== null && _linkPreview$metadata15 !== void 0 && (_linkPreview$metadata16 = _linkPreview$metadata15.favicon) !== null && _linkPreview$metadata16 !== void 0 && _linkPreview$metadata16.url)
54083
- }, ((_linkPreview$metadata17 = linkPreview.metadata.og) === null || _linkPreview$metadata17 === void 0 ? void 0 : _linkPreview$metadata17.title) && (/*#__PURE__*/React__default.createElement(LinkPreviewTitle, {
54157
+ hasImage: !!((_linkPreview$metadata15 = linkPreview.metadata.og) !== null && _linkPreview$metadata15 !== void 0 && (_linkPreview$metadata16 = _linkPreview$metadata15.image) !== null && _linkPreview$metadata16 !== void 0 && (_linkPreview$metadata17 = _linkPreview$metadata16[0]) !== null && _linkPreview$metadata17 !== void 0 && _linkPreview$metadata17.url) || !!((_linkPreview$metadata18 = linkPreview.metadata.og) !== null && _linkPreview$metadata18 !== void 0 && (_linkPreview$metadata19 = _linkPreview$metadata18.favicon) !== null && _linkPreview$metadata19 !== void 0 && _linkPreview$metadata19.url)
54158
+ }, ((_linkPreview$metadata20 = linkPreview.metadata.og) === null || _linkPreview$metadata20 === void 0 ? void 0 : _linkPreview$metadata20.title) && (/*#__PURE__*/React__default.createElement(LinkPreviewTitle, {
54084
54159
  color: accentColor
54085
- }, linkPreview.metadata.og.title)), ((_linkPreview$metadata18 = linkPreview.metadata.og) === null || _linkPreview$metadata18 === void 0 ? void 0 : _linkPreview$metadata18.description) && (/*#__PURE__*/React__default.createElement(LinkPreviewDescription, {
54160
+ }, linkPreview.metadata.og.title)), ((_linkPreview$metadata21 = linkPreview.metadata.og) === null || _linkPreview$metadata21 === void 0 ? void 0 : _linkPreview$metadata21.description) && (/*#__PURE__*/React__default.createElement(LinkPreviewDescription, {
54086
54161
  color: textPrimary
54087
54162
  }, linkPreview.metadata.og.description)))))), !!attachments.length && !sendAttachmentSeparately && (/*#__PURE__*/React__default.createElement(ChosenAttachments, null, [].concat(attachments).map(function (attachment) {
54088
54163
  return /*#__PURE__*/React__default.createElement("div", {
@@ -54363,7 +54438,7 @@ var MessageInputWrapper = styled.div(_templateObject12$7 || (_templateObject12$7
54363
54438
  }, function (props) {
54364
54439
  return props.borderRadius || '18px';
54365
54440
  });
54366
- var LexicalWrapper = styled.div(_templateObject13$6 || (_templateObject13$6 = _taggedTemplateLiteralLoose(["\n position: relative;\n width: 100%;\n\n & .rich_text_editor {\n width: 100%;\n max-height: 80px;\n min-height: 20px;\n display: block;\n border: none;\n box-sizing: border-box;\n outline: none !important;\n border-radius: ", ";\n background-color: ", ";\n padding: ", ";\n color: ", ";\n order: ", ";\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n scrollbar-color: transparent transparent;\n overscroll-behavior: none;\n\n @supports (overflow: overlay) {\n overflow-y: overlay;\n }\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\n &.show-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: ", " transparent;\n }\n\n & p {\n font-size: 15px;\n line-height: 20px;\n color: ", ";\n }\n\n &::selection {\n background-color: ", ";\n }\n\n & *::selection {\n background-color: ", ";\n }\n\n & span::selection {\n background-color: ", ";\n }\n\n &:empty:before {\n content: attr(data-placeholder);\n }\n\n & .content_editable_input {\n border: none !important;\n outline: none !important;\n }\n\n & .mention {\n color: ", ";\n background-color: inherit !important;\n user-modify: read-only;\n }\n\n & span.bold {\n font-weight: bold;\n }\n\n & .editor_paragraph {\n margin: 0;\n }\n\n & .text_bold {\n font-weight: 600;\n }\n\n & .text_italic {\n font-style: italic;\n }\n\n & .text_underline {\n text-decoration: underline;\n }\n\n & .text_strikethrough {\n text-decoration: line-through;\n }\n\n & .text_underlineStrikethrough {\n text-decoration: underline line-through;\n }\n\n & code {\n font-family: inherit;\n letter-spacing: 4px;\n }\n }\n"])), function (props) {
54441
+ var LexicalWrapper = styled.div(_templateObject13$6 || (_templateObject13$6 = _taggedTemplateLiteralLoose(["\n position: relative;\n width: 100%;\n\n & .rich_text_editor {\n width: 100%;\n max-height: 80px;\n min-height: 20px;\n display: block;\n border: none;\n box-sizing: border-box;\n outline: none !important;\n border-radius: ", ";\n background-color: ", ";\n padding: ", ";\n color: ", ";\n order: ", ";\n overflow-y: auto;\n overflow-x: hidden;\n scrollbar-width: none;\n scrollbar-color: transparent transparent;\n overscroll-behavior: none;\n\n @supports (overflow: overlay) {\n overflow-y: overlay;\n }\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\n &.show-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: ", " transparent;\n }\n\n & p {\n font-size: 15px;\n line-height: 20px;\n color: ", ";\n }\n\n &::selection {\n background-color: ", ";\n }\n\n & *::selection {\n background-color: ", ";\n }\n\n & span::selection {\n background-color: ", ";\n }\n\n &:empty:before {\n content: attr(data-placeholder);\n }\n\n & .content_editable_input {\n border: none !important;\n outline: none !important;\n }\n\n & .mention {\n color: ", ";\n background-color: inherit !important;\n user-select: text;\n -webkit-user-select: text;\n }\n\n & span.bold {\n font-weight: bold;\n }\n\n & .editor_paragraph {\n margin: 0;\n }\n\n & .text_bold {\n font-weight: 600;\n }\n\n & .text_italic {\n font-style: italic;\n }\n\n & .text_underline {\n text-decoration: underline;\n }\n\n & .text_strikethrough {\n text-decoration: line-through;\n }\n\n & .text_underlineStrikethrough {\n text-decoration: underline line-through;\n }\n\n & code {\n font-family: inherit;\n letter-spacing: 4px;\n }\n }\n"])), function (props) {
54367
54442
  return props.borderRadius;
54368
54443
  }, function (props) {
54369
54444
  return props.backgroundColor;
@@ -54471,19 +54546,24 @@ var LinkPreviewContainer = styled.div(_templateObject39$1 || (_templateObject39$
54471
54546
  return props.isClosing ? linkPreviewSlideOut : linkPreviewSlideIn;
54472
54547
  });
54473
54548
  var LinkPreviewContent = styled.div(_templateObject40$1 || (_templateObject40$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 12px;\n flex: 1;\n overflow: hidden;\n"])));
54474
- var LinkPreviewImage = styled.img(_templateObject41$1 || (_templateObject41$1 = _taggedTemplateLiteralLoose(["\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: 8px;\n flex-shrink: 0;\n"])));
54549
+ var LinkPreviewImage = styled.img(_templateObject41$1 || (_templateObject41$1 = _taggedTemplateLiteralLoose(["\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: 4px;\n flex-shrink: 0;\n margin-right: 8px;\n background: ", ";\n"])), function (props) {
54550
+ return props.bg;
54551
+ });
54475
54552
  var LinkPreviewIcon = styled(SvgLinkIcon)(_templateObject42 || (_templateObject42 = _taggedTemplateLiteralLoose(["\n color: ", ";\n rect {\n fill: ", ";\n fill-opacity: 1;\n }\n"])), function (props) {
54476
54553
  return props.color;
54477
54554
  }, function (props) {
54478
54555
  return props.bg;
54479
54556
  });
54480
- var LinkPreviewTextContent = styled.div(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n overflow: hidden;\n flex: 1;\n justify-content: center;\n ", "\n"])), function (props) {
54557
+ var LinkPreviewIconWrapper = styled.div(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n width: 40px;\n height: 40px;\n border-radius: 4px;\n margin-right: 8px;\n background: ", ";\n"])), function (props) {
54558
+ return props.bg;
54559
+ });
54560
+ var LinkPreviewTextContent = styled.div(_templateObject44 || (_templateObject44 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n overflow: hidden;\n flex: 1;\n justify-content: center;\n ", "\n"])), function (props) {
54481
54561
  return props.hasImage ? '' : 'padding-left: 0;';
54482
54562
  });
54483
- var LinkPreviewTitle = styled.div(_templateObject44 || (_templateObject44 = _taggedTemplateLiteralLoose(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: Inter;\n font-weight: 500;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: 0px;\n"])), function (props) {
54563
+ var LinkPreviewTitle = styled.div(_templateObject45 || (_templateObject45 = _taggedTemplateLiteralLoose(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: Inter;\n font-weight: 500;\n font-size: 13px;\n line-height: 16px;\n letter-spacing: 0px;\n"])), function (props) {
54484
54564
  return props.color;
54485
54565
  });
54486
- var LinkPreviewDescription = styled.div(_templateObject45 || (_templateObject45 = _taggedTemplateLiteralLoose(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n font-weight: 400;\n font-size: 15px;\n line-height: 20px;\n letter-spacing: -0.2px;\n"])), function (props) {
54566
+ var LinkPreviewDescription = styled.div(_templateObject46 || (_templateObject46 = _taggedTemplateLiteralLoose(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n font-weight: 400;\n font-size: 15px;\n line-height: 20px;\n letter-spacing: -0.2px;\n"])), function (props) {
54487
54567
  return props.color;
54488
54568
  });
54489
54569
 
@@ -55316,12 +55396,14 @@ var Actions = function Actions(_ref) {
55316
55396
  commonGroupsTextColor = _ref.commonGroupsTextColor,
55317
55397
  showGroupsInCommon = _ref.showGroupsInCommon;
55318
55398
  var _useColor = useColors(),
55399
+ accentColor = _useColor[THEME_COLORS.ACCENT],
55319
55400
  textPrimary = _useColor[THEME_COLORS.TEXT_PRIMARY],
55320
55401
  textSecondary = _useColor[THEME_COLORS.TEXT_SECONDARY],
55321
55402
  iconPrimary = _useColor[THEME_COLORS.ICON_PRIMARY],
55322
55403
  surface1 = _useColor[THEME_COLORS.SURFACE_1],
55323
55404
  warningColor = _useColor[THEME_COLORS.WARNING],
55324
- backgroundColor = _useColor[THEME_COLORS.BACKGROUND];
55405
+ backgroundColor = _useColor[THEME_COLORS.BACKGROUND],
55406
+ textOnPrimary = _useColor[THEME_COLORS.TEXT_ON_PRIMARY];
55325
55407
  var ChatClient = getClient();
55326
55408
  var user = ChatClient.user;
55327
55409
  var _useState = useState(false),
@@ -55334,35 +55416,39 @@ var Actions = function Actions(_ref) {
55334
55416
  leaveChannelPopupOpen = _useState3[0],
55335
55417
  setLeaveChannelPopupOpen = _useState3[1];
55336
55418
  var _useState4 = useState(false),
55337
- deleteChannelPopupOpen = _useState4[0],
55338
- setDeleteChannelPopupOpen = _useState4[1];
55419
+ leaveChannelOfflinePopupOpen = _useState4[0],
55420
+ setLeaveChannelOfflinePopupOpen = _useState4[1];
55339
55421
  var _useState5 = useState(false),
55340
- blockChannelPopupOpen = _useState5[0],
55341
- setBlockChannelPopupOpen = _useState5[1];
55422
+ deleteChannelPopupOpen = _useState5[0],
55423
+ setDeleteChannelPopupOpen = _useState5[1];
55342
55424
  var _useState6 = useState(false),
55343
- blockUserPopupOpen = _useState6[0],
55344
- setBlockUserPopupOpen = _useState6[1];
55425
+ blockChannelPopupOpen = _useState6[0],
55426
+ setBlockChannelPopupOpen = _useState6[1];
55345
55427
  var _useState7 = useState(false),
55346
- unblockUserPopupOpen = _useState7[0],
55347
- setUnblockUserPopupOpen = _useState7[1];
55428
+ blockUserPopupOpen = _useState7[0],
55429
+ setBlockUserPopupOpen = _useState7[1];
55348
55430
  var _useState8 = useState(false),
55349
- reportUserPopupOpen = _useState8[0],
55350
- setReportUserPopupOpen = _useState8[1];
55431
+ unblockUserPopupOpen = _useState8[0],
55432
+ setUnblockUserPopupOpen = _useState8[1];
55351
55433
  var _useState9 = useState(false),
55352
- disappearingMessagesPopupOpen = _useState9[0],
55353
- setDisappearingMessagesPopupOpen = _useState9[1];
55434
+ reportUserPopupOpen = _useState9[0],
55435
+ setReportUserPopupOpen = _useState9[1];
55354
55436
  var _useState0 = useState(false),
55355
- groupsInCommonPopupOpen = _useState0[0],
55356
- setGroupsInCommonPopupOpen = _useState0[1];
55437
+ disappearingMessagesPopupOpen = _useState0[0],
55438
+ setDisappearingMessagesPopupOpen = _useState0[1];
55439
+ var _useState1 = useState(false),
55440
+ groupsInCommonPopupOpen = _useState1[0],
55441
+ setGroupsInCommonPopupOpen = _useState1[1];
55357
55442
  var _usePermissions = usePermissions(channel.userRole),
55358
55443
  checkActionPermission = _usePermissions[0];
55359
- var _useState1 = useState(''),
55360
- popupButtonText = _useState1[0],
55361
- setPopupButtonText = _useState1[1];
55362
55444
  var _useState10 = useState(''),
55363
- popupTitle = _useState10[0],
55364
- setPopupTitle = _useState10[1];
55445
+ popupButtonText = _useState10[0],
55446
+ setPopupButtonText = _useState10[1];
55447
+ var _useState11 = useState(''),
55448
+ popupTitle = _useState11[0],
55449
+ setPopupTitle = _useState11[1];
55365
55450
  var dispatch = useDispatch();
55451
+ var connectionStatus = useSelector(connectionStatusSelector);
55366
55452
  var oneHour = 60 * 60 * 1000;
55367
55453
  var twoHours = oneHour * 2;
55368
55454
  var oneDay = oneHour * 24;
@@ -55407,6 +55493,10 @@ var Actions = function Actions(_ref) {
55407
55493
  }
55408
55494
  };
55409
55495
  var handleLeaveChannel = function handleLeaveChannel() {
55496
+ if (connectionStatus !== CONNECTION_STATUS.CONNECTED) {
55497
+ setLeaveChannelOfflinePopupOpen(true);
55498
+ return;
55499
+ }
55410
55500
  dispatch(leaveChannelAC(channel.id));
55411
55501
  };
55412
55502
  var handleDeleteChannel = function handleDeleteChannel() {
@@ -55708,7 +55798,37 @@ var Actions = function Actions(_ref) {
55708
55798
  buttonText: popupButtonText,
55709
55799
  description: channel.type === DEFAULT_CHANNEL_TYPE.GROUP || channel.type === DEFAULT_CHANNEL_TYPE.PRIVATE ? 'Once you leave this group it will be removed for you along with its entire history.' : 'Once you leave this channel it will be removed for you along with its entire history.',
55710
55800
  title: popupTitle
55711
- })), deleteChannelPopupOpen && (/*#__PURE__*/React__default.createElement(ConfirmPopup, {
55801
+ })), leaveChannelOfflinePopupOpen && (/*#__PURE__*/React__default.createElement(PopupContainer, null, /*#__PURE__*/React__default.createElement(Popup, {
55802
+ backgroundColor: backgroundColor,
55803
+ maxWidth: '520px',
55804
+ minWidth: '520px',
55805
+ padding: '0'
55806
+ }, /*#__PURE__*/React__default.createElement(PopupBody, {
55807
+ paddingH: '24px',
55808
+ paddingV: '24px'
55809
+ }, /*#__PURE__*/React__default.createElement(CloseIcon, {
55810
+ color: iconPrimary,
55811
+ onClick: function onClick() {
55812
+ return setLeaveChannelOfflinePopupOpen(false);
55813
+ }
55814
+ }), /*#__PURE__*/React__default.createElement(PopupName, {
55815
+ color: textPrimary,
55816
+ isDelete: true,
55817
+ marginBottom: '20px'
55818
+ }, "Failed to leave group"), /*#__PURE__*/React__default.createElement(PopupDescription, {
55819
+ color: textPrimary,
55820
+ highlightColor: textSecondary
55821
+ }, "You\u2019re offline. Reconnect and try again.")), /*#__PURE__*/React__default.createElement(PopupFooter, {
55822
+ backgroundColor: surface1
55823
+ }, /*#__PURE__*/React__default.createElement(Button, {
55824
+ type: 'button',
55825
+ backgroundColor: accentColor,
55826
+ color: textOnPrimary,
55827
+ borderRadius: '8px',
55828
+ onClick: function onClick() {
55829
+ return setLeaveChannelOfflinePopupOpen(false);
55830
+ }
55831
+ }, "Close"))))), deleteChannelPopupOpen && (/*#__PURE__*/React__default.createElement(ConfirmPopup, {
55712
55832
  handleFunction: handleDeleteChannel,
55713
55833
  togglePopup: handleToggleDeleteChannelPopupOpen,
55714
55834
  buttonText: popupButtonText,