stream-chat-react-native-core 5.18.0-beta.2 → 5.18.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/Message/MessageSimple/MessageReplies.js +19 -26
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +19 -26
- package/lib/module/components/Message/MessageSimple/MessageReplies.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -3
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/package.json +1 -1
- package/src/components/Message/MessageSimple/MessageReplies.tsx +6 -17
- package/src/components/Message/MessageSimple/MessageRepliesAvatars.tsx +1 -1
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap +7 -3
- package/src/version.json +1 -1
|
@@ -21,16 +21,11 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
21
21
|
curveContainer: {
|
|
22
22
|
flexDirection: 'row'
|
|
23
23
|
},
|
|
24
|
-
leftMessageRepliesCurve:
|
|
24
|
+
leftMessageRepliesCurve: {
|
|
25
25
|
borderBottomLeftRadius: 16,
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
android: {
|
|
29
|
-
borderRightWidth: 0
|
|
30
|
-
}
|
|
31
|
-
})),
|
|
26
|
+
borderRightWidth: 0
|
|
27
|
+
},
|
|
32
28
|
messageRepliesCurve: {
|
|
33
|
-
borderTopColor: 'transparent',
|
|
34
29
|
borderTopWidth: 0,
|
|
35
30
|
borderWidth: 1,
|
|
36
31
|
height: 16,
|
|
@@ -40,16 +35,12 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
40
35
|
fontSize: 12,
|
|
41
36
|
fontWeight: '700',
|
|
42
37
|
paddingBottom: 5,
|
|
43
|
-
|
|
38
|
+
paddingHorizontal: 8
|
|
44
39
|
},
|
|
45
|
-
rightMessageRepliesCurve:
|
|
40
|
+
rightMessageRepliesCurve: {
|
|
46
41
|
borderBottomRightRadius: 16,
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
android: {
|
|
50
|
-
borderLeftWidth: 0
|
|
51
|
-
}
|
|
52
|
-
}))
|
|
42
|
+
borderLeftWidth: 0
|
|
43
|
+
}
|
|
53
44
|
});
|
|
54
45
|
var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
55
46
|
var alignment = props.alignment,
|
|
@@ -78,15 +69,16 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
78
69
|
__self: _this,
|
|
79
70
|
__source: {
|
|
80
71
|
fileName: _jsxFileName,
|
|
81
|
-
lineNumber:
|
|
72
|
+
lineNumber: 102,
|
|
82
73
|
columnNumber: 5
|
|
83
74
|
}
|
|
84
75
|
}, alignment === 'left' && _react["default"].createElement(_reactNative.View, {
|
|
76
|
+
style: styles.curveContainer,
|
|
85
77
|
testID: "message-replies-left",
|
|
86
78
|
__self: _this,
|
|
87
79
|
__source: {
|
|
88
80
|
fileName: _jsxFileName,
|
|
89
|
-
lineNumber:
|
|
81
|
+
lineNumber: 104,
|
|
90
82
|
columnNumber: 9
|
|
91
83
|
}
|
|
92
84
|
}, !noBorder && _react["default"].createElement(_reactNative.View, {
|
|
@@ -96,7 +88,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
96
88
|
__self: _this,
|
|
97
89
|
__source: {
|
|
98
90
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
91
|
+
lineNumber: 106,
|
|
100
92
|
columnNumber: 13
|
|
101
93
|
}
|
|
102
94
|
}), _react["default"].createElement(MessageRepliesAvatars, {
|
|
@@ -105,7 +97,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
105
97
|
__self: _this,
|
|
106
98
|
__source: {
|
|
107
99
|
fileName: _jsxFileName,
|
|
108
|
-
lineNumber:
|
|
100
|
+
lineNumber: 115,
|
|
109
101
|
columnNumber: 11
|
|
110
102
|
}
|
|
111
103
|
})), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -141,7 +133,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
141
133
|
__self: _this,
|
|
142
134
|
__source: {
|
|
143
135
|
fileName: _jsxFileName,
|
|
144
|
-
lineNumber:
|
|
136
|
+
lineNumber: 118,
|
|
145
137
|
columnNumber: 7
|
|
146
138
|
}
|
|
147
139
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -151,17 +143,18 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
151
143
|
__self: _this,
|
|
152
144
|
__source: {
|
|
153
145
|
fileName: _jsxFileName,
|
|
154
|
-
lineNumber:
|
|
146
|
+
lineNumber: 149,
|
|
155
147
|
columnNumber: 9
|
|
156
148
|
}
|
|
157
149
|
}, message.reply_count === 1 ? t('1 Thread Reply') : t('{{ replyCount }} Thread Replies', {
|
|
158
150
|
replyCount: message.reply_count
|
|
159
151
|
}))), alignment === 'right' && _react["default"].createElement(_reactNative.View, {
|
|
152
|
+
style: styles.curveContainer,
|
|
160
153
|
testID: "message-replies-right",
|
|
161
154
|
__self: _this,
|
|
162
155
|
__source: {
|
|
163
156
|
fileName: _jsxFileName,
|
|
164
|
-
lineNumber:
|
|
157
|
+
lineNumber: 158,
|
|
165
158
|
columnNumber: 9
|
|
166
159
|
}
|
|
167
160
|
}, _react["default"].createElement(MessageRepliesAvatars, {
|
|
@@ -170,7 +163,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
170
163
|
__self: _this,
|
|
171
164
|
__source: {
|
|
172
165
|
fileName: _jsxFileName,
|
|
173
|
-
lineNumber:
|
|
166
|
+
lineNumber: 159,
|
|
174
167
|
columnNumber: 11
|
|
175
168
|
}
|
|
176
169
|
}), !noBorder && _react["default"].createElement(_reactNative.View, {
|
|
@@ -180,7 +173,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
180
173
|
__self: _this,
|
|
181
174
|
__source: {
|
|
182
175
|
fileName: _jsxFileName,
|
|
183
|
-
lineNumber:
|
|
176
|
+
lineNumber: 161,
|
|
184
177
|
columnNumber: 13
|
|
185
178
|
}
|
|
186
179
|
})));
|
|
@@ -238,7 +231,7 @@ var MessageReplies = function MessageReplies(props) {
|
|
|
238
231
|
__self: _this,
|
|
239
232
|
__source: {
|
|
240
233
|
fileName: _jsxFileName,
|
|
241
|
-
lineNumber:
|
|
234
|
+
lineNumber: 241,
|
|
242
235
|
columnNumber: 5
|
|
243
236
|
}
|
|
244
237
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","marginTop","curveContainer","leftMessageRepliesCurve","_extends2","borderBottomLeftRadius","borderRightColor","Platform","select","android","borderRightWidth","messageRepliesCurve","borderTopColor","borderTopWidth","borderWidth","height","width","messageRepliesText","fontSize","fontWeight","paddingBottom","paddingLeft","rightMessageRepliesCurve","borderBottomRightRadius","borderLeftColor","borderLeftWidth","MessageRepliesWithContext","props","alignment","message","MessageRepliesAvatars","noBorder","onLongPress","onOpenThread","onPress","onPressIn","preventPress","repliesCurveColor","t","threadList","_useTheme","useTheme","_useTheme$theme","theme","accent_blue","colors","_useTheme$theme$messa","messageSimple","replies","leftCurve","rightCurve","reply_count","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","testID","borderColor","TouchableOpacity","disabled","event","emitter","defaultHandler","Text","color","replyCount","areEqual","prevProps","nextProps","prevMessage","prevNoBorder","prevOnOpenThread","prevT","prevThreadList","nextMessage","nextNoBorder","nextOnOpenThread","nextT","nextThreadList","threadListEqual","messageReplyCountEqual","noBorderEqual","tEqual","onOpenThreadEqual","MemoizedMessageReplies","React","memo","MessageReplies","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageReplies.tsx"],"sourcesContent":["import React from 'react';\nimport { ColorValue, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n marginTop: 8,\n },\n curveContainer: {\n flexDirection: 'row',\n },\n leftMessageRepliesCurve: {\n borderBottomLeftRadius: 16,\n borderRightColor: 'transparent',\n ...Platform.select({\n android: {\n borderRightWidth: 0,\n },\n }),\n },\n messageRepliesCurve: {\n borderTopColor: 'transparent',\n borderTopWidth: 0,\n borderWidth: 1,\n height: 16,\n width: 16,\n },\n messageRepliesText: {\n fontSize: 12,\n fontWeight: '700',\n paddingBottom: 5,\n paddingLeft: 8,\n },\n rightMessageRepliesCurve: {\n borderBottomRightRadius: 16,\n borderLeftColor: 'transparent',\n ...Platform.select({\n android: {\n borderLeftWidth: 0,\n },\n }),\n },\n});\n\nexport type MessageRepliesPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'onOpenThread'\n | 'preventPress'\n | 'threadList'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'MessageRepliesAvatars'> &\n Pick<TranslationContextValue, 't'> & {\n noBorder?: boolean;\n repliesCurveColor?: ColorValue;\n };\n\nconst MessageRepliesWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n MessageRepliesAvatars,\n noBorder,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n repliesCurveColor,\n t,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue },\n messageSimple: {\n replies: { container, leftCurve, messageRepliesText, rightCurve },\n },\n },\n } = useTheme();\n\n if (threadList || !message.reply_count) return null;\n\n return (\n <View style={styles.curveContainer}>\n {alignment === 'left' && (\n <View testID='message-replies-left'>\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.leftMessageRepliesCurve,\n leftCurve,\n ]}\n />\n )}\n <MessageRepliesAvatars alignment={alignment} message={message} />\n </View>\n )}\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='message-replies'\n >\n <Text style={[styles.messageRepliesText, { color: accent_blue }, messageRepliesText]}>\n {message.reply_count === 1\n ? t('1 Thread Reply')\n : t('{{ replyCount }} Thread Replies', {\n replyCount: message.reply_count,\n })}\n </Text>\n </TouchableOpacity>\n {alignment === 'right' && (\n <View testID='message-replies-right'>\n <MessageRepliesAvatars alignment={alignment} message={message} />\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.rightMessageRepliesCurve,\n rightCurve,\n ]}\n />\n )}\n </View>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n nextProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n noBorder: prevNoBorder,\n onOpenThread: prevOnOpenThread,\n t: prevT,\n threadList: prevThreadList,\n } = prevProps;\n const {\n message: nextMessage,\n noBorder: nextNoBorder,\n onOpenThread: nextOnOpenThread,\n t: nextT,\n threadList: nextThreadList,\n } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageReplyCountEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!messageReplyCountEqual) return false;\n\n const noBorderEqual = prevNoBorder === nextNoBorder;\n if (!noBorderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const onOpenThreadEqual = prevOnOpenThread === nextOnOpenThread;\n if (!onOpenThreadEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageReplies = React.memo(\n MessageRepliesWithContext,\n areEqual,\n) as typeof MessageRepliesWithContext;\n\nexport type MessageRepliesProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageRepliesPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageReplies = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const { MessageRepliesAvatars } = useMessagesContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageReplies\n {...{\n alignment,\n message,\n MessageRepliesAvatars,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n t,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageReplies.displayName = 'MessageReplies{messageSimple{replies}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","marginTop","curveContainer","leftMessageRepliesCurve","borderBottomLeftRadius","borderRightWidth","messageRepliesCurve","borderTopWidth","borderWidth","height","width","messageRepliesText","fontSize","fontWeight","paddingBottom","paddingHorizontal","rightMessageRepliesCurve","borderBottomRightRadius","borderLeftWidth","MessageRepliesWithContext","props","alignment","message","MessageRepliesAvatars","noBorder","onLongPress","onOpenThread","onPress","onPressIn","preventPress","repliesCurveColor","t","threadList","_useTheme","useTheme","_useTheme$theme","theme","accent_blue","colors","_useTheme$theme$messa","messageSimple","replies","leftCurve","rightCurve","reply_count","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","testID","borderColor","TouchableOpacity","disabled","event","emitter","defaultHandler","Text","color","replyCount","areEqual","prevProps","nextProps","prevMessage","prevNoBorder","prevOnOpenThread","prevT","prevThreadList","nextMessage","nextNoBorder","nextOnOpenThread","nextT","nextThreadList","threadListEqual","messageReplyCountEqual","noBorderEqual","tEqual","onOpenThreadEqual","MemoizedMessageReplies","React","memo","MessageReplies","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","_extends2","exports","displayName"],"sources":["MessageReplies.tsx"],"sourcesContent":["import React from 'react';\nimport { ColorValue, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n marginTop: 8,\n },\n curveContainer: {\n flexDirection: 'row',\n },\n leftMessageRepliesCurve: {\n borderBottomLeftRadius: 16,\n borderRightWidth: 0,\n },\n messageRepliesCurve: {\n borderTopWidth: 0,\n borderWidth: 1,\n height: 16,\n width: 16,\n },\n messageRepliesText: {\n fontSize: 12,\n fontWeight: '700',\n paddingBottom: 5,\n paddingHorizontal: 8,\n },\n rightMessageRepliesCurve: {\n borderBottomRightRadius: 16,\n borderLeftWidth: 0,\n },\n});\n\nexport type MessageRepliesPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'onOpenThread'\n | 'preventPress'\n | 'threadList'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'MessageRepliesAvatars'> &\n Pick<TranslationContextValue, 't'> & {\n noBorder?: boolean;\n repliesCurveColor?: ColorValue;\n };\n\nconst MessageRepliesWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n MessageRepliesAvatars,\n noBorder,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n repliesCurveColor,\n t,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue },\n messageSimple: {\n replies: { container, leftCurve, messageRepliesText, rightCurve },\n },\n },\n } = useTheme();\n\n if (threadList || !message.reply_count) return null;\n\n return (\n <View style={styles.curveContainer}>\n {alignment === 'left' && (\n <View style={styles.curveContainer} testID='message-replies-left'>\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.leftMessageRepliesCurve,\n leftCurve,\n ]}\n />\n )}\n <MessageRepliesAvatars alignment={alignment} message={message} />\n </View>\n )}\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='message-replies'\n >\n <Text style={[styles.messageRepliesText, { color: accent_blue }, messageRepliesText]}>\n {message.reply_count === 1\n ? t('1 Thread Reply')\n : t('{{ replyCount }} Thread Replies', {\n replyCount: message.reply_count,\n })}\n </Text>\n </TouchableOpacity>\n {alignment === 'right' && (\n <View style={styles.curveContainer} testID='message-replies-right'>\n <MessageRepliesAvatars alignment={alignment} message={message} />\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.rightMessageRepliesCurve,\n rightCurve,\n ]}\n />\n )}\n </View>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n nextProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n noBorder: prevNoBorder,\n onOpenThread: prevOnOpenThread,\n t: prevT,\n threadList: prevThreadList,\n } = prevProps;\n const {\n message: nextMessage,\n noBorder: nextNoBorder,\n onOpenThread: nextOnOpenThread,\n t: nextT,\n threadList: nextThreadList,\n } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageReplyCountEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!messageReplyCountEqual) return false;\n\n const noBorderEqual = prevNoBorder === nextNoBorder;\n if (!noBorderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const onOpenThreadEqual = prevOnOpenThread === nextOnOpenThread;\n if (!onOpenThreadEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageReplies = React.memo(\n MessageRepliesWithContext,\n areEqual,\n) as typeof MessageRepliesWithContext;\n\nexport type MessageRepliesProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageRepliesPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageReplies = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const { MessageRepliesAvatars } = useMessagesContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageReplies\n {...{\n alignment,\n message,\n MessageRepliesAvatars,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n t,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageReplies.displayName = 'MessageReplies{messageSimple{replies}}';\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAF,OAAA;AAIA,IAAAG,gBAAA,GAAAH,OAAA;AAIA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAGiE,IAAAM,KAAA;EAAAC,YAAA;AAIjE,IAAMC,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,UAAU,EAAE,QAAQ;IACpBC,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAE;EACb,CAAC;EACDC,cAAc,EAAE;IACdF,aAAa,EAAE;EACjB,CAAC;EACDG,uBAAuB,EAAE;IACvBC,sBAAsB,EAAE,EAAE;IAC1BC,gBAAgB,EAAE;EACpB,CAAC;EACDC,mBAAmB,EAAE;IACnBC,cAAc,EAAE,CAAC;IACjBC,WAAW,EAAE,CAAC;IACdC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT,CAAC;EACDC,kBAAkB,EAAE;IAClBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE,CAAC;IAChBC,iBAAiB,EAAE;EACrB,CAAC;EACDC,wBAAwB,EAAE;IACxBC,uBAAuB,EAAE,EAAE;IAC3BC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC;AAqBF,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAG7BC,KAAyD,EACtD;EACH,IACEC,SAAS,GAYPD,KAAK,CAZPC,SAAS;IACTC,OAAO,GAWLF,KAAK,CAXPE,OAAO;IACPC,qBAAqB,GAUnBH,KAAK,CAVPG,qBAAqB;IACrBC,QAAQ,GASNJ,KAAK,CATPI,QAAQ;IACRC,YAAW,GAQTL,KAAK,CARPK,WAAW;IACXC,YAAY,GAOVN,KAAK,CAPPM,YAAY;IACZC,QAAO,GAMLP,KAAK,CANPO,OAAO;IACPC,UAAS,GAKPR,KAAK,CALPQ,SAAS;IACTC,YAAY,GAIVT,KAAK,CAJPS,YAAY;IACZC,iBAAiB,GAGfV,KAAK,CAHPU,iBAAiB;IACjBC,CAAC,GAECX,KAAK,CAFPW,CAAC;IACDC,UAAU,GACRZ,KAAK,CADPY,UAAU;EAGZ,IAAAC,SAAA,GAOI,IAAAC,sBAAQ,EAAC,CAAC;IAAAC,eAAA,GAAAF,SAAA,CANZG,KAAK;IACOC,WAAW,GAAAF,eAAA,CAArBG,MAAM,CAAID,WAAW;IAAAE,qBAAA,GAAAJ,eAAA,CACrBK,aAAa,CACXC,OAAO;IAAI3C,SAAS,GAAAyC,qBAAA,CAATzC,SAAS;IAAE4C,SAAS,GAAAH,qBAAA,CAATG,SAAS;IAAE/B,kBAAkB,GAAA4B,qBAAA,CAAlB5B,kBAAkB;IAAEgC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;EAKrE,IAAIX,UAAU,IAAI,CAACV,OAAO,CAACsB,WAAW,EAAE,OAAO,IAAI;EAEnD,OACE3D,MAAA,YAAA4D,aAAA,CAACzD,YAAA,CAAA0D,IAAI;IAACC,KAAK,EAAEpD,MAAM,CAACO,cAAe;IAAA8C,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAChC/B,SAAS,KAAK,MAAM,IACnBpC,MAAA,YAAA4D,aAAA,CAACzD,YAAA,CAAA0D,IAAI;IAACC,KAAK,EAAEpD,MAAM,CAACO,cAAe;IAACmD,MAAM,EAAC,sBAAsB;IAAAL,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC9D,CAAC5B,QAAQ,IACRvC,MAAA,YAAA4D,aAAA,CAACzD,YAAA,CAAA0D,IAAI;IACHC,KAAK,EAAE,CACL;MAAEO,WAAW,EAAExB;IAAkB,CAAC,EAClCnC,MAAM,CAACW,mBAAmB,EAC1BX,MAAM,CAACQ,uBAAuB,EAC9BuC,SAAS,CACT;IAAAM,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,CACH,CACF,EACDnE,MAAA,YAAA4D,aAAA,CAACtB,qBAAqB;IAACF,SAAS,EAAEA,SAAU;IAACC,OAAO,EAAEA,OAAQ;IAAA0B,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC5D,CACP,EACDnE,MAAA,YAAA4D,aAAA,CAACzD,YAAA,CAAAmE,gBAAgB;IACfC,QAAQ,EAAE3B,YAAa;IACvBJ,WAAW,EAAE,SAAAA,YAACgC,KAAK,EAAK;MACtB,IAAIhC,YAAW,EAAE;QACfA,YAAW,CAAC;UACViC,OAAO,EAAE,gBAAgB;UACzBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACF9B,OAAO,EAAE,SAAAA,QAAC8B,KAAK,EAAK;MAClB,IAAI9B,QAAO,EAAE;QACXA,QAAO,CAAC;UACNgC,cAAc,EAAEjC,YAAY;UAC5BgC,OAAO,EAAE,gBAAgB;UACzBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACF7B,SAAS,EAAE,SAAAA,UAAC6B,KAAK,EAAK;MACpB,IAAI7B,UAAS,EAAE;QACbA,UAAS,CAAC;UACR+B,cAAc,EAAEjC,YAAY;UAC5BgC,OAAO,EAAE,gBAAgB;UACzBD,KAAK,EAALA;QACF,CAAC,CAAC;MACJ;IACF,CAAE;IACFV,KAAK,EAAE,CAACpD,MAAM,CAACG,SAAS,EAAEA,SAAS,CAAE;IACrCuD,MAAM,EAAC,iBAAiB;IAAAL,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAExBnE,MAAA,YAAA4D,aAAA,CAACzD,YAAA,CAAAwE,IAAI;IAACb,KAAK,EAAE,CAACpD,MAAM,CAACgB,kBAAkB,EAAE;MAAEkD,KAAK,EAAExB;IAAY,CAAC,EAAE1B,kBAAkB,CAAE;IAAAqC,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAClF9B,OAAO,CAACsB,WAAW,KAAK,CAAC,GACtBb,CAAC,CAAC,gBAAgB,CAAC,GACnBA,CAAC,CAAC,iCAAiC,EAAE;IACnC+B,UAAU,EAAExC,OAAO,CAACsB;EACtB,CAAC,CACD,CACU,CAAC,EAClBvB,SAAS,KAAK,OAAO,IACpBpC,MAAA,YAAA4D,aAAA,CAACzD,YAAA,CAAA0D,IAAI;IAACC,KAAK,EAAEpD,MAAM,CAACO,cAAe;IAACmD,MAAM,EAAC,uBAAuB;IAAAL,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,GAChEnE,MAAA,YAAA4D,aAAA,CAACtB,qBAAqB;IAACF,SAAS,EAAEA,SAAU;IAACC,OAAO,EAAEA,OAAQ;IAAA0B,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,EAChE,CAAC5B,QAAQ,IACRvC,MAAA,YAAA4D,aAAA,CAACzD,YAAA,CAAA0D,IAAI;IACHC,KAAK,EAAE,CACL;MAAEO,WAAW,EAAExB;IAAkB,CAAC,EAClCnC,MAAM,CAACW,mBAAmB,EAC1BX,MAAM,CAACqB,wBAAwB,EAC/B2B,UAAU,CACV;IAAAK,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,CACH,CAEC,CAEJ,CAAC;AAEX,CAAC;AAED,IAAMW,QAAQ,GAAG,SAAXA,QAAQA,CACZC,SAA6D,EAC7DC,SAA6D,EAC1D;EACH,IACWC,WAAW,GAKlBF,SAAS,CALX1C,OAAO;IACG6C,YAAY,GAIpBH,SAAS,CAJXxC,QAAQ;IACM4C,gBAAgB,GAG5BJ,SAAS,CAHXtC,YAAY;IACT2C,KAAK,GAENL,SAAS,CAFXjC,CAAC;IACWuC,cAAc,GACxBN,SAAS,CADXhC,UAAU;EAEZ,IACWuC,WAAW,GAKlBN,SAAS,CALX3C,OAAO;IACGkD,YAAY,GAIpBP,SAAS,CAJXzC,QAAQ;IACMiD,gBAAgB,GAG5BR,SAAS,CAHXvC,YAAY;IACTgD,KAAK,GAENT,SAAS,CAFXlC,CAAC;IACW4C,cAAc,GACxBV,SAAS,CADXjC,UAAU;EAGZ,IAAM4C,eAAe,GAAGN,cAAc,KAAKK,cAAc;EACzD,IAAI,CAACC,eAAe,EAAE,OAAO,KAAK;EAElC,IAAMC,sBAAsB,GAAGX,WAAW,CAACtB,WAAW,KAAK2B,WAAW,CAAC3B,WAAW;EAClF,IAAI,CAACiC,sBAAsB,EAAE,OAAO,KAAK;EAEzC,IAAMC,aAAa,GAAGX,YAAY,KAAKK,YAAY;EACnD,IAAI,CAACM,aAAa,EAAE,OAAO,KAAK;EAEhC,IAAMC,MAAM,GAAGV,KAAK,KAAKK,KAAK;EAC9B,IAAI,CAACK,MAAM,EAAE,OAAO,KAAK;EAEzB,IAAMC,iBAAiB,GAAGZ,gBAAgB,KAAKK,gBAAgB;EAC/D,IAAI,CAACO,iBAAiB,EAAE,OAAO,KAAK;EAEpC,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,sBAAsB,GAAGC,iBAAK,CAACC,IAAI,CACvChE,yBAAyB,EACzB4C,QACF,CAAqC;AAM9B,IAAMqB,cAAc,GAAG,SAAjBA,cAAcA,CAGzBhE,KAA8C,EAC3C;EACH,IAAAiE,kBAAA,GASI,IAAAC,iCAAiB,EAAqB,CAAC;IARzCjE,SAAS,GAAAgE,kBAAA,CAAThE,SAAS;IACTC,OAAO,GAAA+D,kBAAA,CAAP/D,OAAO;IACPG,WAAW,GAAA4D,kBAAA,CAAX5D,WAAW;IACXC,YAAY,GAAA2D,kBAAA,CAAZ3D,YAAY;IACZC,OAAO,GAAA0D,kBAAA,CAAP1D,OAAO;IACPC,SAAS,GAAAyD,kBAAA,CAATzD,SAAS;IACTC,YAAY,GAAAwD,kBAAA,CAAZxD,YAAY;IACZG,UAAU,GAAAqD,kBAAA,CAAVrD,UAAU;EAEZ,IAAAuD,mBAAA,GAAkC,IAAAC,mCAAkB,EAAqB,CAAC;IAAlEjE,qBAAqB,GAAAgE,mBAAA,CAArBhE,qBAAqB;EAC7B,IAAAkE,qBAAA,GAAc,IAAAC,yCAAqB,EAAC,CAAC;IAA7B3D,CAAC,GAAA0D,qBAAA,CAAD1D,CAAC;EAET,OACE9C,MAAA,YAAA4D,aAAA,CAACoC,sBAAsB,MAAAU,SAAA;IAEnBtE,SAAS,EAATA,SAAS;IACTC,OAAO,EAAPA,OAAO;IACPC,qBAAqB,EAArBA,qBAAqB;IACrBE,WAAW,EAAXA,WAAW;IACXC,YAAY,EAAZA,YAAY;IACZC,OAAO,EAAPA,OAAO;IACPC,SAAS,EAATA,SAAS;IACTC,YAAY,EAAZA,YAAY;IACZE,CAAC,EAADA,CAAC;IACDC,UAAU,EAAVA;EAAU,GAERZ,KAAK;IAAA4B,MAAA,EAAAvD,KAAA;IAAAwD,QAAA;MAAAC,QAAA,EAAAxD,YAAA;MAAAyD,UAAA;MAAAC,YAAA;IAAA;EAAA,EACV,CAAC;AAEN,CAAC;AAACwC,OAAA,CAAAR,cAAA,GAAAA,cAAA;AAEFA,cAAc,CAACS,WAAW,GAAG,wCAAwC"}
|
|
@@ -40,9 +40,7 @@ var MessageRepliesAvatarsWithContext = function MessageRepliesAvatarsWithContext
|
|
|
40
40
|
var avatars = ((_message$thread_parti = message.thread_participants) == null ? void 0 : _message$thread_parti.slice(-2)) || [];
|
|
41
41
|
var hasMoreThanOneReply = avatars.length > 1;
|
|
42
42
|
return _react["default"].createElement(_reactNative.View, {
|
|
43
|
-
style: [styles.avatarContainer, alignment === 'right' ?
|
|
44
|
-
marginLeft: 8
|
|
45
|
-
}, rightAvatarsContainer) : leftAvatarsContainer],
|
|
43
|
+
style: [styles.avatarContainer, alignment === 'right' ? rightAvatarsContainer : leftAvatarsContainer],
|
|
46
44
|
__self: _this,
|
|
47
45
|
__source: {
|
|
48
46
|
fileName: _jsxFileName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_ThemeContext","_Avatar","_this","_jsxFileName","styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatarsWithContext","props","_message$thread_parti","alignment","ImageComponent","message","_useTheme","useTheme","_useTheme$theme","theme","white_snow","colors","_useTheme$theme$messa","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","createElement","View","style","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_ThemeContext","_Avatar","_this","_jsxFileName","styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatarsWithContext","props","_message$thread_parti","alignment","ImageComponent","message","_useTheme","useTheme","_useTheme$theme","theme","white_snow","colors","_useTheme$theme$messa","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","map","user","i","key","id","_extends2","paddingLeft","Avatar","containerStyle","borderColor","borderWidth","image","name","size","exports","MessageRepliesAvatars","_useChatContext","useChatContext"],"sources":["MessageRepliesAvatars.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar } from '../../Avatar/Avatar';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingTop: 2,\n },\n topAvatar: {\n paddingTop: 2,\n position: 'absolute',\n },\n});\n\nexport type MessageRepliesAvatarsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'alignment' | 'message'>;\n\nexport const MessageRepliesAvatarsWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics> & Pick<ChatContextValue, 'ImageComponent'>,\n) => {\n const { alignment, ImageComponent, message } = props;\n\n const {\n theme: {\n colors: { white_snow },\n messageSimple: {\n replies: {\n avatar,\n avatarContainerMultiple,\n avatarContainerSingle,\n avatarSize,\n leftAvatarsContainer,\n rightAvatarsContainer,\n },\n },\n },\n } = useTheme();\n\n const avatars = message.thread_participants?.slice(-2) || [];\n const hasMoreThanOneReply = avatars.length > 1;\n\n return (\n <View\n style={[\n styles.avatarContainer,\n alignment === 'right' ? rightAvatarsContainer : leftAvatarsContainer,\n ]}\n >\n {avatars.map((user, i) => (\n <View\n key={user.id}\n style={\n i === 1\n ? { ...styles.topAvatar, ...avatarContainerSingle }\n : {\n paddingLeft: hasMoreThanOneReply ? 8 : 0,\n ...avatarContainerMultiple,\n }\n }\n >\n <Avatar\n containerStyle={[\n i === 1 && {\n borderColor: white_snow,\n borderWidth: 1,\n },\n avatar,\n ]}\n image={user.image}\n ImageComponent={ImageComponent}\n name={user.name}\n size={avatarSize ? avatarSize : i === 1 ? 18 : 16}\n />\n </View>\n ))}\n </View>\n );\n};\n\nexport const MessageRepliesAvatars = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics>,\n) => {\n const { ImageComponent } = useChatContext();\n\n return <MessageRepliesAvatarsWithContext {...props} ImageComponent={ImageComponent} />;\n};\n"],"mappings":"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"}
|
|
@@ -21,16 +21,11 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
21
21
|
curveContainer: {
|
|
22
22
|
flexDirection: 'row'
|
|
23
23
|
},
|
|
24
|
-
leftMessageRepliesCurve:
|
|
24
|
+
leftMessageRepliesCurve: {
|
|
25
25
|
borderBottomLeftRadius: 16,
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
android: {
|
|
29
|
-
borderRightWidth: 0
|
|
30
|
-
}
|
|
31
|
-
})),
|
|
26
|
+
borderRightWidth: 0
|
|
27
|
+
},
|
|
32
28
|
messageRepliesCurve: {
|
|
33
|
-
borderTopColor: 'transparent',
|
|
34
29
|
borderTopWidth: 0,
|
|
35
30
|
borderWidth: 1,
|
|
36
31
|
height: 16,
|
|
@@ -40,16 +35,12 @@ var styles = _reactNative.StyleSheet.create({
|
|
|
40
35
|
fontSize: 12,
|
|
41
36
|
fontWeight: '700',
|
|
42
37
|
paddingBottom: 5,
|
|
43
|
-
|
|
38
|
+
paddingHorizontal: 8
|
|
44
39
|
},
|
|
45
|
-
rightMessageRepliesCurve:
|
|
40
|
+
rightMessageRepliesCurve: {
|
|
46
41
|
borderBottomRightRadius: 16,
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
android: {
|
|
50
|
-
borderLeftWidth: 0
|
|
51
|
-
}
|
|
52
|
-
}))
|
|
42
|
+
borderLeftWidth: 0
|
|
43
|
+
}
|
|
53
44
|
});
|
|
54
45
|
var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
55
46
|
var alignment = props.alignment,
|
|
@@ -78,15 +69,16 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
78
69
|
__self: _this,
|
|
79
70
|
__source: {
|
|
80
71
|
fileName: _jsxFileName,
|
|
81
|
-
lineNumber:
|
|
72
|
+
lineNumber: 102,
|
|
82
73
|
columnNumber: 5
|
|
83
74
|
}
|
|
84
75
|
}, alignment === 'left' && _react["default"].createElement(_reactNative.View, {
|
|
76
|
+
style: styles.curveContainer,
|
|
85
77
|
testID: "message-replies-left",
|
|
86
78
|
__self: _this,
|
|
87
79
|
__source: {
|
|
88
80
|
fileName: _jsxFileName,
|
|
89
|
-
lineNumber:
|
|
81
|
+
lineNumber: 104,
|
|
90
82
|
columnNumber: 9
|
|
91
83
|
}
|
|
92
84
|
}, !noBorder && _react["default"].createElement(_reactNative.View, {
|
|
@@ -96,7 +88,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
96
88
|
__self: _this,
|
|
97
89
|
__source: {
|
|
98
90
|
fileName: _jsxFileName,
|
|
99
|
-
lineNumber:
|
|
91
|
+
lineNumber: 106,
|
|
100
92
|
columnNumber: 13
|
|
101
93
|
}
|
|
102
94
|
}), _react["default"].createElement(MessageRepliesAvatars, {
|
|
@@ -105,7 +97,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
105
97
|
__self: _this,
|
|
106
98
|
__source: {
|
|
107
99
|
fileName: _jsxFileName,
|
|
108
|
-
lineNumber:
|
|
100
|
+
lineNumber: 115,
|
|
109
101
|
columnNumber: 11
|
|
110
102
|
}
|
|
111
103
|
})), _react["default"].createElement(_reactNative.TouchableOpacity, {
|
|
@@ -141,7 +133,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
141
133
|
__self: _this,
|
|
142
134
|
__source: {
|
|
143
135
|
fileName: _jsxFileName,
|
|
144
|
-
lineNumber:
|
|
136
|
+
lineNumber: 118,
|
|
145
137
|
columnNumber: 7
|
|
146
138
|
}
|
|
147
139
|
}, _react["default"].createElement(_reactNative.Text, {
|
|
@@ -151,17 +143,18 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
151
143
|
__self: _this,
|
|
152
144
|
__source: {
|
|
153
145
|
fileName: _jsxFileName,
|
|
154
|
-
lineNumber:
|
|
146
|
+
lineNumber: 149,
|
|
155
147
|
columnNumber: 9
|
|
156
148
|
}
|
|
157
149
|
}, message.reply_count === 1 ? t('1 Thread Reply') : t('{{ replyCount }} Thread Replies', {
|
|
158
150
|
replyCount: message.reply_count
|
|
159
151
|
}))), alignment === 'right' && _react["default"].createElement(_reactNative.View, {
|
|
152
|
+
style: styles.curveContainer,
|
|
160
153
|
testID: "message-replies-right",
|
|
161
154
|
__self: _this,
|
|
162
155
|
__source: {
|
|
163
156
|
fileName: _jsxFileName,
|
|
164
|
-
lineNumber:
|
|
157
|
+
lineNumber: 158,
|
|
165
158
|
columnNumber: 9
|
|
166
159
|
}
|
|
167
160
|
}, _react["default"].createElement(MessageRepliesAvatars, {
|
|
@@ -170,7 +163,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
170
163
|
__self: _this,
|
|
171
164
|
__source: {
|
|
172
165
|
fileName: _jsxFileName,
|
|
173
|
-
lineNumber:
|
|
166
|
+
lineNumber: 159,
|
|
174
167
|
columnNumber: 11
|
|
175
168
|
}
|
|
176
169
|
}), !noBorder && _react["default"].createElement(_reactNative.View, {
|
|
@@ -180,7 +173,7 @@ var MessageRepliesWithContext = function MessageRepliesWithContext(props) {
|
|
|
180
173
|
__self: _this,
|
|
181
174
|
__source: {
|
|
182
175
|
fileName: _jsxFileName,
|
|
183
|
-
lineNumber:
|
|
176
|
+
lineNumber: 161,
|
|
184
177
|
columnNumber: 13
|
|
185
178
|
}
|
|
186
179
|
})));
|
|
@@ -238,7 +231,7 @@ var MessageReplies = function MessageReplies(props) {
|
|
|
238
231
|
__self: _this,
|
|
239
232
|
__source: {
|
|
240
233
|
fileName: _jsxFileName,
|
|
241
|
-
lineNumber:
|
|
234
|
+
lineNumber: 241,
|
|
242
235
|
columnNumber: 5
|
|
243
236
|
}
|
|
244
237
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","marginTop","curveContainer","leftMessageRepliesCurve","_extends2","borderBottomLeftRadius","borderRightColor","Platform","select","android","borderRightWidth","messageRepliesCurve","borderTopColor","borderTopWidth","borderWidth","height","width","messageRepliesText","fontSize","fontWeight","paddingBottom","paddingLeft","rightMessageRepliesCurve","borderBottomRightRadius","borderLeftColor","borderLeftWidth","MessageRepliesWithContext","props","alignment","message","MessageRepliesAvatars","noBorder","onLongPress","onOpenThread","onPress","onPressIn","preventPress","repliesCurveColor","t","threadList","_useTheme","useTheme","_useTheme$theme","theme","accent_blue","colors","_useTheme$theme$messa","messageSimple","replies","leftCurve","rightCurve","reply_count","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","testID","borderColor","TouchableOpacity","disabled","event","emitter","defaultHandler","Text","color","replyCount","areEqual","prevProps","nextProps","prevMessage","prevNoBorder","prevOnOpenThread","prevT","prevThreadList","nextMessage","nextNoBorder","nextOnOpenThread","nextT","nextThreadList","threadListEqual","messageReplyCountEqual","noBorderEqual","tEqual","onOpenThreadEqual","MemoizedMessageReplies","React","memo","MessageReplies","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","exports","displayName"],"sources":["MessageReplies.tsx"],"sourcesContent":["import React from 'react';\nimport { ColorValue, Platform, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n marginTop: 8,\n },\n curveContainer: {\n flexDirection: 'row',\n },\n leftMessageRepliesCurve: {\n borderBottomLeftRadius: 16,\n borderRightColor: 'transparent',\n ...Platform.select({\n android: {\n borderRightWidth: 0,\n },\n }),\n },\n messageRepliesCurve: {\n borderTopColor: 'transparent',\n borderTopWidth: 0,\n borderWidth: 1,\n height: 16,\n width: 16,\n },\n messageRepliesText: {\n fontSize: 12,\n fontWeight: '700',\n paddingBottom: 5,\n paddingLeft: 8,\n },\n rightMessageRepliesCurve: {\n borderBottomRightRadius: 16,\n borderLeftColor: 'transparent',\n ...Platform.select({\n android: {\n borderLeftWidth: 0,\n },\n }),\n },\n});\n\nexport type MessageRepliesPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'onOpenThread'\n | 'preventPress'\n | 'threadList'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'MessageRepliesAvatars'> &\n Pick<TranslationContextValue, 't'> & {\n noBorder?: boolean;\n repliesCurveColor?: ColorValue;\n };\n\nconst MessageRepliesWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n MessageRepliesAvatars,\n noBorder,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n repliesCurveColor,\n t,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue },\n messageSimple: {\n replies: { container, leftCurve, messageRepliesText, rightCurve },\n },\n },\n } = useTheme();\n\n if (threadList || !message.reply_count) return null;\n\n return (\n <View style={styles.curveContainer}>\n {alignment === 'left' && (\n <View testID='message-replies-left'>\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.leftMessageRepliesCurve,\n leftCurve,\n ]}\n />\n )}\n <MessageRepliesAvatars alignment={alignment} message={message} />\n </View>\n )}\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='message-replies'\n >\n <Text style={[styles.messageRepliesText, { color: accent_blue }, messageRepliesText]}>\n {message.reply_count === 1\n ? t('1 Thread Reply')\n : t('{{ replyCount }} Thread Replies', {\n replyCount: message.reply_count,\n })}\n </Text>\n </TouchableOpacity>\n {alignment === 'right' && (\n <View testID='message-replies-right'>\n <MessageRepliesAvatars alignment={alignment} message={message} />\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.rightMessageRepliesCurve,\n rightCurve,\n ]}\n />\n )}\n </View>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n nextProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n noBorder: prevNoBorder,\n onOpenThread: prevOnOpenThread,\n t: prevT,\n threadList: prevThreadList,\n } = prevProps;\n const {\n message: nextMessage,\n noBorder: nextNoBorder,\n onOpenThread: nextOnOpenThread,\n t: nextT,\n threadList: nextThreadList,\n } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageReplyCountEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!messageReplyCountEqual) return false;\n\n const noBorderEqual = prevNoBorder === nextNoBorder;\n if (!noBorderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const onOpenThreadEqual = prevOnOpenThread === nextOnOpenThread;\n if (!onOpenThreadEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageReplies = React.memo(\n MessageRepliesWithContext,\n areEqual,\n) as typeof MessageRepliesWithContext;\n\nexport type MessageRepliesProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageRepliesPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageReplies = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const { MessageRepliesAvatars } = useMessagesContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageReplies\n {...{\n alignment,\n message,\n MessageRepliesAvatars,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n t,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageReplies.displayName = 'MessageReplies{messageSimple{replies}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_MessagesContext","_ThemeContext","_TranslationContext","_this","_jsxFileName","styles","StyleSheet","create","container","alignItems","flexDirection","marginTop","curveContainer","leftMessageRepliesCurve","borderBottomLeftRadius","borderRightWidth","messageRepliesCurve","borderTopWidth","borderWidth","height","width","messageRepliesText","fontSize","fontWeight","paddingBottom","paddingHorizontal","rightMessageRepliesCurve","borderBottomRightRadius","borderLeftWidth","MessageRepliesWithContext","props","alignment","message","MessageRepliesAvatars","noBorder","onLongPress","onOpenThread","onPress","onPressIn","preventPress","repliesCurveColor","t","threadList","_useTheme","useTheme","_useTheme$theme","theme","accent_blue","colors","_useTheme$theme$messa","messageSimple","replies","leftCurve","rightCurve","reply_count","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","testID","borderColor","TouchableOpacity","disabled","event","emitter","defaultHandler","Text","color","replyCount","areEqual","prevProps","nextProps","prevMessage","prevNoBorder","prevOnOpenThread","prevT","prevThreadList","nextMessage","nextNoBorder","nextOnOpenThread","nextT","nextThreadList","threadListEqual","messageReplyCountEqual","noBorderEqual","tEqual","onOpenThreadEqual","MemoizedMessageReplies","React","memo","MessageReplies","_useMessageContext","useMessageContext","_useMessagesContext","useMessagesContext","_useTranslationContex","useTranslationContext","_extends2","exports","displayName"],"sources":["MessageReplies.tsx"],"sourcesContent":["import React from 'react';\nimport { ColorValue, StyleSheet, Text, TouchableOpacity, View } from 'react-native';\n\nimport {\n MessageContextValue,\n useMessageContext,\n} from '../../../contexts/messageContext/MessageContext';\nimport {\n MessagesContextValue,\n useMessagesContext,\n} from '../../../contexts/messagesContext/MessagesContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\nimport {\n TranslationContextValue,\n useTranslationContext,\n} from '../../../contexts/translationContext/TranslationContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n marginTop: 8,\n },\n curveContainer: {\n flexDirection: 'row',\n },\n leftMessageRepliesCurve: {\n borderBottomLeftRadius: 16,\n borderRightWidth: 0,\n },\n messageRepliesCurve: {\n borderTopWidth: 0,\n borderWidth: 1,\n height: 16,\n width: 16,\n },\n messageRepliesText: {\n fontSize: 12,\n fontWeight: '700',\n paddingBottom: 5,\n paddingHorizontal: 8,\n },\n rightMessageRepliesCurve: {\n borderBottomRightRadius: 16,\n borderLeftWidth: 0,\n },\n});\n\nexport type MessageRepliesPropsWithContext<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<\n MessageContextValue<StreamChatGenerics>,\n | 'alignment'\n | 'message'\n | 'onLongPress'\n | 'onPress'\n | 'onPressIn'\n | 'onOpenThread'\n | 'preventPress'\n | 'threadList'\n> &\n Pick<MessagesContextValue<StreamChatGenerics>, 'MessageRepliesAvatars'> &\n Pick<TranslationContextValue, 't'> & {\n noBorder?: boolean;\n repliesCurveColor?: ColorValue;\n };\n\nconst MessageRepliesWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n MessageRepliesAvatars,\n noBorder,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n repliesCurveColor,\n t,\n threadList,\n } = props;\n\n const {\n theme: {\n colors: { accent_blue },\n messageSimple: {\n replies: { container, leftCurve, messageRepliesText, rightCurve },\n },\n },\n } = useTheme();\n\n if (threadList || !message.reply_count) return null;\n\n return (\n <View style={styles.curveContainer}>\n {alignment === 'left' && (\n <View style={styles.curveContainer} testID='message-replies-left'>\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.leftMessageRepliesCurve,\n leftCurve,\n ]}\n />\n )}\n <MessageRepliesAvatars alignment={alignment} message={message} />\n </View>\n )}\n <TouchableOpacity\n disabled={preventPress}\n onLongPress={(event) => {\n if (onLongPress) {\n onLongPress({\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPress={(event) => {\n if (onPress) {\n onPress({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n onPressIn={(event) => {\n if (onPressIn) {\n onPressIn({\n defaultHandler: onOpenThread,\n emitter: 'messageReplies',\n event,\n });\n }\n }}\n style={[styles.container, container]}\n testID='message-replies'\n >\n <Text style={[styles.messageRepliesText, { color: accent_blue }, messageRepliesText]}>\n {message.reply_count === 1\n ? t('1 Thread Reply')\n : t('{{ replyCount }} Thread Replies', {\n replyCount: message.reply_count,\n })}\n </Text>\n </TouchableOpacity>\n {alignment === 'right' && (\n <View style={styles.curveContainer} testID='message-replies-right'>\n <MessageRepliesAvatars alignment={alignment} message={message} />\n {!noBorder && (\n <View\n style={[\n { borderColor: repliesCurveColor },\n styles.messageRepliesCurve,\n styles.rightMessageRepliesCurve,\n rightCurve,\n ]}\n />\n )}\n </View>\n )}\n </View>\n );\n};\n\nconst areEqual = <StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics>(\n prevProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n nextProps: MessageRepliesPropsWithContext<StreamChatGenerics>,\n) => {\n const {\n message: prevMessage,\n noBorder: prevNoBorder,\n onOpenThread: prevOnOpenThread,\n t: prevT,\n threadList: prevThreadList,\n } = prevProps;\n const {\n message: nextMessage,\n noBorder: nextNoBorder,\n onOpenThread: nextOnOpenThread,\n t: nextT,\n threadList: nextThreadList,\n } = nextProps;\n\n const threadListEqual = prevThreadList === nextThreadList;\n if (!threadListEqual) return false;\n\n const messageReplyCountEqual = prevMessage.reply_count === nextMessage.reply_count;\n if (!messageReplyCountEqual) return false;\n\n const noBorderEqual = prevNoBorder === nextNoBorder;\n if (!noBorderEqual) return false;\n\n const tEqual = prevT === nextT;\n if (!tEqual) return false;\n\n const onOpenThreadEqual = prevOnOpenThread === nextOnOpenThread;\n if (!onOpenThreadEqual) return false;\n\n return true;\n};\n\nconst MemoizedMessageReplies = React.memo(\n MessageRepliesWithContext,\n areEqual,\n) as typeof MessageRepliesWithContext;\n\nexport type MessageRepliesProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Partial<MessageRepliesPropsWithContext<StreamChatGenerics>>;\n\nexport const MessageReplies = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesProps<StreamChatGenerics>,\n) => {\n const {\n alignment,\n message,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n threadList,\n } = useMessageContext<StreamChatGenerics>();\n const { MessageRepliesAvatars } = useMessagesContext<StreamChatGenerics>();\n const { t } = useTranslationContext();\n\n return (\n <MemoizedMessageReplies\n {...{\n alignment,\n message,\n MessageRepliesAvatars,\n onLongPress,\n onOpenThread,\n onPress,\n onPressIn,\n preventPress,\n t,\n threadList,\n }}\n {...props}\n />\n );\n};\n\nMessageReplies.displayName = 'MessageReplies{messageSimple{replies}}';\n"],"mappings":"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"}
|
|
@@ -40,9 +40,7 @@ var MessageRepliesAvatarsWithContext = function MessageRepliesAvatarsWithContext
|
|
|
40
40
|
var avatars = ((_message$thread_parti = message.thread_participants) == null ? void 0 : _message$thread_parti.slice(-2)) || [];
|
|
41
41
|
var hasMoreThanOneReply = avatars.length > 1;
|
|
42
42
|
return _react["default"].createElement(_reactNative.View, {
|
|
43
|
-
style: [styles.avatarContainer, alignment === 'right' ?
|
|
44
|
-
marginLeft: 8
|
|
45
|
-
}, rightAvatarsContainer) : leftAvatarsContainer],
|
|
43
|
+
style: [styles.avatarContainer, alignment === 'right' ? rightAvatarsContainer : leftAvatarsContainer],
|
|
46
44
|
__self: _this,
|
|
47
45
|
__source: {
|
|
48
46
|
fileName: _jsxFileName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_ThemeContext","_Avatar","_this","_jsxFileName","styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatarsWithContext","props","_message$thread_parti","alignment","ImageComponent","message","_useTheme","useTheme","_useTheme$theme","theme","white_snow","colors","_useTheme$theme$messa","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","createElement","View","style","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChatContext","_ThemeContext","_Avatar","_this","_jsxFileName","styles","StyleSheet","create","avatarContainer","alignItems","flexDirection","paddingTop","topAvatar","position","MessageRepliesAvatarsWithContext","props","_message$thread_parti","alignment","ImageComponent","message","_useTheme","useTheme","_useTheme$theme","theme","white_snow","colors","_useTheme$theme$messa","messageSimple","replies","avatar","avatarContainerMultiple","avatarContainerSingle","avatarSize","leftAvatarsContainer","rightAvatarsContainer","avatars","thread_participants","slice","hasMoreThanOneReply","length","createElement","View","style","__self","__source","fileName","lineNumber","columnNumber","map","user","i","key","id","_extends2","paddingLeft","Avatar","containerStyle","borderColor","borderWidth","image","name","size","exports","MessageRepliesAvatars","_useChatContext","useChatContext"],"sources":["MessageRepliesAvatars.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { ChatContextValue, useChatContext } from '../../../contexts/chatContext/ChatContext';\nimport type { MessageContextValue } from '../../../contexts/messageContext/MessageContext';\nimport { useTheme } from '../../../contexts/themeContext/ThemeContext';\n\nimport type { DefaultStreamChatGenerics } from '../../../types/types';\nimport { Avatar } from '../../Avatar/Avatar';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingTop: 2,\n },\n topAvatar: {\n paddingTop: 2,\n position: 'absolute',\n },\n});\n\nexport type MessageRepliesAvatarsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageContextValue<StreamChatGenerics>, 'alignment' | 'message'>;\n\nexport const MessageRepliesAvatarsWithContext = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics> & Pick<ChatContextValue, 'ImageComponent'>,\n) => {\n const { alignment, ImageComponent, message } = props;\n\n const {\n theme: {\n colors: { white_snow },\n messageSimple: {\n replies: {\n avatar,\n avatarContainerMultiple,\n avatarContainerSingle,\n avatarSize,\n leftAvatarsContainer,\n rightAvatarsContainer,\n },\n },\n },\n } = useTheme();\n\n const avatars = message.thread_participants?.slice(-2) || [];\n const hasMoreThanOneReply = avatars.length > 1;\n\n return (\n <View\n style={[\n styles.avatarContainer,\n alignment === 'right' ? rightAvatarsContainer : leftAvatarsContainer,\n ]}\n >\n {avatars.map((user, i) => (\n <View\n key={user.id}\n style={\n i === 1\n ? { ...styles.topAvatar, ...avatarContainerSingle }\n : {\n paddingLeft: hasMoreThanOneReply ? 8 : 0,\n ...avatarContainerMultiple,\n }\n }\n >\n <Avatar\n containerStyle={[\n i === 1 && {\n borderColor: white_snow,\n borderWidth: 1,\n },\n avatar,\n ]}\n image={user.image}\n ImageComponent={ImageComponent}\n name={user.name}\n size={avatarSize ? avatarSize : i === 1 ? 18 : 16}\n />\n </View>\n ))}\n </View>\n );\n};\n\nexport const MessageRepliesAvatars = <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n>(\n props: MessageRepliesAvatarsProps<StreamChatGenerics>,\n) => {\n const { ImageComponent } = useChatContext();\n\n return <MessageRepliesAvatarsWithContext {...props} ImageComponent={ImageComponent} />;\n};\n"],"mappings":"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"}
|
package/lib/module/version.json
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "5.18.0-beta.
|
|
4
|
+
"version": "5.18.0-beta.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { ColorValue,
|
|
2
|
+
import { ColorValue, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
MessageContextValue,
|
|
@@ -28,15 +28,9 @@ const styles = StyleSheet.create({
|
|
|
28
28
|
},
|
|
29
29
|
leftMessageRepliesCurve: {
|
|
30
30
|
borderBottomLeftRadius: 16,
|
|
31
|
-
|
|
32
|
-
...Platform.select({
|
|
33
|
-
android: {
|
|
34
|
-
borderRightWidth: 0,
|
|
35
|
-
},
|
|
36
|
-
}),
|
|
31
|
+
borderRightWidth: 0,
|
|
37
32
|
},
|
|
38
33
|
messageRepliesCurve: {
|
|
39
|
-
borderTopColor: 'transparent',
|
|
40
34
|
borderTopWidth: 0,
|
|
41
35
|
borderWidth: 1,
|
|
42
36
|
height: 16,
|
|
@@ -46,16 +40,11 @@ const styles = StyleSheet.create({
|
|
|
46
40
|
fontSize: 12,
|
|
47
41
|
fontWeight: '700',
|
|
48
42
|
paddingBottom: 5,
|
|
49
|
-
|
|
43
|
+
paddingHorizontal: 8,
|
|
50
44
|
},
|
|
51
45
|
rightMessageRepliesCurve: {
|
|
52
46
|
borderBottomRightRadius: 16,
|
|
53
|
-
|
|
54
|
-
...Platform.select({
|
|
55
|
-
android: {
|
|
56
|
-
borderLeftWidth: 0,
|
|
57
|
-
},
|
|
58
|
-
}),
|
|
47
|
+
borderLeftWidth: 0,
|
|
59
48
|
},
|
|
60
49
|
});
|
|
61
50
|
|
|
@@ -112,7 +101,7 @@ const MessageRepliesWithContext = <
|
|
|
112
101
|
return (
|
|
113
102
|
<View style={styles.curveContainer}>
|
|
114
103
|
{alignment === 'left' && (
|
|
115
|
-
<View testID='message-replies-left'>
|
|
104
|
+
<View style={styles.curveContainer} testID='message-replies-left'>
|
|
116
105
|
{!noBorder && (
|
|
117
106
|
<View
|
|
118
107
|
style={[
|
|
@@ -166,7 +155,7 @@ const MessageRepliesWithContext = <
|
|
|
166
155
|
</Text>
|
|
167
156
|
</TouchableOpacity>
|
|
168
157
|
{alignment === 'right' && (
|
|
169
|
-
<View testID='message-replies-right'>
|
|
158
|
+
<View style={styles.curveContainer} testID='message-replies-right'>
|
|
170
159
|
<MessageRepliesAvatars alignment={alignment} message={message} />
|
|
171
160
|
{!noBorder && (
|
|
172
161
|
<View
|
|
@@ -54,7 +54,7 @@ export const MessageRepliesAvatarsWithContext = <
|
|
|
54
54
|
<View
|
|
55
55
|
style={[
|
|
56
56
|
styles.avatarContainer,
|
|
57
|
-
alignment === 'right' ?
|
|
57
|
+
alignment === 'right' ? rightAvatarsContainer : leftAvatarsContainer,
|
|
58
58
|
]}
|
|
59
59
|
>
|
|
60
60
|
{avatars.map((user, i) => (
|
package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageReplies.test.js.snap
CHANGED
|
@@ -9,6 +9,11 @@ exports[`MessageReplies should render message replies 1`] = `
|
|
|
9
9
|
}
|
|
10
10
|
>
|
|
11
11
|
<View
|
|
12
|
+
style={
|
|
13
|
+
Object {
|
|
14
|
+
"flexDirection": "row",
|
|
15
|
+
}
|
|
16
|
+
}
|
|
12
17
|
testID="message-replies-left"
|
|
13
18
|
>
|
|
14
19
|
<View
|
|
@@ -18,7 +23,6 @@ exports[`MessageReplies should render message replies 1`] = `
|
|
|
18
23
|
"borderColor": undefined,
|
|
19
24
|
},
|
|
20
25
|
Object {
|
|
21
|
-
"borderTopColor": "transparent",
|
|
22
26
|
"borderTopWidth": 0,
|
|
23
27
|
"borderWidth": 1,
|
|
24
28
|
"height": 16,
|
|
@@ -26,7 +30,7 @@ exports[`MessageReplies should render message replies 1`] = `
|
|
|
26
30
|
},
|
|
27
31
|
Object {
|
|
28
32
|
"borderBottomLeftRadius": 16,
|
|
29
|
-
"
|
|
33
|
+
"borderRightWidth": 0,
|
|
30
34
|
},
|
|
31
35
|
Object {},
|
|
32
36
|
]
|
|
@@ -73,7 +77,7 @@ exports[`MessageReplies should render message replies 1`] = `
|
|
|
73
77
|
"fontSize": 12,
|
|
74
78
|
"fontWeight": "700",
|
|
75
79
|
"paddingBottom": 5,
|
|
76
|
-
"
|
|
80
|
+
"paddingHorizontal": 8,
|
|
77
81
|
},
|
|
78
82
|
Object {
|
|
79
83
|
"color": "#005FFF",
|
package/src/version.json
CHANGED