stream-chat-react-native-core 5.24.0-beta.5 → 5.24.0-beta.6
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/Attachment/Attachment.js +22 -14
- package/lib/commonjs/components/Attachment/Attachment.js.map +1 -1
- package/lib/commonjs/components/Attachment/Card.js +11 -4
- package/lib/commonjs/components/Attachment/Card.js.map +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +24 -16
- package/lib/commonjs/components/Attachment/Gallery.js.map +1 -1
- package/lib/commonjs/components/Message/Message.js +14 -7
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +22 -16
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +14 -8
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +10 -4
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js +6 -1
- package/lib/commonjs/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +9 -3
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +2 -2
- package/lib/commonjs/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/commonjs/i18n/fr.json +24 -24
- package/lib/commonjs/i18n/hi.json +24 -24
- package/lib/commonjs/i18n/it.json +24 -24
- package/lib/commonjs/i18n/nl.json +24 -24
- package/lib/commonjs/i18n/ru.json +24 -24
- package/lib/commonjs/i18n/tr.json +24 -24
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +22 -14
- package/lib/module/components/Attachment/Attachment.js.map +1 -1
- package/lib/module/components/Attachment/Card.js +11 -4
- package/lib/module/components/Attachment/Card.js.map +1 -1
- package/lib/module/components/Attachment/Gallery.js +24 -16
- package/lib/module/components/Attachment/Gallery.js.map +1 -1
- package/lib/module/components/Message/Message.js +14 -7
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +22 -16
- package/lib/module/components/Message/MessageSimple/MessageContent.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +14 -8
- package/lib/module/components/Message/MessageSimple/MessageSimple.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +10 -4
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js.map +1 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js +6 -1
- package/lib/module/components/Message/hooks/useCreateMessageContext.js.map +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +9 -3
- package/lib/module/components/MessageOverlay/MessageOverlay.js.map +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +2 -2
- package/lib/module/contexts/messageContext/MessageContext.js.map +1 -1
- package/lib/module/i18n/fr.json +24 -24
- package/lib/module/i18n/hi.json +24 -24
- package/lib/module/i18n/it.json +24 -24
- package/lib/module/i18n/nl.json +24 -24
- package/lib/module/i18n/ru.json +24 -24
- package/lib/module/i18n/tr.json +24 -24
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Attachment/Attachment.d.ts +2 -2
- package/lib/typescript/components/Attachment/Card.d.ts +2 -2
- package/lib/typescript/components/Attachment/Gallery.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageContent.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageSimple.d.ts +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageTextContainer.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useCreateMessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +8 -2
- package/lib/typescript/i18n/fr.json +24 -24
- package/lib/typescript/i18n/hi.json +24 -24
- package/lib/typescript/i18n/it.json +24 -24
- package/lib/typescript/i18n/nl.json +24 -24
- package/lib/typescript/i18n/ru.json +24 -24
- package/lib/typescript/i18n/tr.json +24 -24
- package/package.json +1 -1
- package/src/components/Attachment/Attachment.tsx +16 -2
- package/src/components/Attachment/Card.tsx +22 -4
- package/src/components/Attachment/Gallery.tsx +11 -0
- package/src/components/Message/Message.tsx +9 -0
- package/src/components/Message/MessageSimple/MessageContent.tsx +9 -0
- package/src/components/Message/MessageSimple/MessageSimple.tsx +9 -0
- package/src/components/Message/MessageSimple/MessageTextContainer.tsx +12 -2
- package/src/components/Message/hooks/useCreateMessageContext.ts +4 -0
- package/src/components/MessageOverlay/MessageOverlay.tsx +8 -0
- package/src/contexts/messageContext/MessageContext.tsx +7 -1
- package/src/i18n/fr.json +24 -24
- package/src/i18n/hi.json +24 -24
- package/src/i18n/it.json +24 -24
- package/src/i18n/nl.json +24 -24
- package/src/i18n/ru.json +24 -24
- package/src/i18n/tr.json +24 -24
- package/src/version.json +1 -1
|
@@ -534,14 +534,20 @@ var MessageOverlayWithContext = function MessageOverlayWithContext(props) {
|
|
|
534
534
|
var areEqual = function areEqual(prevProps, nextProps) {
|
|
535
535
|
var prevAlignment = prevProps.alignment,
|
|
536
536
|
prevMessage = prevProps.message,
|
|
537
|
-
prevMessageReactionTitle = prevProps.messageReactionTitle
|
|
537
|
+
prevMessageReactionTitle = prevProps.messageReactionTitle,
|
|
538
|
+
prevMessagesContext = prevProps.messagesContext;
|
|
538
539
|
var nextAlignment = nextProps.alignment,
|
|
539
540
|
nextMessage = nextProps.message,
|
|
540
|
-
nextMessageReactionTitle = nextProps.messageReactionTitle
|
|
541
|
+
nextMessageReactionTitle = nextProps.messageReactionTitle,
|
|
542
|
+
nextMessagesContext = nextProps.messagesContext;
|
|
541
543
|
var alignmentEqual = prevAlignment === nextAlignment;
|
|
542
544
|
if (!alignmentEqual) return false;
|
|
543
545
|
var messageReactionTitleEqual = prevMessageReactionTitle === nextMessageReactionTitle;
|
|
544
546
|
if (!messageReactionTitleEqual) return false;
|
|
547
|
+
var prevMyMessageTheme = JSON.stringify(prevMessagesContext == null ? void 0 : prevMessagesContext.myMessageTheme);
|
|
548
|
+
var nextMyMessageTheme = JSON.stringify(nextMessagesContext == null ? void 0 : nextMessagesContext.myMessageTheme);
|
|
549
|
+
var myMessageThemeEqual = prevMyMessageTheme === nextMyMessageTheme;
|
|
550
|
+
if (!myMessageThemeEqual) return false;
|
|
545
551
|
var latestReactionsEqual = Array.isArray(prevMessage == null ? void 0 : prevMessage.latest_reactions) && Array.isArray(nextMessage == null ? void 0 : nextMessage.latest_reactions) ? (prevMessage == null ? void 0 : prevMessage.latest_reactions.length) === (nextMessage == null ? void 0 : nextMessage.latest_reactions.length) && (prevMessage == null ? void 0 : prevMessage.latest_reactions.every(function (_ref5, index) {
|
|
546
552
|
var _nextMessage$latest_r;
|
|
547
553
|
var type = _ref5.type;
|
|
@@ -576,7 +582,7 @@ var MessageOverlay = function MessageOverlay(props) {
|
|
|
576
582
|
__self: _this,
|
|
577
583
|
__source: {
|
|
578
584
|
fileName: _jsxFileName,
|
|
579
|
-
lineNumber:
|
|
585
|
+
lineNumber: 626,
|
|
580
586
|
columnNumber: 5
|
|
581
587
|
}
|
|
582
588
|
}));
|
|
@@ -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","_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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"}
|
|
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","prevMessagesContext","nextAlignment","nextMessage","nextMessageReactionTitle","nextMessagesContext","alignmentEqual","messageReactionTitleEqual","prevMyMessageTheme","nextMyMessageTheme","myMessageThemeEqual","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 messagesContext: prevMessagesContext,\n } = prevProps;\n const {\n alignment: nextAlignment,\n message: nextMessage,\n messageReactionTitle: nextMessageReactionTitle,\n messagesContext: nextMessagesContext,\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 prevMyMessageTheme = JSON.stringify(prevMessagesContext?.myMessageTheme);\n const nextMyMessageTheme = JSON.stringify(nextMessagesContext?.myMessageTheme);\n\n const myMessageThemeEqual = prevMyMessageTheme === nextMyMessageTheme;\n if (!myMessageThemeEqual) 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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"}
|
|
@@ -22,7 +22,7 @@ var MessageProvider = function MessageProvider(_ref) {
|
|
|
22
22
|
__self: _this,
|
|
23
23
|
__source: {
|
|
24
24
|
fileName: _jsxFileName,
|
|
25
|
-
lineNumber:
|
|
25
|
+
lineNumber: 125,
|
|
26
26
|
columnNumber: 3
|
|
27
27
|
}
|
|
28
28
|
}, children);
|
|
@@ -40,7 +40,7 @@ var withMessageContext = function withMessageContext(Component) {
|
|
|
40
40
|
__self: _this,
|
|
41
41
|
__source: {
|
|
42
42
|
fileName: _jsxFileName,
|
|
43
|
-
lineNumber:
|
|
43
|
+
lineNumber: 156,
|
|
44
44
|
columnNumber: 12
|
|
45
45
|
}
|
|
46
46
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_defaultBaseContextValue","_getDisplayName","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","exports","MessageProvider","_ref","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","useMessageContext","contextValue","useContext","withMessageContext","Component","WithMessageContextComponent","props","messageContext","_extends2","displayName","getDisplayName"],"sources":["MessageContext.tsx"],"sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport type { Attachment } from 'stream-chat';\n\nimport type { ActionHandler } from '../../components/Attachment/Attachment';\nimport type {\n MessageTouchableHandlerPayload,\n TouchableHandlerPayload,\n} from '../../components/Message/Message';\nimport type { GroupType, MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport type { ChannelContextValue } from '../../contexts/channelContext/ChannelContext';\nimport type { MessageContentType } from '../../contexts/messagesContext/MessagesContext';\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type Alignment = 'right' | 'left';\n\nexport type Reactions = {\n own: boolean;\n type: string;\n}[];\n\nexport type MessageContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /** Whether or not actions can be performed on message */\n actionsEnabled: boolean;\n /** Position of the message, either 'right' or 'left' */\n alignment: Alignment;\n /** The files attached to a message */\n files: Attachment<StreamChatGenerics>[];\n /**\n * Position of message in group - top, bottom, middle, single.\n *\n * Message group is a group of consecutive messages from same user. groupStyles can be used to style message as per their position in message group\n * e.g., user avatar (to which message belongs to) is only showed for last (bottom) message in group.\n */\n groupStyles: GroupType[];\n /** Handler for actions. Actions in combination with attachments can be used to build [commands](https://getstream.io/chat/docs/#channel_commands). */\n handleAction: ActionHandler;\n handleDeleteMessage: () => Promise<void>;\n handleEditMessage: () => void;\n handleQuotedReplyMessage: () => void;\n handleResendMessage: () => Promise<void>;\n handleToggleBanUser: () => Promise<void>;\n handleToggleMuteUser: () => Promise<void>;\n handleToggleReaction: (reactionType: string) => Promise<void>;\n /** Whether or not message has reactions */\n hasReactions: boolean;\n /** The images attached to a message */\n images: Attachment<StreamChatGenerics>[];\n /** Whether or not this is the active user's message */\n isMyMessage: boolean;\n /** Whether or not this is the last message in a group of messages */\n lastGroupMessage: boolean;\n /** Current [message object](https://getstream.io/chat/docs/#message_format) */\n message: MessageType<StreamChatGenerics>;\n /** Order to render the message content */\n messageContentOrder: MessageContentType[];\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param payload Payload object for onLongPress event\n */\n onLongPress: (payload: TouchableHandlerPayload) => void;\n /** Whether the message is only text and the text is only emojis */\n onlyEmojis: boolean;\n /** Handler to open a thread on a message */\n onOpenThread: () => void;\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param payload Payload object for onPress event\n */\n onPress: (payload: MessageTouchableHandlerPayload) => void;\n onPressIn: ((payload: TouchableHandlerPayload) => void) | null;\n /** The images attached to a message */\n otherAttachments: Attachment<StreamChatGenerics>[];\n reactions: Reactions;\n showMessageOverlay: (messageReactions?: boolean) => void;\n showMessageStatus: boolean;\n /** Whether or not the Message is part of a Thread */\n threadList: boolean;\n /** The videos attached to a message */\n videos: Attachment<StreamChatGenerics>[];\n goToMessage?: (messageId: string) => void;\n /** Latest message id on current channel */\n lastReceivedId?: string;\n /** Prevent message being pressed for image viewer view */\n preventPress?: boolean;\n /** Whether or not the avatar show show next to Message */\n showAvatar?: boolean;\n} & Pick<ChannelContextValue<StreamChatGenerics>, 'channel' | 'disabled' | 'members'>;\n\nexport const MessageContext = React.createContext(\n DEFAULT_BASE_CONTEXT_VALUE as MessageContextValue,\n);\n\nexport const MessageProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: MessageContextValue<StreamChatGenerics>;\n}>) => (\n <MessageContext.Provider value={value as unknown as MessageContextValue}>\n {children}\n </MessageContext.Provider>\n);\n\nexport const useMessageContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageContext,\n ) as unknown as MessageContextValue<StreamChatGenerics>;\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if MessageContext\n * typing is desired while using the HOC withMessageContextContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageContextValue<StreamChatGenerics>>> => {\n const WithMessageContextComponent = (\n props: Omit<P, keyof MessageContextValue<StreamChatGenerics>>,\n ) => {\n const messageContext = useMessageContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...messageContext} />;\n };\n WithMessageContextComponent.displayName = `WithMessageContext${getDisplayName(Component)}`;\n return WithMessageContextComponent;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_defaultBaseContextValue","_getDisplayName","_this","_jsxFileName","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MessageContext","React","createContext","DEFAULT_BASE_CONTEXT_VALUE","exports","MessageProvider","_ref","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","useMessageContext","contextValue","useContext","withMessageContext","Component","WithMessageContextComponent","props","messageContext","_extends2","displayName","getDisplayName"],"sources":["MessageContext.tsx"],"sourcesContent":["import React, { PropsWithChildren, useContext } from 'react';\n\nimport type { Attachment } from 'stream-chat';\n\nimport type { ActionHandler } from '../../components/Attachment/Attachment';\nimport type {\n MessageTouchableHandlerPayload,\n TouchableHandlerPayload,\n} from '../../components/Message/Message';\nimport type { GroupType, MessageType } from '../../components/MessageList/hooks/useMessageList';\nimport type { ChannelContextValue } from '../../contexts/channelContext/ChannelContext';\nimport type { MessageContentType } from '../../contexts/messagesContext/MessagesContext';\nimport type { DeepPartial } from '../../contexts/themeContext/ThemeContext';\nimport type { Theme } from '../../contexts/themeContext/utils/theme';\nimport type { DefaultStreamChatGenerics, UnknownType } from '../../types/types';\nimport { DEFAULT_BASE_CONTEXT_VALUE } from '../utils/defaultBaseContextValue';\n\nimport { getDisplayName } from '../utils/getDisplayName';\n\nexport type Alignment = 'right' | 'left';\n\nexport type Reactions = {\n own: boolean;\n type: string;\n}[];\n\nexport type MessageContextValue<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = {\n /** Whether or not actions can be performed on message */\n actionsEnabled: boolean;\n /** Position of the message, either 'right' or 'left' */\n alignment: Alignment;\n /** The files attached to a message */\n files: Attachment<StreamChatGenerics>[];\n /**\n * Position of message in group - top, bottom, middle, single.\n *\n * Message group is a group of consecutive messages from same user. groupStyles can be used to style message as per their position in message group\n * e.g., user avatar (to which message belongs to) is only showed for last (bottom) message in group.\n */\n groupStyles: GroupType[];\n /** Handler for actions. Actions in combination with attachments can be used to build [commands](https://getstream.io/chat/docs/#channel_commands). */\n handleAction: ActionHandler;\n handleDeleteMessage: () => Promise<void>;\n handleEditMessage: () => void;\n handleQuotedReplyMessage: () => void;\n handleResendMessage: () => Promise<void>;\n handleToggleBanUser: () => Promise<void>;\n handleToggleMuteUser: () => Promise<void>;\n handleToggleReaction: (reactionType: string) => Promise<void>;\n /** Whether or not message has reactions */\n hasReactions: boolean;\n /** The images attached to a message */\n images: Attachment<StreamChatGenerics>[];\n /** Whether or not this is the active user's message */\n isMyMessage: boolean;\n /** Whether or not this is the last message in a group of messages */\n lastGroupMessage: boolean;\n /** Current [message object](https://getstream.io/chat/docs/#message_format) */\n message: MessageType<StreamChatGenerics>;\n /** Order to render the message content */\n messageContentOrder: MessageContentType[];\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we show the overlay with all the message actions on long press.\n *\n * @param payload Payload object for onLongPress event\n */\n onLongPress: (payload: TouchableHandlerPayload) => void;\n /** Whether the message is only text and the text is only emojis */\n onlyEmojis: boolean;\n /** Handler to open a thread on a message */\n onOpenThread: () => void;\n /**\n * You can call methods available on the Message\n * component such as handleEdit, handleDelete, handleAction etc.\n *\n * Source - [Message](https://github.com/GetStream/stream-chat-react-native/blob/main/package/src/components/Message/Message.tsx)\n *\n * By default, we will dismiss the keyboard on press.\n *\n * @param payload Payload object for onPress event\n */\n onPress: (payload: MessageTouchableHandlerPayload) => void;\n onPressIn: ((payload: TouchableHandlerPayload) => void) | null;\n /** The images attached to a message */\n otherAttachments: Attachment<StreamChatGenerics>[];\n reactions: Reactions;\n showMessageOverlay: (messageReactions?: boolean, error?: boolean) => void;\n showMessageStatus: boolean;\n /** Whether or not the Message is part of a Thread */\n threadList: boolean;\n /** The videos attached to a message */\n videos: Attachment<StreamChatGenerics>[];\n goToMessage?: (messageId: string) => void;\n /** Latest message id on current channel */\n lastReceivedId?: string;\n /**\n * Theme provided only to messages that are the current users\n */\n myMessageTheme?: DeepPartial<Theme>;\n /** Prevent message being pressed for image viewer view */\n preventPress?: boolean;\n /** Whether or not the avatar show show next to Message */\n showAvatar?: boolean;\n} & Pick<ChannelContextValue<StreamChatGenerics>, 'channel' | 'disabled' | 'members'>;\n\nexport const MessageContext = React.createContext(\n DEFAULT_BASE_CONTEXT_VALUE as MessageContextValue,\n);\n\nexport const MessageProvider = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>({\n children,\n value,\n}: PropsWithChildren<{\n value?: MessageContextValue<StreamChatGenerics>;\n}>) => (\n <MessageContext.Provider value={value as unknown as MessageContextValue}>\n {children}\n </MessageContext.Provider>\n);\n\nexport const useMessageContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>() => {\n const contextValue = useContext(\n MessageContext,\n ) as unknown as MessageContextValue<StreamChatGenerics>;\n\n return contextValue;\n};\n\n/**\n * Typescript currently does not support partial inference so if MessageContext\n * typing is desired while using the HOC withMessageContextContext the Props for the\n * wrapped component must be provided as the first generic.\n */\nexport const withMessageContext = <\n P extends UnknownType,\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n Component: React.ComponentType<P>,\n): React.FC<Omit<P, keyof MessageContextValue<StreamChatGenerics>>> => {\n const WithMessageContextComponent = (\n props: Omit<P, keyof MessageContextValue<StreamChatGenerics>>,\n ) => {\n const messageContext = useMessageContext<StreamChatGenerics>();\n\n return <Component {...(props as P)} {...messageContext} />;\n };\n WithMessageContextComponent.displayName = `WithMessageContext${getDisplayName(Component)}`;\n return WithMessageContextComponent;\n};\n"],"mappings":"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"}
|
package/lib/module/i18n/fr.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"1 Reply": "
|
|
2
|
+
"1 Reply": "",
|
|
3
3
|
"1 Thread Reply": "",
|
|
4
|
-
"Allow access to your Gallery": "
|
|
5
|
-
"Allow camera access in device settings": "
|
|
6
|
-
"Also send to channel": "",
|
|
4
|
+
"Allow access to your Gallery": "",
|
|
5
|
+
"Allow camera access in device settings": "",
|
|
6
|
+
"Also send to channel": "Envoyer également à la chaîne",
|
|
7
7
|
"Are you sure you want to permanently delete this message?": "",
|
|
8
8
|
"Are you sure?": "",
|
|
9
9
|
"Block User": "",
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"Copy Message": "",
|
|
14
14
|
"Delete": "",
|
|
15
15
|
"Delete Message": "",
|
|
16
|
-
"Device camera is used to take photos or videos.": "
|
|
16
|
+
"Device camera is used to take photos or videos.": "",
|
|
17
17
|
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
18
18
|
"Edit Message": "",
|
|
19
19
|
"Editing Message": "Édite un message",
|
|
20
|
-
"Emoji matching": "
|
|
20
|
+
"Emoji matching": "",
|
|
21
21
|
"Empty message...": "",
|
|
22
22
|
"Error loading": "",
|
|
23
23
|
"Error loading channel list...": "",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
"Flag Message": "",
|
|
29
29
|
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
30
30
|
"How about sending your first message to a friend?": "",
|
|
31
|
-
"Instant Commands": "
|
|
31
|
+
"Instant Commands": "",
|
|
32
32
|
"Let's start chatting!": "",
|
|
33
|
-
"Links are disabled": "",
|
|
34
|
-
"Loading channels...": "
|
|
35
|
-
"Loading messages...": "
|
|
36
|
-
"Loading...": "
|
|
37
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
38
|
-
"Message Reactions": "",
|
|
33
|
+
"Links are disabled": "Links are disabled",
|
|
34
|
+
"Loading channels...": "",
|
|
35
|
+
"Loading messages...": "",
|
|
36
|
+
"Loading...": "",
|
|
37
|
+
"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.",
|
|
38
|
+
"Message Reactions": "Réactions aux messages",
|
|
39
39
|
"Message deleted": "",
|
|
40
40
|
"Message flagged": "",
|
|
41
41
|
"Mute User": "",
|
|
@@ -43,36 +43,36 @@
|
|
|
43
43
|
"Nothing yet...": "",
|
|
44
44
|
"Ok": "",
|
|
45
45
|
"Only visible to you": "",
|
|
46
|
-
"Open Settings": "
|
|
47
|
-
"Photo": "",
|
|
48
|
-
"Photos and Videos": "
|
|
46
|
+
"Open Settings": "",
|
|
47
|
+
"Photo": "Photo",
|
|
48
|
+
"Photos and Videos": "",
|
|
49
49
|
"Pin to Conversation": "",
|
|
50
50
|
"Pinned by": "",
|
|
51
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
51
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
52
52
|
"Please select a channel first": "Veuillez d'abord selectionnez un canal",
|
|
53
53
|
"Reconnecting...": "",
|
|
54
54
|
"Reply": "",
|
|
55
|
-
"Reply to Message": "
|
|
55
|
+
"Reply to Message": "",
|
|
56
56
|
"Resend": "",
|
|
57
57
|
"Search GIFs": "Rechercher des GIF",
|
|
58
|
-
"Select More Photos": "
|
|
58
|
+
"Select More Photos": "",
|
|
59
59
|
"Send Anyway": "",
|
|
60
60
|
"Send a message": "Envoyer un message",
|
|
61
|
-
"Sending links is not allowed in this conversation": "",
|
|
61
|
+
"Sending links is not allowed in this conversation": "Sending links is not allowed in this conversation",
|
|
62
62
|
"Slow mode ON": "Mode lent activé",
|
|
63
63
|
"The message has been reported to a moderator.": "",
|
|
64
64
|
"Thread Reply": "",
|
|
65
65
|
"Unblock User": "",
|
|
66
|
-
"Unknown User": "
|
|
66
|
+
"Unknown User": "",
|
|
67
67
|
"Unmute User": "",
|
|
68
68
|
"Unpin from Conversation": "",
|
|
69
69
|
"Unread Messages": "",
|
|
70
|
-
"Video": "",
|
|
70
|
+
"Video": "Vidéo",
|
|
71
71
|
"You": "",
|
|
72
72
|
"You can't send messages in this channel": "",
|
|
73
73
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
74
|
-
"{{ index }} of {{ photoLength }}": "
|
|
75
|
-
"{{ replyCount }} Replies": "
|
|
74
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
75
|
+
"{{ replyCount }} Replies": "",
|
|
76
76
|
"{{ replyCount }} Thread Replies": "",
|
|
77
77
|
"{{ user }} is typing": "",
|
|
78
78
|
"🏙 Attachment...": ""
|
package/lib/module/i18n/hi.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"1 Reply": "
|
|
2
|
+
"1 Reply": "",
|
|
3
3
|
"1 Thread Reply": "",
|
|
4
|
-
"Allow access to your Gallery": "
|
|
5
|
-
"Allow camera access in device settings": "
|
|
6
|
-
"Also send to channel": "",
|
|
4
|
+
"Allow access to your Gallery": "",
|
|
5
|
+
"Allow camera access in device settings": "",
|
|
6
|
+
"Also send to channel": "चैनल को भी भेजें",
|
|
7
7
|
"Are you sure you want to permanently delete this message?": "",
|
|
8
8
|
"Are you sure?": "",
|
|
9
9
|
"Block User": "",
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"Copy Message": "",
|
|
14
14
|
"Delete": "",
|
|
15
15
|
"Delete Message": "",
|
|
16
|
-
"Device camera is used to take photos or videos.": "
|
|
16
|
+
"Device camera is used to take photos or videos.": "",
|
|
17
17
|
"Do you want to send a copy of this message to a moderator for further investigation?": "",
|
|
18
18
|
"Edit Message": "",
|
|
19
19
|
"Editing Message": "मैसेज बदला जा रहा है",
|
|
20
|
-
"Emoji matching": "
|
|
20
|
+
"Emoji matching": "",
|
|
21
21
|
"Empty message...": "",
|
|
22
22
|
"Error loading": "",
|
|
23
23
|
"Error loading channel list...": "",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
"Flag Message": "",
|
|
29
29
|
"Flag action failed either due to a network issue or the message is already flagged": "",
|
|
30
30
|
"How about sending your first message to a friend?": "",
|
|
31
|
-
"Instant Commands": "
|
|
31
|
+
"Instant Commands": "",
|
|
32
32
|
"Let's start chatting!": "",
|
|
33
|
-
"Links are disabled": "",
|
|
34
|
-
"Loading channels...": "
|
|
35
|
-
"Loading messages...": "
|
|
36
|
-
"Loading...": "
|
|
37
|
-
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "",
|
|
38
|
-
"Message Reactions": "",
|
|
33
|
+
"Links are disabled": "लिंक अक्षम हैं",
|
|
34
|
+
"Loading channels...": "",
|
|
35
|
+
"Loading messages...": "",
|
|
36
|
+
"Loading...": "",
|
|
37
|
+
"Maximum file size upload limit reached. Please upload a file below {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} MB.": "अधिकतम फ़ाइल आकार अपलोड सीमा पूरी हो गई। कृपया {{MAX_FILE_SIZE_TO_UPLOAD_IN_MB}} एमबी से नीचे की फ़ाइल अपलोड करें।",
|
|
38
|
+
"Message Reactions": "संदेश प्रतिक्रियाएँ",
|
|
39
39
|
"Message deleted": "",
|
|
40
40
|
"Message flagged": "",
|
|
41
41
|
"Mute User": "",
|
|
@@ -43,36 +43,36 @@
|
|
|
43
43
|
"Nothing yet...": "",
|
|
44
44
|
"Ok": "",
|
|
45
45
|
"Only visible to you": "",
|
|
46
|
-
"Open Settings": "
|
|
47
|
-
"Photo": "",
|
|
48
|
-
"Photos and Videos": "
|
|
46
|
+
"Open Settings": "",
|
|
47
|
+
"Photo": "तस्वीर",
|
|
48
|
+
"Photos and Videos": "",
|
|
49
49
|
"Pin to Conversation": "",
|
|
50
50
|
"Pinned by": "",
|
|
51
|
-
"Please enable access to your photos and videos so you can share them.": "
|
|
51
|
+
"Please enable access to your photos and videos so you can share them.": "",
|
|
52
52
|
"Please select a channel first": "कृपया पहले एक चैनल चुनें",
|
|
53
53
|
"Reconnecting...": "",
|
|
54
54
|
"Reply": "",
|
|
55
|
-
"Reply to Message": "
|
|
55
|
+
"Reply to Message": "",
|
|
56
56
|
"Resend": "",
|
|
57
57
|
"Search GIFs": "GIF खोजें",
|
|
58
|
-
"Select More Photos": "
|
|
58
|
+
"Select More Photos": "",
|
|
59
59
|
"Send Anyway": "",
|
|
60
60
|
"Send a message": "एक संदेश भेजें",
|
|
61
|
-
"Sending links is not allowed in this conversation": "",
|
|
61
|
+
"Sending links is not allowed in this conversation": "इस बातचीत में लिंक भेजने की अनुमति नहीं है",
|
|
62
62
|
"Slow mode ON": "स्लो मोड चालू",
|
|
63
63
|
"The message has been reported to a moderator.": "",
|
|
64
64
|
"Thread Reply": "",
|
|
65
65
|
"Unblock User": "",
|
|
66
|
-
"Unknown User": "
|
|
66
|
+
"Unknown User": "",
|
|
67
67
|
"Unmute User": "",
|
|
68
68
|
"Unpin from Conversation": "",
|
|
69
69
|
"Unread Messages": "",
|
|
70
|
-
"Video": "",
|
|
70
|
+
"Video": "वीडियो",
|
|
71
71
|
"You": "",
|
|
72
72
|
"You can't send messages in this channel": "",
|
|
73
73
|
"{{ firstUser }} and {{ nonSelfUserLength }} more are typing": "",
|
|
74
|
-
"{{ index }} of {{ photoLength }}": "
|
|
75
|
-
"{{ replyCount }} Replies": "
|
|
74
|
+
"{{ index }} of {{ photoLength }}": "",
|
|
75
|
+
"{{ replyCount }} Replies": "",
|
|
76
76
|
"{{ replyCount }} Thread Replies": "",
|
|
77
77
|
"{{ user }} is typing": "",
|
|
78
78
|
"🏙 Attachment...": ""
|