stream-chat-react-native-core 5.23.0-beta.1 → 5.23.0-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.
- package/lib/commonjs/components/Channel/Channel.js +587 -384
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +174 -180
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +6 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js +36 -0
- package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -0
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +30 -36
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/i18n/en.json +1 -1
- package/lib/commonjs/i18n/fr.json +45 -45
- package/lib/commonjs/i18n/hi.json +43 -43
- package/lib/commonjs/i18n/it.json +43 -43
- package/lib/commonjs/i18n/nl.json +43 -43
- package/lib/commonjs/i18n/ru.json +45 -45
- package/lib/commonjs/i18n/tr.json +45 -45
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +587 -384
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +174 -180
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +6 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js +36 -0
- package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -0
- package/lib/module/components/MessageOverlay/MessageOverlay.js +30 -36
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/i18n/en.json +1 -1
- package/lib/module/i18n/fr.json +45 -45
- package/lib/module/i18n/hi.json +43 -43
- package/lib/module/i18n/it.json +43 -43
- package/lib/module/i18n/nl.json +43 -43
- package/lib/module/i18n/ru.json +45 -45
- package/lib/module/i18n/tr.json +45 -45
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -1
- package/lib/typescript/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.d.ts +4 -0
- package/lib/typescript/i18n/en.json +1 -1
- package/lib/typescript/i18n/fr.json +45 -45
- package/lib/typescript/i18n/hi.json +43 -43
- package/lib/typescript/i18n/it.json +43 -43
- package/lib/typescript/i18n/nl.json +43 -43
- package/lib/typescript/i18n/ru.json +45 -45
- package/lib/typescript/i18n/tr.json +45 -45
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +237 -61
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +1 -0
- package/src/components/MessageList/MessageList.tsx +193 -181
- package/src/components/MessageList/__tests__/useMessageList.test.tsx +5 -2
- package/src/components/MessageList/hooks/useMessageList.ts +8 -1
- package/src/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.ts +44 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +1 -6
- package/src/i18n/en.json +1 -1
- package/src/i18n/fr.json +45 -45
- package/src/i18n/hi.json +43 -43
- package/src/i18n/it.json +43 -43
- package/src/i18n/nl.json +43 -43
- package/src/i18n/ru.json +45 -45
- package/src/i18n/tr.json +45 -45
- package/src/version.json +1 -1
|
@@ -115,18 +115,12 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
115
115
|
var halfScreenHeight = vh(50);
|
|
116
116
|
var myMessageTheme = messagesContext == null ? void 0 : messagesContext.myMessageTheme;
|
|
117
117
|
var wrapMessageInTheme = clientId === (message == null ? void 0 : (_message$user = message.user) == null ? void 0 : _message$user.id) && !!myMessageTheme;
|
|
118
|
-
var _useState = (0, _react.useState)(
|
|
118
|
+
var _useState = (0, _react.useState)(0),
|
|
119
119
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
var
|
|
123
|
-
|
|
124
|
-
reactionListHeight = _useState4[0],
|
|
125
|
-
setReactionListHeight = _useState4[1];
|
|
126
|
-
(0, _react.useEffect)(function () {
|
|
127
|
-
if (myMessageTheme) {
|
|
128
|
-
setMyMessageThemeString(JSON.stringify(myMessageTheme));
|
|
129
|
-
}
|
|
120
|
+
reactionListHeight = _useState2[0],
|
|
121
|
+
setReactionListHeight = _useState2[1];
|
|
122
|
+
var myMessageThemeString = (0, _react.useMemo)(function () {
|
|
123
|
+
return JSON.stringify(myMessageTheme);
|
|
130
124
|
}, [myMessageTheme]);
|
|
131
125
|
var modifiedTheme = (0, _react.useMemo)(function () {
|
|
132
126
|
return (0, _ThemeContext.mergeThemes)({
|
|
@@ -253,7 +247,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
253
247
|
__self: _this,
|
|
254
248
|
__source: {
|
|
255
249
|
fileName: _jsxFileName,
|
|
256
|
-
lineNumber:
|
|
250
|
+
lineNumber: 305,
|
|
257
251
|
columnNumber: 5
|
|
258
252
|
}
|
|
259
253
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -261,7 +255,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
261
255
|
__self: _this,
|
|
262
256
|
__source: {
|
|
263
257
|
fileName: _jsxFileName,
|
|
264
|
-
lineNumber:
|
|
258
|
+
lineNumber: 313,
|
|
265
259
|
columnNumber: 7
|
|
266
260
|
}
|
|
267
261
|
}, message && _react["default"].createElement(_reactNative.View, {
|
|
@@ -271,7 +265,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
271
265
|
__self: _this,
|
|
272
266
|
__source: {
|
|
273
267
|
fileName: _jsxFileName,
|
|
274
|
-
lineNumber:
|
|
268
|
+
lineNumber: 315,
|
|
275
269
|
columnNumber: 11
|
|
276
270
|
}
|
|
277
271
|
}, handleReaction && ownCapabilities != null && ownCapabilities.sendReaction ? _react["default"].createElement(OverlayReactionList, {
|
|
@@ -284,7 +278,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
284
278
|
__self: _this,
|
|
285
279
|
__source: {
|
|
286
280
|
fileName: _jsxFileName,
|
|
287
|
-
lineNumber:
|
|
281
|
+
lineNumber: 324,
|
|
288
282
|
columnNumber: 15
|
|
289
283
|
}
|
|
290
284
|
}) : null, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -305,7 +299,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
305
299
|
__self: _this,
|
|
306
300
|
__source: {
|
|
307
301
|
fileName: _jsxFileName,
|
|
308
|
-
lineNumber:
|
|
302
|
+
lineNumber: 331,
|
|
309
303
|
columnNumber: 13
|
|
310
304
|
}
|
|
311
305
|
}, alignment === 'left' && MessageAvatar && _react["default"].createElement(MessageAvatar, {
|
|
@@ -315,7 +309,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
315
309
|
__self: _this,
|
|
316
310
|
__source: {
|
|
317
311
|
fileName: _jsxFileName,
|
|
318
|
-
lineNumber:
|
|
312
|
+
lineNumber: 347,
|
|
319
313
|
columnNumber: 17
|
|
320
314
|
}
|
|
321
315
|
}), _react["default"].createElement(_reactNative.View, {
|
|
@@ -331,7 +325,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
331
325
|
__self: _this,
|
|
332
326
|
__source: {
|
|
333
327
|
fileName: _jsxFileName,
|
|
334
|
-
lineNumber:
|
|
328
|
+
lineNumber: 349,
|
|
335
329
|
columnNumber: 15
|
|
336
330
|
}
|
|
337
331
|
}, messagesContext == null ? void 0 : (_messagesContext$mess = messagesContext.messageContentOrder) == null ? void 0 : _messagesContext$mess.map(function (messageContentType, messageContentOrderIndex) {
|
|
@@ -343,7 +337,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
343
337
|
__self: _this,
|
|
344
338
|
__source: {
|
|
345
339
|
fileName: _jsxFileName,
|
|
346
|
-
lineNumber:
|
|
340
|
+
lineNumber: 391,
|
|
347
341
|
columnNumber: 29
|
|
348
342
|
}
|
|
349
343
|
}, _react["default"].createElement(Reply, {
|
|
@@ -356,7 +350,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
356
350
|
__self: _this,
|
|
357
351
|
__source: {
|
|
358
352
|
fileName: _jsxFileName,
|
|
359
|
-
lineNumber:
|
|
353
|
+
lineNumber: 395,
|
|
360
354
|
columnNumber: 31
|
|
361
355
|
}
|
|
362
356
|
}));
|
|
@@ -368,7 +362,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
368
362
|
__self: _this,
|
|
369
363
|
__source: {
|
|
370
364
|
fileName: _jsxFileName,
|
|
371
|
-
lineNumber:
|
|
365
|
+
lineNumber: 412,
|
|
372
366
|
columnNumber: 31
|
|
373
367
|
}
|
|
374
368
|
});
|
|
@@ -381,7 +375,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
381
375
|
__self: _this,
|
|
382
376
|
__source: {
|
|
383
377
|
fileName: _jsxFileName,
|
|
384
|
-
lineNumber:
|
|
378
|
+
lineNumber: 421,
|
|
385
379
|
columnNumber: 29
|
|
386
380
|
}
|
|
387
381
|
});
|
|
@@ -398,7 +392,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
398
392
|
__self: _this,
|
|
399
393
|
__source: {
|
|
400
394
|
fileName: _jsxFileName,
|
|
401
|
-
lineNumber:
|
|
395
|
+
lineNumber: 431,
|
|
402
396
|
columnNumber: 29
|
|
403
397
|
}
|
|
404
398
|
});
|
|
@@ -413,7 +407,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
413
407
|
__self: _this,
|
|
414
408
|
__source: {
|
|
415
409
|
fileName: _jsxFileName,
|
|
416
|
-
lineNumber:
|
|
410
|
+
lineNumber: 446,
|
|
417
411
|
columnNumber: 27
|
|
418
412
|
}
|
|
419
413
|
});
|
|
@@ -426,7 +420,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
426
420
|
__self: _this,
|
|
427
421
|
__source: {
|
|
428
422
|
fileName: _jsxFileName,
|
|
429
|
-
lineNumber:
|
|
423
|
+
lineNumber: 460,
|
|
430
424
|
columnNumber: 15
|
|
431
425
|
}
|
|
432
426
|
})), !!messageReactionTitle && message.latest_reactions && message.latest_reactions.length > 0 ? _react["default"].createElement(OverlayReactions, {
|
|
@@ -448,7 +442,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
448
442
|
__self: _this,
|
|
449
443
|
__source: {
|
|
450
444
|
fileName: _jsxFileName,
|
|
451
|
-
lineNumber:
|
|
445
|
+
lineNumber: 470,
|
|
452
446
|
columnNumber: 15
|
|
453
447
|
}
|
|
454
448
|
}) : null)));
|
|
@@ -459,7 +453,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
459
453
|
__self: _this,
|
|
460
454
|
__source: {
|
|
461
455
|
fileName: _jsxFileName,
|
|
462
|
-
lineNumber:
|
|
456
|
+
lineNumber: 499,
|
|
463
457
|
columnNumber: 5
|
|
464
458
|
}
|
|
465
459
|
}, _react["default"].createElement(_MessagesContext.MessagesProvider, {
|
|
@@ -467,7 +461,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
467
461
|
__self: _this,
|
|
468
462
|
__source: {
|
|
469
463
|
fileName: _jsxFileName,
|
|
470
|
-
lineNumber:
|
|
464
|
+
lineNumber: 500,
|
|
471
465
|
columnNumber: 7
|
|
472
466
|
}
|
|
473
467
|
}, _react["default"].createElement(_MessageContext.MessageProvider, {
|
|
@@ -475,7 +469,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
475
469
|
__self: _this,
|
|
476
470
|
__source: {
|
|
477
471
|
fileName: _jsxFileName,
|
|
478
|
-
lineNumber:
|
|
472
|
+
lineNumber: 501,
|
|
479
473
|
columnNumber: 9
|
|
480
474
|
}
|
|
481
475
|
}, _react["default"].createElement(_ThemeContext.ThemeProvider, {
|
|
@@ -483,7 +477,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
483
477
|
__self: _this,
|
|
484
478
|
__source: {
|
|
485
479
|
fileName: _jsxFileName,
|
|
486
|
-
lineNumber:
|
|
480
|
+
lineNumber: 502,
|
|
487
481
|
columnNumber: 11
|
|
488
482
|
}
|
|
489
483
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -492,7 +486,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
492
486
|
__self: _this,
|
|
493
487
|
__source: {
|
|
494
488
|
fileName: _jsxFileName,
|
|
495
|
-
lineNumber:
|
|
489
|
+
lineNumber: 503,
|
|
496
490
|
columnNumber: 13
|
|
497
491
|
}
|
|
498
492
|
}, _react["default"].createElement(_reactNativeGestureHandler.PanGestureHandler, {
|
|
@@ -503,7 +497,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
503
497
|
__self: _this,
|
|
504
498
|
__source: {
|
|
505
499
|
fileName: _jsxFileName,
|
|
506
|
-
lineNumber:
|
|
500
|
+
lineNumber: 507,
|
|
507
501
|
columnNumber: 15
|
|
508
502
|
}
|
|
509
503
|
}, _react["default"].createElement(_reactNativeReanimated["default"].View, {
|
|
@@ -511,7 +505,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
511
505
|
__self: _this,
|
|
512
506
|
__source: {
|
|
513
507
|
fileName: _jsxFileName,
|
|
514
|
-
lineNumber:
|
|
508
|
+
lineNumber: 513,
|
|
515
509
|
columnNumber: 17
|
|
516
510
|
}
|
|
517
511
|
}, _react["default"].createElement(_reactNative.SafeAreaView, {
|
|
@@ -519,7 +513,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
519
513
|
__self: _this,
|
|
520
514
|
__source: {
|
|
521
515
|
fileName: _jsxFileName,
|
|
522
|
-
lineNumber:
|
|
516
|
+
lineNumber: 514,
|
|
523
517
|
columnNumber: 19
|
|
524
518
|
}
|
|
525
519
|
}, isScrollEnabled ? _react["default"].createElement(_reactNativeGestureHandler.ScrollView, {
|
|
@@ -532,7 +526,7 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
532
526
|
__self: _this,
|
|
533
527
|
__source: {
|
|
534
528
|
fileName: _jsxFileName,
|
|
535
|
-
lineNumber:
|
|
529
|
+
lineNumber: 516,
|
|
536
530
|
columnNumber: 23
|
|
537
531
|
}
|
|
538
532
|
}, renderContent()) : renderContent(messageTextNumberOfLines)))))))));
|
|
@@ -582,7 +576,7 @@ var MessageOverlay = function MessageOverlay(props) {
|
|
|
582
576
|
__self: _this,
|
|
583
577
|
__source: {
|
|
584
578
|
fileName: _jsxFileName,
|
|
585
|
-
lineNumber:
|
|
579
|
+
lineNumber: 618,
|
|
586
580
|
columnNumber: 5
|
|
587
581
|
}
|
|
588
582
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_MessageActionList","_OverlayReactionList","_OverlayReactionsAvatar","_ChatContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_useViewport2","_MessageTextContainer","_OverlayReactions","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","_message$user","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","chatContext","message","messageActions","_props$MessageActionL","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","_props$messageTextNum","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","_props$OverlayReactio","OverlayReactionList","OverlayReactionListDefault","_props$OverlayReactio2","OverlayReactions","DefaultOverlayReactions","_props$OverlayReactio3","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","theme","_useViewport","useViewport","vh","vw","screenHeight","halfScreenHeight","myMessageTheme","wrapMessageInTheme","user","id","_useState","useState","JSON","stringify","_useState2","_slicedToArray2","myMessageThemeString","setMyMessageThemeString","_useState3","_useState4","reactionListHeight","setReactionListHeight","useEffect","modifiedTheme","useMemo","mergeThemes","style","_ref","_ref$colors","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","_ref$messageSimple$co","messageSimple","content","_ref$messageSimple$co2","container","borderRadiusL","borderRadiusS","_ref$overlay","containerStyle","messageHeight","useSharedValue","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","withSpring","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","Keyboard","dismiss","onPan","useAnimatedGestureHandler","onActive","evt","translationY","interpolate","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","onStart","panStyle","useAnimatedStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","_ref2","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","renderContent","_message$own_reaction","_messagesContext$mess","createElement","TapGestureHandler","maxDist","onHandlerStateChange","_ref3","state","nativeEvent","State","END","__self","__source","fileName","lineNumber","columnNumber","View","sendReaction","ownReactionTypes","own_reactions","map","reaction","type","onLayout","_ref4","_ref4$nativeEvent$lay","layout","layoutHeight","height","layoutWidth","width","showAvatar","pointerEvents","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","quotedMessage","messageContainer","maxWidth","attachment","attachmentIndex","messageId","actions","MessageTextContainer","messageOverlay","_extends2","latest_reactions","reactions","_reaction$user","_reaction$user2","_reaction$user3","_reaction$user4","image","name","user_id","supportedReactions","title","isScrollEnabled","ChatProvider","MessagesProvider","MessageProvider","ThemeProvider","mergedStyle","absoluteFillObject","PanGestureHandler","enabled","maxPointers","minDist","onGestureEvent","SafeAreaView","ScrollView","alwaysBounceVertical","contentContainerStyle","showsVerticalScrollIndicator","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","_ref5","index","_nextMessage$latest_r","MemoizedMessageOverlay","React","memo","MessageOverlay","_useMessageOverlayCon","useMessageOverlayContext","data","_useOverlayContext","useOverlayContext","componentProps","exports"],"sources":["MessageOverlay.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n ScrollView,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n chatContext,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const { theme } = useTheme();\n const { vh, vw } = useViewport();\n\n const screenHeight = vh(100);\n const halfScreenHeight = vh(50);\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [myMessageThemeString, setMyMessageThemeString] = useState(JSON.stringify(myMessageTheme));\n const [reactionListHeight, setReactionListHeight] = useState(0);\n\n useEffect(() => {\n if (myMessageTheme) {\n setMyMessageThemeString(JSON.stringify(myMessageTheme));\n }\n }, [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n const renderContent = (messageTextNumberOfLines?: number) => (\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={message?.own_reactions?.map((reaction) => reaction.type) || []}\n setReactionListHeight={setReactionListHeight}\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) || otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment: clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n );\n\n // Scroll will only be enabled for message overlay when we show actions.\n // When we show the reactions, we don't want to enable scroll since OverlayReactions component\n // in itself is scrollable (FlatList). FlatList inside a ScrollView is not a good idea and results in error from RN.\n const isScrollEnabled = !!messageActions && overlay === 'message';\n\n return (\n <ChatProvider value={chatContext}>\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n {isScrollEnabled ? (\n <ScrollView\n alwaysBounceVertical={false}\n contentContainerStyle={[\n styles.center,\n {\n paddingTop: reactionListHeight,\n },\n ]}\n showsVerticalScrollIndicator={false}\n style={[styles.flex, styles.scrollView]}\n >\n {renderContent()}\n </ScrollView>\n ) : (\n renderContent(messageTextNumberOfLines)\n )}\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n </ChatProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage?.latest_reactions) && Array.isArray(nextMessage?.latest_reactions)\n ? prevMessage?.latest_reactions.length === nextMessage?.latest_reactions.length &&\n prevMessage?.latest_reactions.every(\n ({ type }, index) => type === nextMessage?.latest_reactions?.[index].type,\n )\n : prevMessage?.latest_reactions === nextMessage?.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_MessageActionList","_OverlayReactionList","_OverlayReactionsAvatar","_ChatContext","_MessageContext","_MessageOverlayContext","_MessagesContext","_OverlayContext","_ThemeContext","_useViewport2","_MessageTextContainer","_OverlayReactions","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","styles","StyleSheet","create","alignEnd","alignItems","alignStart","center","flexGrow","justifyContent","containerInner","borderTopLeftRadius","borderTopRightRadius","borderWidth","overflow","flex","overlayPadding","padding","replyContainer","flexDirection","paddingHorizontal","paddingTop","row","scrollView","Platform","OS","DefaultMessageTextNumberOfLines","MessageOverlayWithContext","props","_message$user","alignment","ownCapabilities","clientId","files","groupStyles","handleReaction","images","chatContext","message","messageActions","_props$MessageActionL","MessageActionList","DefaultMessageActionList","MessageActionListItem","messageContext","messageReactionTitle","_props$messageTextNum","messageTextNumberOfLines","messagesContext","onlyEmojis","otherAttachments","overlay","overlayOpacity","_props$OverlayReactio","OverlayReactionList","OverlayReactionListDefault","_props$OverlayReactio2","OverlayReactions","DefaultOverlayReactions","_props$OverlayReactio3","OverlayReactionsAvatar","OverlayReactionsAvatarDefault","setOverlay","threadList","videos","isMyMessage","messageReactions","error","isThreadMessage","messageActionProps","_useTheme","useTheme","theme","_useViewport","useViewport","vh","vw","screenHeight","halfScreenHeight","myMessageTheme","wrapMessageInTheme","user","id","_useState","useState","_useState2","_slicedToArray2","reactionListHeight","setReactionListHeight","myMessageThemeString","useMemo","JSON","stringify","modifiedTheme","mergeThemes","style","_ref","_ref$colors","colors","blue_alice","grey_gainsboro","grey_whisper","transparent","white_smoke","_ref$messageSimple$co","messageSimple","content","_ref$messageSimple$co2","container","borderRadiusL","borderRadiusS","_ref$overlay","containerStyle","messageHeight","useSharedValue","messageLayout","x","y","messageWidth","offsetY","translateY","scale","showScreen","fadeScreen","value","withSpring","damping","mass","restDisplacementThreshold","restSpeedThreshold","stiffness","velocity","useEffect","Keyboard","dismiss","onPan","useAnimatedGestureHandler","onActive","evt","translationY","interpolate","Extrapolate","CLAMP","onFinish","finalYPosition","velocityY","cancelAnimation","withTiming","duration","easing","Easing","out","ease","runOnJS","withDecay","onStart","panStyle","useAnimatedStyle","transform","showScreenStyle","translateX","groupStyle","toLowerCase","hasThreadReplies","reply_count","_ref2","Attachment","FileAttachmentGroup","Gallery","MessageAvatar","Reply","renderContent","_message$own_reaction","_messagesContext$mess","createElement","TapGestureHandler","maxDist","onHandlerStateChange","_ref3","state","nativeEvent","State","END","__self","__source","fileName","lineNumber","columnNumber","View","sendReaction","ownReactionTypes","own_reactions","map","reaction","type","onLayout","_ref4","_ref4$nativeEvent$lay","layout","layoutHeight","height","layoutWidth","width","showAvatar","pointerEvents","backgroundColor","quoted_message","length","borderBottomLeftRadius","borderBottomRightRadius","borderColor","messageContentOrder","messageContentType","messageContentOrderIndex","quotedMessage","messageContainer","maxWidth","attachment","attachmentIndex","messageId","actions","MessageTextContainer","messageOverlay","_extends2","latest_reactions","reactions","_reaction$user","_reaction$user2","_reaction$user3","_reaction$user4","image","name","user_id","supportedReactions","title","isScrollEnabled","ChatProvider","MessagesProvider","MessageProvider","ThemeProvider","mergedStyle","absoluteFillObject","PanGestureHandler","enabled","maxPointers","minDist","onGestureEvent","SafeAreaView","ScrollView","alwaysBounceVertical","contentContainerStyle","showsVerticalScrollIndicator","areEqual","prevProps","nextProps","prevAlignment","prevMessage","prevMessageReactionTitle","nextAlignment","nextMessage","nextMessageReactionTitle","alignmentEqual","messageReactionTitleEqual","latestReactionsEqual","Array","isArray","every","_ref5","index","_nextMessage$latest_r","MemoizedMessageOverlay","React","memo","MessageOverlay","_useMessageOverlayCon","useMessageOverlayContext","data","_useOverlayContext","useOverlayContext","componentProps","exports"],"sources":["MessageOverlay.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { Keyboard, Platform, SafeAreaView, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n ScrollView,\n State,\n TapGestureHandler,\n} from 'react-native-gesture-handler';\nimport Animated, {\n cancelAnimation,\n Easing,\n Extrapolate,\n interpolate,\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useSharedValue,\n withDecay,\n withSpring,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { MessageActionList as DefaultMessageActionList } from './MessageActionList';\nimport { OverlayReactionList as OverlayReactionListDefault } from './OverlayReactionList';\nimport { OverlayReactionsAvatar as OverlayReactionsAvatarDefault } from './OverlayReactionsAvatar';\n\nimport { ChatProvider } from '../../contexts/chatContext/ChatContext';\nimport { MessageProvider } from '../../contexts/messageContext/MessageContext';\nimport {\n MessageOverlayContextValue,\n MessageOverlayData,\n useMessageOverlayContext,\n} from '../../contexts/messageOverlayContext/MessageOverlayContext';\n\nimport { MessagesProvider } from '../../contexts/messagesContext/MessagesContext';\nimport {\n OverlayContextValue,\n OverlayProviderProps,\n useOverlayContext,\n} from '../../contexts/overlayContext/OverlayContext';\nimport { mergeThemes, ThemeProvider, useTheme } from '../../contexts/themeContext/ThemeContext';\n\nimport { useViewport } from '../../hooks/useViewport';\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport { MessageTextContainer } from '../Message/MessageSimple/MessageTextContainer';\nimport {\n OverlayReactions as DefaultOverlayReactions,\n Reaction,\n} from '../MessageOverlay/OverlayReactions';\nimport type { ReplyProps } from '../Reply/Reply';\n\nconst styles = StyleSheet.create({\n alignEnd: { alignItems: 'flex-end' },\n alignStart: { alignItems: 'flex-start' },\n center: {\n flexGrow: 1,\n justifyContent: 'center',\n },\n containerInner: {\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n borderWidth: 1,\n overflow: 'hidden',\n },\n flex: {\n flex: 1,\n },\n overlayPadding: {\n padding: 8,\n },\n replyContainer: {\n flexDirection: 'row',\n paddingHorizontal: 8,\n paddingTop: 8,\n },\n row: { flexDirection: 'row' },\n scrollView: { overflow: Platform.OS === 'ios' ? 'visible' : 'scroll' },\n});\n\nconst DefaultMessageTextNumberOfLines = 5;\n\nexport type MessageOverlayPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageOverlayContextValue<StreamChatGenerics>,\n | 'MessageActionList'\n | 'MessageActionListItem'\n | 'OverlayReactionList'\n | 'OverlayReactions'\n | 'OverlayReactionsAvatar'\n> &\n Omit<MessageOverlayData<StreamChatGenerics>, 'supportedReactions'> &\n Pick<OverlayContextValue, 'overlay' | 'setOverlay'> &\n Pick<\n OverlayProviderProps<StreamChatGenerics>,\n | 'error'\n | 'isMyMessage'\n | 'isThreadMessage'\n | 'message'\n | 'messageReactions'\n | 'messageTextNumberOfLines'\n > & {\n overlayOpacity: Animated.SharedValue<number>;\n showScreen?: Animated.SharedValue<number>;\n };\n\nconst MessageOverlayWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n ownCapabilities,\n clientId,\n files,\n groupStyles,\n handleReaction,\n images,\n chatContext,\n message,\n messageActions,\n MessageActionList = DefaultMessageActionList,\n MessageActionListItem,\n messageContext,\n messageReactionTitle,\n messageTextNumberOfLines = DefaultMessageTextNumberOfLines,\n messagesContext,\n onlyEmojis,\n otherAttachments,\n overlay,\n overlayOpacity,\n OverlayReactionList = OverlayReactionListDefault,\n OverlayReactions = DefaultOverlayReactions,\n OverlayReactionsAvatar = OverlayReactionsAvatarDefault,\n setOverlay,\n threadList,\n videos,\n isMyMessage,\n messageReactions,\n error,\n isThreadMessage,\n } = props;\n\n const messageActionProps = {\n error,\n isMyMessage,\n isThreadMessage,\n message,\n messageReactions,\n };\n\n const { theme } = useTheme();\n const { vh, vw } = useViewport();\n\n const screenHeight = vh(100);\n const halfScreenHeight = vh(50);\n\n const myMessageTheme = messagesContext?.myMessageTheme;\n const wrapMessageInTheme = clientId === message?.user?.id && !!myMessageTheme;\n\n const [reactionListHeight, setReactionListHeight] = useState(0);\n\n const myMessageThemeString = useMemo(() => JSON.stringify(myMessageTheme), [myMessageTheme]);\n\n const modifiedTheme = useMemo(\n () => mergeThemes({ style: myMessageTheme, theme }),\n [myMessageThemeString, theme],\n );\n\n const {\n colors: { blue_alice, grey_gainsboro, grey_whisper, transparent, white_smoke },\n messageSimple: {\n content: {\n container: { borderRadiusL, borderRadiusS },\n containerInner,\n replyContainer,\n },\n },\n overlay: { container: containerStyle, padding: overlayPadding },\n } = wrapMessageInTheme ? modifiedTheme : theme;\n\n const messageHeight = useSharedValue(0);\n const messageLayout = useSharedValue({ x: 0, y: 0 });\n const messageWidth = useSharedValue(0);\n\n const offsetY = useSharedValue(0);\n const translateY = useSharedValue(0);\n const scale = useSharedValue(1);\n\n const showScreen = useSharedValue(0);\n const fadeScreen = () => {\n 'worklet';\n\n offsetY.value = 0;\n translateY.value = 0;\n scale.value = 1;\n showScreen.value = withSpring(1, {\n damping: 600,\n mass: 0.5,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n stiffness: 200,\n velocity: 32,\n });\n };\n\n useEffect(() => {\n Keyboard.dismiss();\n fadeScreen();\n }, []);\n\n const onPan = useAnimatedGestureHandler<PanGestureHandlerGestureEvent>({\n onActive: (evt) => {\n translateY.value = offsetY.value + evt.translationY;\n overlayOpacity.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.75],\n Extrapolate.CLAMP,\n );\n scale.value = interpolate(\n translateY.value,\n [0, halfScreenHeight],\n [1, 0.85],\n Extrapolate.CLAMP,\n );\n },\n onFinish: (evt) => {\n const finalYPosition = evt.translationY + evt.velocityY * 0.1;\n\n if (finalYPosition > halfScreenHeight && translateY.value > 0) {\n cancelAnimation(translateY);\n overlayOpacity.value = withTiming(\n 0,\n {\n duration: 200,\n easing: Easing.out(Easing.ease),\n },\n () => {\n runOnJS(setOverlay)('none');\n },\n );\n translateY.value =\n evt.velocityY > 1000\n ? withDecay({\n velocity: evt.velocityY,\n })\n : withTiming(screenHeight, {\n duration: 200,\n easing: Easing.out(Easing.ease),\n });\n } else {\n translateY.value = withTiming(0);\n scale.value = withTiming(1);\n overlayOpacity.value = withTiming(1);\n }\n },\n onStart: () => {\n cancelAnimation(translateY);\n offsetY.value = translateY.value;\n },\n });\n\n const panStyle = useAnimatedStyle<ViewStyle>(() => ({\n transform: [\n {\n translateY: translateY.value,\n },\n {\n scale: scale.value,\n },\n ],\n }));\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [messageHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [alignment === 'left' ? -messageWidth.value / 2 : messageWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [alignment],\n );\n\n const groupStyle = `${alignment}_${(groupStyles?.[0] || 'bottom').toLowerCase()}`;\n\n const hasThreadReplies = !!message?.reply_count;\n\n const { Attachment, FileAttachmentGroup, Gallery, MessageAvatar, Reply } = messagesContext || {};\n\n const renderContent = (messageTextNumberOfLines?: number) => (\n <TapGestureHandler\n maxDist={32}\n onHandlerStateChange={({ nativeEvent: { state } }) => {\n if (state === State.END) {\n setOverlay('none');\n }\n }}\n >\n <Animated.View style={[styles.flex, panStyle]}>\n {message && (\n <View\n style={[\n styles.center,\n styles.overlayPadding,\n { padding: overlayPadding },\n alignment === 'left' ? styles.alignStart : styles.alignEnd,\n ]}\n >\n {handleReaction && ownCapabilities?.sendReaction ? (\n <OverlayReactionList\n messageLayout={messageLayout}\n ownReactionTypes={message?.own_reactions?.map((reaction) => reaction.type) || []}\n setReactionListHeight={setReactionListHeight}\n showScreen={showScreen}\n />\n ) : null}\n <Animated.View\n onLayout={({\n nativeEvent: {\n layout: { height: layoutHeight, width: layoutWidth, x, y },\n },\n }) => {\n messageLayout.value = {\n x: alignment === 'left' ? x + layoutWidth : x,\n y,\n };\n messageWidth.value = layoutWidth;\n messageHeight.value = layoutHeight;\n }}\n style={[styles.alignEnd, styles.row, showScreenStyle]}\n >\n {alignment === 'left' && MessageAvatar && (\n <MessageAvatar {...{ alignment, message, showAvatar: true }} />\n )}\n <View\n pointerEvents='none'\n style={[\n styles.containerInner,\n {\n backgroundColor:\n onlyEmojis && !message.quoted_message\n ? transparent\n : otherAttachments?.length\n ? otherAttachments[0].type === 'giphy'\n ? !message.quoted_message\n ? transparent\n : grey_gainsboro\n : blue_alice\n : alignment === 'left'\n ? white_smoke\n : grey_gainsboro,\n borderBottomLeftRadius:\n (groupStyle === 'left_bottom' || groupStyle === 'left_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderBottomRightRadius:\n (groupStyle === 'right_bottom' || groupStyle === 'right_single') &&\n (!hasThreadReplies || threadList)\n ? borderRadiusS\n : borderRadiusL,\n borderColor: grey_whisper,\n },\n (onlyEmojis && !message.quoted_message) || otherAttachments?.length\n ? { borderWidth: 0 }\n : {},\n containerInner,\n ]}\n >\n {messagesContext?.messageContentOrder?.map(\n (messageContentType, messageContentOrderIndex) => {\n switch (messageContentType) {\n case 'quoted_reply':\n return (\n message.quoted_message &&\n Reply && (\n <View\n key={`quoted_reply_${messageContentOrderIndex}`}\n style={[styles.replyContainer, replyContainer]}\n >\n <Reply\n quotedMessage={\n message.quoted_message as ReplyProps<StreamChatGenerics>['quotedMessage']\n }\n styles={{\n messageContainer: {\n maxWidth: vw(60),\n },\n }}\n />\n </View>\n )\n );\n case 'attachments':\n return otherAttachments?.map(\n (attachment, attachmentIndex) =>\n Attachment && (\n <Attachment\n attachment={attachment}\n key={`${message.id}-${attachmentIndex}`}\n />\n ),\n );\n case 'files':\n return (\n FileAttachmentGroup && (\n <FileAttachmentGroup\n files={files}\n key={`file_attachment_group_${messageContentOrderIndex}`}\n messageId={message.id}\n />\n )\n );\n case 'gallery':\n return (\n Gallery && (\n <Gallery\n alignment={alignment}\n groupStyles={groupStyles}\n hasThreadReplies={!!message?.reply_count}\n images={images}\n key={`gallery_${messageContentOrderIndex}`}\n message={message}\n threadList={threadList}\n videos={videos}\n />\n )\n );\n case 'text':\n default:\n return otherAttachments?.length && otherAttachments[0].actions ? null : (\n <MessageTextContainer<StreamChatGenerics>\n key={`message_text_container_${messageContentOrderIndex}`}\n message={message}\n messageOverlay\n messageTextNumberOfLines={messageTextNumberOfLines}\n onlyEmojis={onlyEmojis}\n />\n );\n }\n },\n )}\n </View>\n </Animated.View>\n {messageActions && (\n <MessageActionList\n MessageActionListItem={MessageActionListItem}\n showScreen={showScreen}\n {...messageActionProps}\n message={message}\n />\n )}\n {!!messageReactionTitle &&\n message.latest_reactions &&\n message.latest_reactions.length > 0 ? (\n <OverlayReactions\n alignment={alignment}\n OverlayReactionsAvatar={OverlayReactionsAvatar}\n reactions={\n message.latest_reactions.map((reaction) => ({\n alignment: clientId && clientId === reaction.user?.id ? 'right' : 'left',\n id: reaction?.user?.id || '',\n image: reaction?.user?.image,\n name: reaction?.user?.name || reaction.user_id || '',\n type: reaction.type,\n })) as Reaction[]\n }\n showScreen={showScreen}\n supportedReactions={messagesContext?.supportedReactions}\n title={messageReactionTitle}\n />\n ) : null}\n </View>\n )}\n </Animated.View>\n </TapGestureHandler>\n );\n\n // Scroll will only be enabled for message overlay when we show actions.\n // When we show the reactions, we don't want to enable scroll since OverlayReactions component\n // in itself is scrollable (FlatList). FlatList inside a ScrollView is not a good idea and results in error from RN.\n const isScrollEnabled = !!messageActions && overlay === 'message';\n\n return (\n <ChatProvider value={chatContext}>\n <MessagesProvider value={messagesContext}>\n <MessageProvider value={messageContext}>\n <ThemeProvider mergedStyle={wrapMessageInTheme ? modifiedTheme : theme}>\n <Animated.View\n pointerEvents={'auto'}\n style={[StyleSheet.absoluteFillObject, containerStyle]}\n >\n <PanGestureHandler\n enabled={overlay === 'message'}\n maxPointers={1}\n minDist={10}\n onGestureEvent={onPan}\n >\n <Animated.View style={[StyleSheet.absoluteFillObject]}>\n <SafeAreaView style={styles.flex}>\n {isScrollEnabled ? (\n <ScrollView\n alwaysBounceVertical={false}\n contentContainerStyle={[\n styles.center,\n {\n paddingTop: reactionListHeight,\n },\n ]}\n showsVerticalScrollIndicator={false}\n style={[styles.flex, styles.scrollView]}\n >\n {renderContent()}\n </ScrollView>\n ) : (\n renderContent(messageTextNumberOfLines)\n )}\n </SafeAreaView>\n </Animated.View>\n </PanGestureHandler>\n </Animated.View>\n </ThemeProvider>\n </MessageProvider>\n </MessagesProvider>\n </ChatProvider>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n nextProps: MessageOverlayPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment: prevAlignment,\n message: prevMessage,\n messageReactionTitle: prevMessageReactionTitle,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n } = nextProps;\n\n const alignmentEqual = prevAlignment === nextAlignment;\n if (!alignmentEqual) return false;\n\n const messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;\n if (!messageReactionTitleEqual) return false;\n\n const latestReactionsEqual =\n Array.isArray(prevMessage?.latest_reactions) && Array.isArray(nextMessage?.latest_reactions)\n ? prevMessage?.latest_reactions.length === nextMessage?.latest_reactions.length &&\n prevMessage?.latest_reactions.every(\n ({ type }, index) => type === nextMessage?.latest_reactions?.[index].type,\n )\n : prevMessage?.latest_reactions === nextMessage?.latest_reactions;\n if (!latestReactionsEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageOverlay = React.memo(\n MessageOverlayWithContext,\n areEqual,\n) as typeof MessageOverlayWithContext;\n\nexport type MessageOverlayProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<Omit<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'>> &\n Pick<MessageOverlayPropsWithContext<StreamChatGenerics>, 'overlayOpacity'> &\n Pick<\n MessageOverlayPropsWithContext<StreamChatGenerics>,\n 'isMyMessage' | 'error' | 'isThreadMessage' | 'message' | 'messageReactions'\n >;\n\n/**\n * MessageOverlay - A high level component which implements all the logic required for a message overlay\n */\nexport const MessageOverlay = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageOverlayProps<StreamChatGenerics>,\n) => {\n const {\n data,\n MessageActionList,\n MessageActionListItem,\n OverlayReactionList,\n OverlayReactions,\n OverlayReactionsAvatar,\n } = useMessageOverlayContext<StreamChatGenerics>();\n const { overlay, setOverlay } = useOverlayContext();\n\n const componentProps = {\n MessageActionList: props.MessageActionList || MessageActionList,\n MessageActionListItem: props.MessageActionListItem || MessageActionListItem,\n OverlayReactionList:\n props.OverlayReactionList || OverlayReactionList || data?.OverlayReactionList,\n OverlayReactions: props.OverlayReactions || OverlayReactions,\n OverlayReactionsAvatar: props.OverlayReactionsAvatar || OverlayReactionsAvatar,\n };\n\n return (\n <MemoizedMessageOverlay\n {...{\n overlay,\n setOverlay,\n }}\n {...componentProps}\n {...(data || {})}\n {...props}\n />\n );\n};\n"],"mappings":"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"}
|
package/lib/module/i18n/en.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"File type not supported": "File type not supported",
|
|
25
25
|
"Flag": "Flag",
|
|
26
26
|
"Flag Message": "Flag Message",
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "Flag action failed either due to a network issue or the message is already flagged",
|
|
28
28
|
"How about sending your first message to a friend?": "How about sending your first message to a friend?",
|
|
29
29
|
"Instant Commands": "Instant Commands",
|
|
30
30
|
"Let's start chatting!": "Let's start chatting!",
|
package/lib/module/i18n/fr.json
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
{
|
|
2
2
|
"1 Reply": "",
|
|
3
|
-
"1 Thread Reply": "",
|
|
3
|
+
"1 Thread Reply": "Réponse à 1 fil",
|
|
4
4
|
"Allow access to your Gallery": "",
|
|
5
5
|
"Allow camera access in device settings": "",
|
|
6
6
|
"Also send to channel": "Envoyer également à la chaîne",
|
|
7
|
-
"Are you sure you want to permanently delete this message?": "
|
|
8
|
-
"Block User": "
|
|
9
|
-
"Cancel": "
|
|
10
|
-
"Cannot Flag Message": "
|
|
11
|
-
"Copy Message": "
|
|
12
|
-
"Delete": "
|
|
13
|
-
"Delete Message": "
|
|
7
|
+
"Are you sure you want to permanently delete this message?": "",
|
|
8
|
+
"Block User": "",
|
|
9
|
+
"Cancel": "",
|
|
10
|
+
"Cannot Flag Message": "",
|
|
11
|
+
"Copy Message": "",
|
|
12
|
+
"Delete": "",
|
|
13
|
+
"Delete Message": "",
|
|
14
14
|
"Device camera is used to take photos or videos.": "",
|
|
15
|
-
"Do you want to send a copy of this message to a moderator for further investigation?": "
|
|
16
|
-
"Edit Message": "
|
|
15
|
+
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
16
|
+
"Edit Message": "",
|
|
17
17
|
"Editing Message": "",
|
|
18
|
-
"Emoji matching": "
|
|
18
|
+
"Emoji matching": "",
|
|
19
19
|
"Empty message...": "",
|
|
20
20
|
"Error loading": "",
|
|
21
21
|
"Error loading channel list...": "",
|
|
22
22
|
"Error loading messages for this channel...": "",
|
|
23
23
|
"Error while loading, please reload/refresh": "",
|
|
24
|
-
"File type not supported": "
|
|
25
|
-
"Flag": "
|
|
26
|
-
"Flag Message": "
|
|
27
|
-
"Flag action failed either due to a network issue or the message is already flagged": "
|
|
24
|
+
"File type not supported": "",
|
|
25
|
+
"Flag": "",
|
|
26
|
+
"Flag Message": "",
|
|
27
|
+
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
28
28
|
"How about sending your first message to a friend?": "",
|
|
29
|
-
"Instant Commands": "
|
|
29
|
+
"Instant Commands": "",
|
|
30
30
|
"Let's start chatting!": "",
|
|
31
|
-
"Links are disabled": "",
|
|
32
|
-
"Loading channels...": "
|
|
33
|
-
"Loading messages...": "
|
|
34
|
-
"Loading...": "
|
|
35
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
36
|
-
"Message Reactions": "
|
|
31
|
+
"Links are disabled": "Links are disabled",
|
|
32
|
+
"Loading channels...": "",
|
|
33
|
+
"Loading messages...": "",
|
|
34
|
+
"Loading...": "",
|
|
35
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "Taille maximale de téléchargement de fichier atteinte. Veuillez télécharger un fichier inférieur à {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} Mo.",
|
|
36
|
+
"Message Reactions": "",
|
|
37
37
|
"Message deleted": "",
|
|
38
|
-
"Message flagged": "
|
|
39
|
-
"Mute User": "
|
|
38
|
+
"Message flagged": "",
|
|
39
|
+
"Mute User": "",
|
|
40
40
|
"Not supported": "",
|
|
41
41
|
"Nothing yet...": "",
|
|
42
|
-
"Ok": "
|
|
42
|
+
"Ok": "",
|
|
43
43
|
"Only visible to you": "Seulement visible par vous",
|
|
44
44
|
"Open Settings": "",
|
|
45
|
-
"Photo": "
|
|
45
|
+
"Photo": "",
|
|
46
46
|
"Photos and Videos": "",
|
|
47
|
-
"Pin to Conversation": "
|
|
47
|
+
"Pin to Conversation": "",
|
|
48
48
|
"Pinned by": "Épinglé par",
|
|
49
49
|
"Please enable access to your photos and videos so you can share them.": "",
|
|
50
|
-
"Please select a channel first": "",
|
|
50
|
+
"Please select a channel first": "Veuillez d'abord selectionnez un canal",
|
|
51
51
|
"Reconnecting...": "",
|
|
52
|
-
"Reply": "
|
|
52
|
+
"Reply": "",
|
|
53
53
|
"Reply to Message": "",
|
|
54
|
-
"Resend": "
|
|
55
|
-
"Search GIFs": "
|
|
54
|
+
"Resend": "",
|
|
55
|
+
"Search GIFs": "",
|
|
56
56
|
"Select More Photos": "",
|
|
57
|
-
"Send a message": "
|
|
58
|
-
"Sending links is not allowed in this conversation": "",
|
|
59
|
-
"Slow mode ON": "
|
|
60
|
-
"The message has been reported to a moderator.": "
|
|
61
|
-
"Thread Reply": "
|
|
62
|
-
"Unblock User": "
|
|
57
|
+
"Send a message": "",
|
|
58
|
+
"Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
|
|
59
|
+
"Slow mode ON": "",
|
|
60
|
+
"The message has been reported to a moderator.": "",
|
|
61
|
+
"Thread Reply": "",
|
|
62
|
+
"Unblock User": "",
|
|
63
63
|
"Unknown User": "",
|
|
64
|
-
"Unmute User": "
|
|
65
|
-
"Unpin from Conversation": "
|
|
66
|
-
"Unread Messages": "",
|
|
67
|
-
"Video": "
|
|
64
|
+
"Unmute User": "",
|
|
65
|
+
"Unpin from Conversation": "",
|
|
66
|
+
"Unread Messages": "Messages non lus",
|
|
67
|
+
"Video": "",
|
|
68
68
|
"You": "",
|
|
69
|
-
"You can't send messages in this channel": "
|
|
70
|
-
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "
|
|
69
|
+
"You can't send messages in this channel": "",
|
|
70
|
+
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
71
71
|
"{{ index }} of {{ photoLength }}": "",
|
|
72
72
|
"{{ replyCount }} Replies": "",
|
|
73
|
-
"{{ replyCount }} Thread Replies": "",
|
|
74
|
-
"{{ user }} is typing": "
|
|
73
|
+
"{{ replyCount }} Thread Replies": "{{replyCount}} Réponses à la discussion",
|
|
74
|
+
"{{ user }} is typing": "",
|
|
75
75
|
"🏙 Attachment...": ""
|
|
76
76
|
}
|