stream-chat-react-native-core 5.18.0-beta.2 → 5.18.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/components/MessageOverlay/OverlayReactions.js +51 -28
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.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/components/MessageOverlay/OverlayReactions.js +51 -28
- package/lib/module/components/MessageOverlay/OverlayReactions.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/components/MessageOverlay/OverlayReactions.tsx +48 -27
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSvg","_ThemeContext","_icons","_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","avatarContainer","padding","avatarInnerContainer","alignSelf","avatarName","flex","fontSize","fontWeight","paddingTop","textAlign","avatarNameContainer","alignItems","flexDirection","flexGrow","container","borderRadius","marginTop","width","flatListContainer","paddingHorizontal","paddingVertical","flatListContentContainer","paddingBottom","reactionBubble","justifyContent","position","reactionBubbleBackground","height","title","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionIcon","_ref","_supportedReactions$f","pathFill","size","supportedReactions","find","reaction","Unknown","createElement","__self","__source","fileName","lineNumber","columnNumber","OverlayReactions","props","overlayAlignment","alignment","reactions","_props$supportedReact","showScreen","OverlayReactionsAvatar","layoutHeight","useSharedValue","layoutWidth","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","black","grey_gainsboro","white","_useTheme$theme$overl","overlay","overlayPadding","_useTheme$theme$overl2","avatarSize","radius","titleStyle","useWindowDimensions","supportedReactionTypes","map","supportedReaction","filteredReactions","filter","includes","numColumns","Math","floor","Number","maxHeight","renderItem","_ref2","item","_item$alignment","name","x","y","left","top","View","style","absoluteFill","Circle","cx","cy","fill","r","stroke","strokeWidth","backgroundColor","borderColor","borderWidth","Text","color","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","onLayout","_ref3","layout","nativeEvent","FlatList","contentContainerStyle","data","keyExtractor","_ref4","index","exports","displayName"],"sources":["OverlayReactions.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { FlatList } from 'react-native-gesture-handler';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\nimport Svg, { Circle } from 'react-native-svg';\n\nimport type { Alignment } from '../../contexts/messageContext/MessageContext';\nimport type { MessageOverlayContextValue } from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n Unknown,\n WutReaction,\n} from '../../icons';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n padding: 8,\n },\n avatarInnerContainer: {\n alignSelf: 'center',\n },\n avatarName: {\n flex: 1,\n fontSize: 12,\n fontWeight: '700',\n paddingTop: 6,\n textAlign: 'center',\n },\n avatarNameContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n flexGrow: 1,\n },\n container: {\n alignItems: 'center',\n borderRadius: 16,\n marginTop: 8,\n width: '100%',\n },\n flatListContainer: {\n paddingHorizontal: 12,\n paddingVertical: 8,\n },\n flatListContentContainer: {\n alignItems: 'center',\n paddingBottom: 12,\n },\n reactionBubble: {\n alignItems: 'center',\n borderRadius: 24,\n justifyContent: 'center',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n width: 24,\n },\n title: {\n fontSize: 16,\n fontWeight: '700',\n paddingTop: 16,\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\nexport type Reaction = {\n alignment: Alignment;\n id: string;\n name: string;\n type: string;\n image?: string;\n};\n\nexport type OverlayReactionsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageOverlayContextValue<StreamChatGenerics>, 'OverlayReactionsAvatar'> & {\n reactions: Reaction[];\n showScreen: Animated.SharedValue<number>;\n title: string;\n alignment?: Alignment;\n supportedReactions?: ReactionData[];\n};\n\nconst ReactionIcon: React.FC<\n Pick<Reaction, 'type'> & {\n pathFill: string;\n size: number;\n supportedReactions: ReactionData[];\n }\n> = ({ pathFill, size, supportedReactions, type }) => {\n const Icon = supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n return <Icon height={size} pathFill={pathFill} width={size} />;\n};\n\n/**\n * OverlayReactions - A high level component which implements all the logic required for message overlay reactions\n */\nexport const OverlayReactions: React.FC<OverlayReactionsProps> = (props) => {\n const {\n alignment: overlayAlignment,\n reactions,\n supportedReactions = reactionData,\n showScreen,\n title,\n OverlayReactionsAvatar,\n } = props;\n const layoutHeight = useSharedValue(0);\n const layoutWidth = useSharedValue(0);\n\n const {\n theme: {\n colors: { accent_blue, black, grey_gainsboro, white },\n overlay: {\n padding: overlayPadding,\n reactions: {\n avatarContainer,\n avatarName,\n avatarSize,\n container,\n flatListContainer,\n radius,\n reactionBubble,\n reactionBubbleBackground,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n const height = useWindowDimensions().height;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n\n const filteredReactions = reactions.filter((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n const numColumns = Math.floor(\n (width -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingHorizontal || 0) ||\n styles.flatListContainer.paddingHorizontal) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2) /\n (avatarSize + (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding) * 2),\n );\n\n const maxHeight = Math.floor(\n height -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingVertical || 0) ||\n styles.flatListContainer.paddingVertical) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2,\n );\n\n const renderItem = ({ item }: { item: Reaction }) => {\n const { alignment = 'left', name, type } = item;\n const x = avatarSize / 2 - (avatarSize / (radius * 4)) * (alignment === 'left' ? 1 : -1);\n const y = avatarSize - radius;\n\n const left =\n alignment === 'left'\n ? x -\n (Number(reactionBubbleBackground.width || 0) || styles.reactionBubbleBackground.width) +\n radius\n : x - radius;\n const top =\n y -\n radius -\n (Number(reactionBubbleBackground.height || 0) || styles.reactionBubbleBackground.height);\n\n return (\n <View style={[styles.avatarContainer, avatarContainer]}>\n <View style={styles.avatarInnerContainer}>\n <OverlayReactionsAvatar reaction={item} size={avatarSize} />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n <Circle\n cx={x}\n cy={y}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n borderColor: alignment === 'left' ? white : grey_gainsboro,\n borderWidth: radius / 2,\n left,\n top,\n },\n reactionBubbleBackground,\n ]}\n />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2 - radius / 2}\n />\n </Svg>\n </View>\n <View\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n height:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n left,\n top,\n width:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n },\n reactionBubble,\n ]}\n >\n <ReactionIcon\n pathFill={accent_blue}\n size={(reactionBubble.borderRadius || styles.reactionBubble.borderRadius) / 2}\n supportedReactions={supportedReactions}\n type={type}\n />\n </View>\n </View>\n </View>\n <View style={styles.avatarNameContainer}>\n <Text style={[styles.avatarName, { color: black }, avatarName]}>{name}</Text>\n </View>\n </View>\n );\n };\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-layoutHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [overlayAlignment === 'left' ? -layoutWidth.value / 2 : layoutWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [overlayAlignment],\n );\n\n return (\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n layoutWidth.value = layout.width;\n layoutHeight.value = layout.height;\n }}\n style={[styles.container, { backgroundColor: white }, container, showScreenStyle]}\n >\n <Text style={[styles.title, { color: black }, titleStyle]}>{title}</Text>\n <FlatList\n contentContainerStyle={styles.flatListContentContainer}\n data={filteredReactions}\n keyExtractor={({ name }, index) => `${name}_${index}`}\n numColumns={numColumns}\n renderItem={renderItem}\n style={[styles.flatListContainer, flatListContainer, { maxHeight: maxHeight / numColumns }]}\n />\n </Animated.View>\n );\n};\n\nOverlayReactions.displayName = 'OverlayReactions{overlay{reactions}}';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_reactNativeSvg","_ThemeContext","_icons","_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","avatarContainer","padding","avatarInnerContainer","alignSelf","avatarName","flex","fontSize","fontWeight","paddingTop","textAlign","avatarNameContainer","alignItems","flexDirection","flexGrow","container","borderRadius","marginTop","width","flatListContainer","paddingHorizontal","paddingVertical","flatListContentContainer","paddingBottom","reactionBubble","justifyContent","position","reactionBubbleBackground","height","title","unseenItemContainer","opacity","reactionData","Icon","LoveReaction","type","ThumbsUpReaction","ThumbsDownReaction","LOLReaction","WutReaction","ReactionIcon","_ref","_supportedReactions$f","pathFill","size","supportedReactions","find","reaction","Unknown","createElement","__self","__source","fileName","lineNumber","columnNumber","OverlayReactions","props","overlayAlignment","alignment","reactions","_props$supportedReact","showScreen","OverlayReactionsAvatar","layoutHeight","useSharedValue","layoutWidth","_React$useState","React","useState","_React$useState2","_slicedToArray2","itemHeight","setItemHeight","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","black","grey_gainsboro","white","_useTheme$theme$overl","overlay","overlayPadding","_useTheme$theme$overl2","avatarSize","radius","titleStyle","useWindowDimensions","supportedReactionTypes","map","supportedReaction","filteredReactions","filter","includes","numColumns","Math","floor","Number","renderItem","_ref2","item","_item$alignment","name","x","y","left","top","View","style","absoluteFill","Circle","cx","cy","fill","r","stroke","strokeWidth","backgroundColor","borderColor","borderWidth","Text","color","showScreenStyle","useAnimatedStyle","transform","translateY","interpolate","value","translateX","scale","Fragment","onLayout","_ref3","layout","nativeEvent","FlatList","contentContainerStyle","data","keyExtractor","_ref4","index","maxHeight","length","_ref5","exports","displayName"],"sources":["OverlayReactions.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, Text, useWindowDimensions, View, ViewStyle } from 'react-native';\nimport { FlatList } from 'react-native-gesture-handler';\nimport Animated, { interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';\nimport Svg, { Circle } from 'react-native-svg';\n\nimport type { Alignment } from '../../contexts/messageContext/MessageContext';\nimport type { MessageOverlayContextValue } from '../../contexts/messageOverlayContext/MessageOverlayContext';\nimport { useTheme } from '../../contexts/themeContext/ThemeContext';\nimport {\n LOLReaction,\n LoveReaction,\n ThumbsDownReaction,\n ThumbsUpReaction,\n Unknown,\n WutReaction,\n} from '../../icons';\n\nimport type { DefaultStreamChatGenerics } from '../../types/types';\nimport type { ReactionData } from '../../utils/utils';\n\nconst styles = StyleSheet.create({\n avatarContainer: {\n padding: 8,\n },\n avatarInnerContainer: {\n alignSelf: 'center',\n },\n avatarName: {\n flex: 1,\n fontSize: 12,\n fontWeight: '700',\n paddingTop: 6,\n textAlign: 'center',\n },\n avatarNameContainer: {\n alignItems: 'center',\n flexDirection: 'row',\n flexGrow: 1,\n },\n container: {\n alignItems: 'center',\n borderRadius: 16,\n marginTop: 8,\n width: '100%',\n },\n flatListContainer: {\n paddingHorizontal: 12,\n paddingVertical: 8,\n },\n flatListContentContainer: {\n alignItems: 'center',\n paddingBottom: 12,\n },\n reactionBubble: {\n alignItems: 'center',\n borderRadius: 24,\n justifyContent: 'center',\n position: 'absolute',\n },\n reactionBubbleBackground: {\n borderRadius: 24,\n height: 24,\n position: 'absolute',\n width: 24,\n },\n title: {\n fontSize: 16,\n fontWeight: '700',\n paddingTop: 16,\n },\n unseenItemContainer: {\n opacity: 0,\n position: 'absolute',\n },\n});\n\nconst reactionData: ReactionData[] = [\n {\n Icon: LoveReaction,\n type: 'love',\n },\n {\n Icon: ThumbsUpReaction,\n type: 'like',\n },\n {\n Icon: ThumbsDownReaction,\n type: 'sad',\n },\n {\n Icon: LOLReaction,\n type: 'haha',\n },\n {\n Icon: WutReaction,\n type: 'wow',\n },\n];\n\nexport type Reaction = {\n alignment: Alignment;\n id: string;\n name: string;\n type: string;\n image?: string;\n};\n\nexport type OverlayReactionsProps<\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n> = Pick<MessageOverlayContextValue<StreamChatGenerics>, 'OverlayReactionsAvatar'> & {\n reactions: Reaction[];\n showScreen: Animated.SharedValue<number>;\n title: string;\n alignment?: Alignment;\n supportedReactions?: ReactionData[];\n};\n\nconst ReactionIcon: React.FC<\n Pick<Reaction, 'type'> & {\n pathFill: string;\n size: number;\n supportedReactions: ReactionData[];\n }\n> = ({ pathFill, size, supportedReactions, type }) => {\n const Icon = supportedReactions.find((reaction) => reaction.type === type)?.Icon || Unknown;\n return <Icon height={size} pathFill={pathFill} width={size} />;\n};\n\n/**\n * OverlayReactions - A high level component which implements all the logic required for message overlay reactions\n */\nexport const OverlayReactions: React.FC<OverlayReactionsProps> = (props) => {\n const {\n alignment: overlayAlignment,\n reactions,\n supportedReactions = reactionData,\n showScreen,\n title,\n OverlayReactionsAvatar,\n } = props;\n const layoutHeight = useSharedValue(0);\n const layoutWidth = useSharedValue(0);\n\n const [itemHeight, setItemHeight] = React.useState(0);\n\n const {\n theme: {\n colors: { accent_blue, black, grey_gainsboro, white },\n overlay: {\n padding: overlayPadding,\n reactions: {\n avatarContainer,\n avatarName,\n avatarSize,\n container,\n flatListContainer,\n radius,\n reactionBubble,\n reactionBubbleBackground,\n title: titleStyle,\n },\n },\n },\n } = useTheme();\n\n const width = useWindowDimensions().width;\n\n const supportedReactionTypes = supportedReactions.map(\n (supportedReaction) => supportedReaction.type,\n );\n\n const filteredReactions = reactions.filter((reaction) =>\n supportedReactionTypes.includes(reaction.type),\n );\n\n const numColumns = Math.floor(\n (width -\n overlayPadding * 2 -\n ((Number(flatListContainer.paddingHorizontal || 0) ||\n styles.flatListContainer.paddingHorizontal) +\n (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding)) *\n 2) /\n (avatarSize + (Number(avatarContainer.padding || 0) || styles.avatarContainer.padding) * 2),\n );\n\n const renderItem = ({ item }: { item: Reaction }) => {\n const { alignment = 'left', name, type } = item;\n const x = avatarSize / 2 - (avatarSize / (radius * 4)) * (alignment === 'left' ? 1 : -1);\n const y = avatarSize - radius;\n\n const left =\n alignment === 'left'\n ? x -\n (Number(reactionBubbleBackground.width || 0) || styles.reactionBubbleBackground.width) +\n radius\n : x - radius;\n const top =\n y -\n radius -\n (Number(reactionBubbleBackground.height || 0) || styles.reactionBubbleBackground.height);\n\n return (\n <View style={[styles.avatarContainer, avatarContainer]}>\n <View style={styles.avatarInnerContainer}>\n <OverlayReactionsAvatar reaction={item} size={avatarSize} />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n <Circle\n cx={x}\n cy={y}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius}\n stroke={alignment === 'left' ? white : grey_gainsboro}\n strokeWidth={radius / 2}\n />\n </Svg>\n <View\n style={[\n styles.reactionBubbleBackground,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n borderColor: alignment === 'left' ? white : grey_gainsboro,\n borderWidth: radius / 2,\n left,\n top,\n },\n reactionBubbleBackground,\n ]}\n />\n <View style={[StyleSheet.absoluteFill]}>\n <Svg>\n <Circle\n cx={x - (radius * 2 - radius / 4) * (alignment === 'left' ? 1 : -1)}\n cy={y - radius * 2 - radius / 4}\n fill={alignment === 'left' ? grey_gainsboro : white}\n r={radius * 2 - radius / 2}\n />\n </Svg>\n </View>\n <View\n style={[\n styles.reactionBubble,\n {\n backgroundColor: alignment === 'left' ? grey_gainsboro : white,\n height:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n left,\n top,\n width:\n (reactionBubble.borderRadius || styles.reactionBubble.borderRadius) -\n radius / 2,\n },\n reactionBubble,\n ]}\n >\n <ReactionIcon\n pathFill={accent_blue}\n size={(reactionBubble.borderRadius || styles.reactionBubble.borderRadius) / 2}\n supportedReactions={supportedReactions}\n type={type}\n />\n </View>\n </View>\n </View>\n <View style={styles.avatarNameContainer}>\n <Text style={[styles.avatarName, { color: black }, avatarName]}>{name}</Text>\n </View>\n </View>\n );\n };\n\n const showScreenStyle = useAnimatedStyle<ViewStyle>(\n () => ({\n transform: [\n {\n translateY: interpolate(showScreen.value, [0, 1], [-layoutHeight.value / 2, 0]),\n },\n {\n translateX: interpolate(\n showScreen.value,\n [0, 1],\n [overlayAlignment === 'left' ? -layoutWidth.value / 2 : layoutWidth.value / 2, 0],\n ),\n },\n {\n scale: showScreen.value,\n },\n ],\n }),\n [overlayAlignment],\n );\n\n return (\n <>\n <Animated.View\n onLayout={({ nativeEvent: { layout } }) => {\n layoutWidth.value = layout.width;\n layoutHeight.value = layout.height;\n }}\n style={[\n styles.container,\n { backgroundColor: white, opacity: itemHeight ? 1 : 0 },\n container,\n showScreenStyle,\n ]}\n >\n <Text style={[styles.title, { color: black }, titleStyle]}>{title}</Text>\n <FlatList\n contentContainerStyle={styles.flatListContentContainer}\n data={filteredReactions}\n key={numColumns}\n keyExtractor={({ name }, index) => `${name}_${index}`}\n numColumns={numColumns}\n renderItem={renderItem}\n style={[\n styles.flatListContainer,\n flatListContainer,\n {\n // we show the item height plus a little extra to tease for scrolling if there are more than one row\n maxHeight:\n itemHeight + (filteredReactions.length / numColumns > 1 ? itemHeight / 8 : 0),\n },\n ]}\n />\n {/* The below view is unseen by the user, we use it to compute the height that the item must be */}\n <View\n onLayout={({ nativeEvent: { layout } }) => {\n setItemHeight(layout.height);\n }}\n style={[styles.unseenItemContainer, styles.flatListContentContainer]}\n >\n {renderItem({ item: filteredReactions[0] })}\n </View>\n </Animated.View>\n </>\n );\n};\n\nOverlayReactions.displayName = 'OverlayReactions{overlay{reactions}}';\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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"}
|