@planningcenter/chat-react-native 4.4.0-rc.2 → 4.4.0-rc.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.
|
@@ -40,7 +40,7 @@ export function SystemMessage(t0) {
|
|
|
40
40
|
t1 = $[3];
|
|
41
41
|
}
|
|
42
42
|
const text = t1;
|
|
43
|
-
const
|
|
43
|
+
const isTruncated = overflowCount > 0;
|
|
44
44
|
const hasReactions = reactionCounts.length > 0;
|
|
45
45
|
const {
|
|
46
46
|
animatedBackgroundColor,
|
|
@@ -99,7 +99,7 @@ export function SystemMessage(t0) {
|
|
|
99
99
|
t4 = $[15];
|
|
100
100
|
}
|
|
101
101
|
const handleReactionLongPress = t4;
|
|
102
|
-
const t5 =
|
|
102
|
+
const t5 = isTruncated ? handlePress : undefined;
|
|
103
103
|
let t6;
|
|
104
104
|
if ($[16] !== colors.androidRippleNeutral) {
|
|
105
105
|
t6 = {
|
|
@@ -112,7 +112,7 @@ export function SystemMessage(t0) {
|
|
|
112
112
|
} else {
|
|
113
113
|
t6 = $[17];
|
|
114
114
|
}
|
|
115
|
-
const t7 =
|
|
115
|
+
const t7 = isTruncated ? "Tap to see people. Long press for message actions." : "Long press for message actions.";
|
|
116
116
|
let t8;
|
|
117
117
|
if ($[18] !== animatedBackgroundColor || $[19] !== styles.container) {
|
|
118
118
|
t8 = [styles.container, animatedBackgroundColor];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system_message.js","names":["useNavigation","React","Pressable","StyleSheet","View","Animated","useAnimatedMessageBackgroundColor","useTheme","Haptic","Text","MessageReaction","jsx","_jsx","jsxs","_jsxs","SystemMessage","t0","$","_c","message","conversationId","reactionCounts","systemTextParts","personIdsForSystemEvent","names","overflowCount","action","styles","useStyles","navigation","colors","t1","systemMessageText","text","hasPeople","length","hasReactions","animatedBackgroundColor","handleMessagePressIn","handleMessagePressOut","t2","navigate","conversation_id","person_ids","handlePress","t3","id","impactLight","message_id","isSystemMessage","handleLongPress","t4","reaction","reaction_value","value","handleReactionLongPress","t5","undefined","t6","androidRippleNeutral","color","borderless","foreground","t7","t8","container","t9","variant","style","children","t10","reactions","map","reaction_0","t11","t12","onPress","android_ripple","accessibilityRole","accessibilityHint","overflowLabel","join","textColorDefaultSecondary","create","paddingVertical","paddingHorizontal","alignItems","textAlign","flexDirection","flexWrap","justifyContent","gap","marginTop"],"sources":["../../../src/components/conversation/system_message.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React from 'react'\nimport { Pressable, StyleSheet, View } from 'react-native'\nimport Animated from 'react-native-reanimated'\nimport { useAnimatedMessageBackgroundColor, useTheme } from '../../hooks'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { Haptic } from '../../utils/native_adapters'\nimport { SystemMessageResource } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { MessageReaction } from './message_reaction'\n\ninterface SystemMessageProps {\n message: SystemMessageResource\n conversationId: number\n}\n\nexport function SystemMessage({ message, conversationId }: SystemMessageProps) {\n const { reactionCounts, systemTextParts, personIdsForSystemEvent } = message\n const { names, overflowCount, action } = systemTextParts\n const styles = useStyles()\n const navigation = useNavigation()\n const { colors } = useTheme()\n const text = systemMessageText(names, overflowCount, action)\n const hasPeople = personIdsForSystemEvent.length > 0\n const hasReactions = reactionCounts.length > 0\n const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =\n useAnimatedMessageBackgroundColor()\n\n const handlePress = () => {\n navigation.navigate('SystemMessagePeople', {\n conversation_id: conversationId,\n person_ids: personIdsForSystemEvent,\n })\n }\n\n const handleLongPress = () => {\n Haptic.impactLight()\n navigation.navigate('MessageActions', {\n message_id: message.id,\n conversation_id: conversationId,\n isSystemMessage: true,\n })\n }\n\n const handleReactionLongPress = (reaction: ReactionCountResource) => {\n Haptic.impactLight()\n navigation.navigate('Reactions', {\n message_id: message.id,\n conversation_id: conversationId,\n reaction_value: reaction.value,\n })\n }\n\n return (\n <Pressable\n onPress={hasPeople ? handlePress : undefined}\n onLongPress={handleLongPress}\n onPressIn={handleMessagePressIn}\n onPressOut={handleMessagePressOut}\n android_ripple={{ color: colors.androidRippleNeutral, borderless: false, foreground: true }}\n accessibilityRole=\"button\"\n accessibilityHint={\n hasPeople\n ? 'Tap to see people. Long press for message actions.'\n : 'Long press for message actions.'\n }\n >\n <Animated.View style={[styles.container, animatedBackgroundColor]}>\n <Text variant=\"tertiary\" style={styles.text}>\n {text}\n </Text>\n {hasReactions && (\n <View style={styles.reactions}>\n {message.reactionCounts.map(reaction => (\n <MessageReaction\n key={reaction.value}\n reaction={reaction}\n onLongPress={handleReactionLongPress}\n message={message}\n conversationId={conversationId}\n />\n ))}\n </View>\n )}\n </Animated.View>\n </Pressable>\n )\n}\n\nfunction systemMessageText(names: string[], overflowCount: number, action: string): string {\n if (overflowCount > 0) {\n const overflowLabel = `${overflowCount} ${overflowCount === 1 ? 'other' : 'others'}`\n return `${names.join(', ')}, and ${overflowLabel} ${action}`\n }\n\n switch (names.length) {\n case 0:\n return `Someone ${action}`\n case 1:\n return `${names[0]} ${action}`\n case 2:\n return `${names[0]} and ${names[1]} ${action}`\n // Backend guarantees names.length <= 3 when overflowCount is 0;\n // overflow branch handles 4+ people.\n default:\n return `${names[0]}, ${names[1]}, and ${names[2]} ${action}`\n }\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n container: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n alignItems: 'center',\n },\n text: {\n color: colors.textColorDefaultSecondary,\n textAlign: 'center',\n },\n reactions: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: 4,\n marginTop: 8,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"system_message.js","names":["useNavigation","React","Pressable","StyleSheet","View","Animated","useAnimatedMessageBackgroundColor","useTheme","Haptic","Text","MessageReaction","jsx","_jsx","jsxs","_jsxs","SystemMessage","t0","$","_c","message","conversationId","reactionCounts","systemTextParts","personIdsForSystemEvent","names","overflowCount","action","styles","useStyles","navigation","colors","t1","systemMessageText","text","isTruncated","hasReactions","length","animatedBackgroundColor","handleMessagePressIn","handleMessagePressOut","t2","navigate","conversation_id","person_ids","handlePress","t3","id","impactLight","message_id","isSystemMessage","handleLongPress","t4","reaction","reaction_value","value","handleReactionLongPress","t5","undefined","t6","androidRippleNeutral","color","borderless","foreground","t7","t8","container","t9","variant","style","children","t10","reactions","map","reaction_0","t11","t12","onPress","android_ripple","accessibilityRole","accessibilityHint","overflowLabel","join","textColorDefaultSecondary","create","paddingVertical","paddingHorizontal","alignItems","textAlign","flexDirection","flexWrap","justifyContent","gap","marginTop"],"sources":["../../../src/components/conversation/system_message.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React from 'react'\nimport { Pressable, StyleSheet, View } from 'react-native'\nimport Animated from 'react-native-reanimated'\nimport { useAnimatedMessageBackgroundColor, useTheme } from '../../hooks'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { Haptic } from '../../utils/native_adapters'\nimport { SystemMessageResource } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { MessageReaction } from './message_reaction'\n\ninterface SystemMessageProps {\n message: SystemMessageResource\n conversationId: number\n}\n\nexport function SystemMessage({ message, conversationId }: SystemMessageProps) {\n const { reactionCounts, systemTextParts, personIdsForSystemEvent } = message\n const { names, overflowCount, action } = systemTextParts\n const styles = useStyles()\n const navigation = useNavigation()\n const { colors } = useTheme()\n const text = systemMessageText(names, overflowCount, action)\n const isTruncated = overflowCount > 0\n const hasReactions = reactionCounts.length > 0\n const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =\n useAnimatedMessageBackgroundColor()\n\n const handlePress = () => {\n navigation.navigate('SystemMessagePeople', {\n conversation_id: conversationId,\n person_ids: personIdsForSystemEvent,\n })\n }\n\n const handleLongPress = () => {\n Haptic.impactLight()\n navigation.navigate('MessageActions', {\n message_id: message.id,\n conversation_id: conversationId,\n isSystemMessage: true,\n })\n }\n\n const handleReactionLongPress = (reaction: ReactionCountResource) => {\n Haptic.impactLight()\n navigation.navigate('Reactions', {\n message_id: message.id,\n conversation_id: conversationId,\n reaction_value: reaction.value,\n })\n }\n\n return (\n <Pressable\n onPress={isTruncated ? handlePress : undefined}\n onLongPress={handleLongPress}\n onPressIn={handleMessagePressIn}\n onPressOut={handleMessagePressOut}\n android_ripple={{ color: colors.androidRippleNeutral, borderless: false, foreground: true }}\n accessibilityRole=\"button\"\n accessibilityHint={\n isTruncated\n ? 'Tap to see people. Long press for message actions.'\n : 'Long press for message actions.'\n }\n >\n <Animated.View style={[styles.container, animatedBackgroundColor]}>\n <Text variant=\"tertiary\" style={styles.text}>\n {text}\n </Text>\n {hasReactions && (\n <View style={styles.reactions}>\n {message.reactionCounts.map(reaction => (\n <MessageReaction\n key={reaction.value}\n reaction={reaction}\n onLongPress={handleReactionLongPress}\n message={message}\n conversationId={conversationId}\n />\n ))}\n </View>\n )}\n </Animated.View>\n </Pressable>\n )\n}\n\nfunction systemMessageText(names: string[], overflowCount: number, action: string): string {\n if (overflowCount > 0) {\n const overflowLabel = `${overflowCount} ${overflowCount === 1 ? 'other' : 'others'}`\n return `${names.join(', ')}, and ${overflowLabel} ${action}`\n }\n\n switch (names.length) {\n case 0:\n return `Someone ${action}`\n case 1:\n return `${names[0]} ${action}`\n case 2:\n return `${names[0]} and ${names[1]} ${action}`\n // Backend guarantees names.length <= 3 when overflowCount is 0;\n // overflow branch handles 4+ people.\n default:\n return `${names[0]}, ${names[1]}, and ${names[2]} ${action}`\n }\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n container: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n alignItems: 'center',\n },\n text: {\n color: colors.textColorDefaultSecondary,\n textAlign: 'center',\n },\n reactions: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: 4,\n marginTop: 8,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@planningcenter/chat-react-native",
|
|
3
|
-
"version": "4.4.0-rc.
|
|
3
|
+
"version": "4.4.0-rc.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
"sf-symbols-typescript": "^2.2.0",
|
|
85
85
|
"typescript": "~6.0.3"
|
|
86
86
|
},
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "5b3380ec86d1c4052345da88e4ce6c62f0df5c55"
|
|
88
88
|
}
|
|
@@ -21,7 +21,7 @@ export function SystemMessage({ message, conversationId }: SystemMessageProps) {
|
|
|
21
21
|
const navigation = useNavigation()
|
|
22
22
|
const { colors } = useTheme()
|
|
23
23
|
const text = systemMessageText(names, overflowCount, action)
|
|
24
|
-
const
|
|
24
|
+
const isTruncated = overflowCount > 0
|
|
25
25
|
const hasReactions = reactionCounts.length > 0
|
|
26
26
|
const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =
|
|
27
27
|
useAnimatedMessageBackgroundColor()
|
|
@@ -53,14 +53,14 @@ export function SystemMessage({ message, conversationId }: SystemMessageProps) {
|
|
|
53
53
|
|
|
54
54
|
return (
|
|
55
55
|
<Pressable
|
|
56
|
-
onPress={
|
|
56
|
+
onPress={isTruncated ? handlePress : undefined}
|
|
57
57
|
onLongPress={handleLongPress}
|
|
58
58
|
onPressIn={handleMessagePressIn}
|
|
59
59
|
onPressOut={handleMessagePressOut}
|
|
60
60
|
android_ripple={{ color: colors.androidRippleNeutral, borderless: false, foreground: true }}
|
|
61
61
|
accessibilityRole="button"
|
|
62
62
|
accessibilityHint={
|
|
63
|
-
|
|
63
|
+
isTruncated
|
|
64
64
|
? 'Tap to see people. Long press for message actions.'
|
|
65
65
|
: 'Long press for message actions.'
|
|
66
66
|
}
|