@planningcenter/chat-react-native 4.4.1-qa-staging.9 → 4.4.1-qa-staging.10
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/build/components/conversation/system_message.d.ts.map +1 -1
- package/build/components/conversation/system_message.js +85 -74
- package/build/components/conversation/system_message.js.map +1 -1
- package/build/components/conversations/conversation_preview.js +2 -0
- package/build/components/conversations/conversation_preview.js.map +1 -1
- package/build/types/jolt_events/message_events.d.ts +2 -0
- package/build/types/jolt_events/message_events.d.ts.map +1 -1
- package/build/types/jolt_events/message_events.js.map +1 -1
- package/build/types/resources/conversation.d.ts +1 -1
- package/build/types/resources/conversation.d.ts.map +1 -1
- package/build/types/resources/conversation.js.map +1 -1
- package/build/types/resources/message.d.ts +2 -0
- package/build/types/resources/message.d.ts.map +1 -1
- package/build/types/resources/message.js.map +1 -1
- package/build/utils/date.d.ts +1 -0
- package/build/utils/date.d.ts.map +1 -1
- package/build/utils/date.js +15 -1
- package/build/utils/date.js.map +1 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.d.ts.map +1 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.js +2 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.js.map +1 -1
- package/build/utils/request/messages_data_options.d.ts.map +1 -1
- package/build/utils/request/messages_data_options.js +1 -1
- package/build/utils/request/messages_data_options.js.map +1 -1
- package/build/utils/system_messages.d.ts +7 -5
- package/build/utils/system_messages.d.ts.map +1 -1
- package/build/utils/system_messages.js +10 -2
- package/build/utils/system_messages.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/utils/system_messages.ts +19 -32
- package/src/components/conversation/__tests__/system_message.test.tsx +104 -0
- package/src/components/conversation/system_message.tsx +20 -6
- package/src/components/conversations/__tests__/conversation_preview.test.tsx +70 -0
- package/src/components/conversations/conversation_preview.tsx +4 -0
- package/src/types/jolt_events/message_events.ts +2 -0
- package/src/types/resources/conversation.ts +1 -1
- package/src/types/resources/message.ts +3 -0
- package/src/utils/__tests__/date.test.ts +19 -0
- package/src/utils/__tests__/group_messages.test.ts +1 -0
- package/src/utils/date.ts +8 -1
- package/src/utils/jolt/__tests__/transform_message_event_data_to_message_resource.test.ts +35 -0
- package/src/utils/jolt/transform_message_event_data_to_message_resource.ts +1 -0
- package/src/utils/request/messages_data_options.ts +1 -0
- package/src/utils/system_messages.ts +19 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system_message.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/system_message.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system_message.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/system_message.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAInE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,kBAAkB,2CAyE5E"}
|
|
@@ -4,43 +4,35 @@ import React from 'react';
|
|
|
4
4
|
import { Pressable, StyleSheet, View } from 'react-native';
|
|
5
5
|
import Animated from 'react-native-reanimated';
|
|
6
6
|
import { useAnimatedMessageBackgroundColor, useTheme } from '../../hooks';
|
|
7
|
+
import { formatEventDateTime } from '../../utils/date';
|
|
7
8
|
import { Haptic } from '../../utils/native_adapters';
|
|
8
9
|
import { Text } from '../display';
|
|
9
10
|
import { MessageReaction } from './message_reaction';
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
export function SystemMessage(t0) {
|
|
12
|
-
const $ = _c(
|
|
13
|
+
const $ = _c(41);
|
|
13
14
|
const {
|
|
14
15
|
message,
|
|
15
16
|
conversationId
|
|
16
17
|
} = t0;
|
|
17
18
|
const {
|
|
18
|
-
reactionCounts
|
|
19
|
-
systemTextParts,
|
|
20
|
-
personIdsForSystemEvent
|
|
19
|
+
reactionCounts
|
|
21
20
|
} = message;
|
|
22
|
-
const {
|
|
23
|
-
names,
|
|
24
|
-
overflowCount,
|
|
25
|
-
action
|
|
26
|
-
} = systemTextParts;
|
|
27
21
|
const styles = useStyles();
|
|
28
22
|
const navigation = useNavigation();
|
|
29
23
|
const {
|
|
30
24
|
colors
|
|
31
25
|
} = useTheme();
|
|
32
26
|
let t1;
|
|
33
|
-
if ($[0] !==
|
|
34
|
-
t1 = systemMessageText(
|
|
35
|
-
$[0] =
|
|
36
|
-
$[1] =
|
|
37
|
-
$[2] = overflowCount;
|
|
38
|
-
$[3] = t1;
|
|
27
|
+
if ($[0] !== message) {
|
|
28
|
+
t1 = systemMessageText(message);
|
|
29
|
+
$[0] = message;
|
|
30
|
+
$[1] = t1;
|
|
39
31
|
} else {
|
|
40
|
-
t1 = $[
|
|
32
|
+
t1 = $[1];
|
|
41
33
|
}
|
|
42
34
|
const text = t1;
|
|
43
|
-
const isTruncated = overflowCount > 0;
|
|
35
|
+
const isTruncated = message.systemTextFormat === "people" && message.systemTextParts.overflowCount > 0;
|
|
44
36
|
const hasReactions = reactionCounts.length > 0;
|
|
45
37
|
const {
|
|
46
38
|
animatedBackgroundColor,
|
|
@@ -48,23 +40,27 @@ export function SystemMessage(t0) {
|
|
|
48
40
|
handleMessagePressOut
|
|
49
41
|
} = useAnimatedMessageBackgroundColor();
|
|
50
42
|
let t2;
|
|
51
|
-
if ($[
|
|
43
|
+
if ($[2] !== conversationId || $[3] !== message.personIdsForSystemEvent || $[4] !== message.systemTextFormat || $[5] !== navigation) {
|
|
52
44
|
t2 = () => {
|
|
45
|
+
if (message.systemTextFormat !== "people") {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
53
48
|
navigation.navigate("SystemMessagePeople", {
|
|
54
49
|
conversation_id: conversationId,
|
|
55
|
-
person_ids: personIdsForSystemEvent
|
|
50
|
+
person_ids: message.personIdsForSystemEvent
|
|
56
51
|
});
|
|
57
52
|
};
|
|
58
|
-
$[
|
|
53
|
+
$[2] = conversationId;
|
|
54
|
+
$[3] = message.personIdsForSystemEvent;
|
|
55
|
+
$[4] = message.systemTextFormat;
|
|
59
56
|
$[5] = navigation;
|
|
60
|
-
$[6] =
|
|
61
|
-
$[7] = t2;
|
|
57
|
+
$[6] = t2;
|
|
62
58
|
} else {
|
|
63
|
-
t2 = $[
|
|
59
|
+
t2 = $[6];
|
|
64
60
|
}
|
|
65
61
|
const handlePress = t2;
|
|
66
62
|
let t3;
|
|
67
|
-
if ($[
|
|
63
|
+
if ($[7] !== conversationId || $[8] !== message.id || $[9] !== navigation) {
|
|
68
64
|
t3 = () => {
|
|
69
65
|
Haptic.impactLight();
|
|
70
66
|
navigation.navigate("MessageActions", {
|
|
@@ -73,16 +69,16 @@ export function SystemMessage(t0) {
|
|
|
73
69
|
isSystemMessage: true
|
|
74
70
|
});
|
|
75
71
|
};
|
|
76
|
-
$[
|
|
77
|
-
$[
|
|
78
|
-
$[
|
|
79
|
-
$[
|
|
72
|
+
$[7] = conversationId;
|
|
73
|
+
$[8] = message.id;
|
|
74
|
+
$[9] = navigation;
|
|
75
|
+
$[10] = t3;
|
|
80
76
|
} else {
|
|
81
|
-
t3 = $[
|
|
77
|
+
t3 = $[10];
|
|
82
78
|
}
|
|
83
79
|
const handleLongPress = t3;
|
|
84
80
|
let t4;
|
|
85
|
-
if ($[
|
|
81
|
+
if ($[11] !== conversationId || $[12] !== message.id || $[13] !== navigation) {
|
|
86
82
|
t4 = reaction => {
|
|
87
83
|
Haptic.impactLight();
|
|
88
84
|
navigation.navigate("Reactions", {
|
|
@@ -91,52 +87,52 @@ export function SystemMessage(t0) {
|
|
|
91
87
|
reaction_value: reaction.value
|
|
92
88
|
});
|
|
93
89
|
};
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
96
|
-
$[
|
|
97
|
-
$[
|
|
90
|
+
$[11] = conversationId;
|
|
91
|
+
$[12] = message.id;
|
|
92
|
+
$[13] = navigation;
|
|
93
|
+
$[14] = t4;
|
|
98
94
|
} else {
|
|
99
|
-
t4 = $[
|
|
95
|
+
t4 = $[14];
|
|
100
96
|
}
|
|
101
97
|
const handleReactionLongPress = t4;
|
|
102
98
|
const t5 = isTruncated ? handlePress : undefined;
|
|
103
99
|
let t6;
|
|
104
|
-
if ($[
|
|
100
|
+
if ($[15] !== colors.androidRippleNeutral) {
|
|
105
101
|
t6 = {
|
|
106
102
|
color: colors.androidRippleNeutral,
|
|
107
103
|
borderless: false,
|
|
108
104
|
foreground: true
|
|
109
105
|
};
|
|
110
|
-
$[
|
|
111
|
-
$[
|
|
106
|
+
$[15] = colors.androidRippleNeutral;
|
|
107
|
+
$[16] = t6;
|
|
112
108
|
} else {
|
|
113
|
-
t6 = $[
|
|
109
|
+
t6 = $[16];
|
|
114
110
|
}
|
|
115
111
|
const t7 = isTruncated ? "Tap to see people. Long press for message actions." : "Long press for message actions.";
|
|
116
112
|
let t8;
|
|
117
|
-
if ($[
|
|
113
|
+
if ($[17] !== animatedBackgroundColor || $[18] !== styles.container) {
|
|
118
114
|
t8 = [styles.container, animatedBackgroundColor];
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
115
|
+
$[17] = animatedBackgroundColor;
|
|
116
|
+
$[18] = styles.container;
|
|
117
|
+
$[19] = t8;
|
|
122
118
|
} else {
|
|
123
|
-
t8 = $[
|
|
119
|
+
t8 = $[19];
|
|
124
120
|
}
|
|
125
121
|
let t9;
|
|
126
|
-
if ($[
|
|
122
|
+
if ($[20] !== styles.text || $[21] !== text) {
|
|
127
123
|
t9 = /*#__PURE__*/_jsx(Text, {
|
|
128
124
|
variant: "tertiary",
|
|
129
125
|
style: styles.text,
|
|
130
126
|
children: text
|
|
131
127
|
});
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
128
|
+
$[20] = styles.text;
|
|
129
|
+
$[21] = text;
|
|
130
|
+
$[22] = t9;
|
|
135
131
|
} else {
|
|
136
|
-
t9 = $[
|
|
132
|
+
t9 = $[22];
|
|
137
133
|
}
|
|
138
134
|
let t10;
|
|
139
|
-
if ($[
|
|
135
|
+
if ($[23] !== conversationId || $[24] !== handleReactionLongPress || $[25] !== hasReactions || $[26] !== message || $[27] !== styles.reactions) {
|
|
140
136
|
t10 = hasReactions && /*#__PURE__*/_jsx(View, {
|
|
141
137
|
style: styles.reactions,
|
|
142
138
|
children: message.reactionCounts.map(reaction_0 => /*#__PURE__*/_jsx(MessageReaction, {
|
|
@@ -146,30 +142,30 @@ export function SystemMessage(t0) {
|
|
|
146
142
|
conversationId: conversationId
|
|
147
143
|
}, reaction_0.value))
|
|
148
144
|
});
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
151
|
-
$[
|
|
152
|
-
$[
|
|
153
|
-
$[
|
|
154
|
-
$[
|
|
145
|
+
$[23] = conversationId;
|
|
146
|
+
$[24] = handleReactionLongPress;
|
|
147
|
+
$[25] = hasReactions;
|
|
148
|
+
$[26] = message;
|
|
149
|
+
$[27] = styles.reactions;
|
|
150
|
+
$[28] = t10;
|
|
155
151
|
} else {
|
|
156
|
-
t10 = $[
|
|
152
|
+
t10 = $[28];
|
|
157
153
|
}
|
|
158
154
|
let t11;
|
|
159
|
-
if ($[
|
|
155
|
+
if ($[29] !== t10 || $[30] !== t8 || $[31] !== t9) {
|
|
160
156
|
t11 = /*#__PURE__*/_jsxs(Animated.View, {
|
|
161
157
|
style: t8,
|
|
162
158
|
children: [t9, t10]
|
|
163
159
|
});
|
|
164
|
-
$[
|
|
165
|
-
$[
|
|
166
|
-
$[
|
|
167
|
-
$[
|
|
160
|
+
$[29] = t10;
|
|
161
|
+
$[30] = t8;
|
|
162
|
+
$[31] = t9;
|
|
163
|
+
$[32] = t11;
|
|
168
164
|
} else {
|
|
169
|
-
t11 = $[
|
|
165
|
+
t11 = $[32];
|
|
170
166
|
}
|
|
171
167
|
let t12;
|
|
172
|
-
if ($[
|
|
168
|
+
if ($[33] !== handleLongPress || $[34] !== handleMessagePressIn || $[35] !== handleMessagePressOut || $[36] !== t11 || $[37] !== t5 || $[38] !== t6 || $[39] !== t7) {
|
|
173
169
|
t12 = /*#__PURE__*/_jsx(Pressable, {
|
|
174
170
|
onPress: t5,
|
|
175
171
|
onLongPress: handleLongPress,
|
|
@@ -180,20 +176,35 @@ export function SystemMessage(t0) {
|
|
|
180
176
|
accessibilityHint: t7,
|
|
181
177
|
children: t11
|
|
182
178
|
});
|
|
183
|
-
$[
|
|
184
|
-
$[
|
|
185
|
-
$[
|
|
186
|
-
$[
|
|
187
|
-
$[
|
|
188
|
-
$[
|
|
189
|
-
$[
|
|
190
|
-
$[
|
|
179
|
+
$[33] = handleLongPress;
|
|
180
|
+
$[34] = handleMessagePressIn;
|
|
181
|
+
$[35] = handleMessagePressOut;
|
|
182
|
+
$[36] = t11;
|
|
183
|
+
$[37] = t5;
|
|
184
|
+
$[38] = t6;
|
|
185
|
+
$[39] = t7;
|
|
186
|
+
$[40] = t12;
|
|
191
187
|
} else {
|
|
192
|
-
t12 = $[
|
|
188
|
+
t12 = $[40];
|
|
193
189
|
}
|
|
194
190
|
return t12;
|
|
195
191
|
}
|
|
196
|
-
function systemMessageText(
|
|
192
|
+
function systemMessageText(message) {
|
|
193
|
+
switch (message.systemTextFormat) {
|
|
194
|
+
case 'people':
|
|
195
|
+
{
|
|
196
|
+
const {
|
|
197
|
+
names,
|
|
198
|
+
overflowCount,
|
|
199
|
+
action
|
|
200
|
+
} = message.systemTextParts;
|
|
201
|
+
return peopleSystemMessageText(names, overflowCount, action);
|
|
202
|
+
}
|
|
203
|
+
case 'actor':
|
|
204
|
+
return `${message.text} on ${formatEventDateTime(message.createdAt)}`;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function peopleSystemMessageText(names, overflowCount, action) {
|
|
197
208
|
if (overflowCount > 0) {
|
|
198
209
|
const overflowLabel = `${overflowCount} ${overflowCount === 1 ? 'other' : 'others'}`;
|
|
199
210
|
return `${names.join(', ')}, and ${overflowLabel} ${action}`;
|
|
@@ -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","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":[]}
|
|
1
|
+
{"version":3,"file":"system_message.js","names":["useNavigation","React","Pressable","StyleSheet","View","Animated","useAnimatedMessageBackgroundColor","useTheme","formatEventDateTime","Haptic","Text","MessageReaction","jsx","_jsx","jsxs","_jsxs","SystemMessage","t0","$","_c","message","conversationId","reactionCounts","styles","useStyles","navigation","colors","t1","systemMessageText","text","isTruncated","systemTextFormat","systemTextParts","overflowCount","hasReactions","length","animatedBackgroundColor","handleMessagePressIn","handleMessagePressOut","t2","personIdsForSystemEvent","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","names","action","peopleSystemMessageText","createdAt","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 { formatEventDateTime } from '../../utils/date'\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 } = message\n const styles = useStyles()\n const navigation = useNavigation()\n const { colors } = useTheme()\n const text = systemMessageText(message)\n const isTruncated =\n message.systemTextFormat === 'people' && message.systemTextParts.overflowCount > 0\n const hasReactions = reactionCounts.length > 0\n const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =\n useAnimatedMessageBackgroundColor()\n\n const handlePress = () => {\n if (message.systemTextFormat !== 'people') return\n\n navigation.navigate('SystemMessagePeople', {\n conversation_id: conversationId,\n person_ids: message.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(message: SystemMessageResource): string {\n switch (message.systemTextFormat) {\n case 'people': {\n const { names, overflowCount, action } = message.systemTextParts\n return peopleSystemMessageText(names, overflowCount, action)\n }\n case 'actor':\n return `${message.text} on ${formatEventDateTime(message.createdAt)}`\n }\n}\n\nfunction peopleSystemMessageText(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":[]}
|
|
@@ -364,6 +364,7 @@ function reactionEmoji(value) {
|
|
|
364
364
|
return REACTION_EMOJIS[value] ?? null;
|
|
365
365
|
}
|
|
366
366
|
function formatConversationPreviewText(preview) {
|
|
367
|
+
if (preview.kind === 'system') return preview.text;
|
|
367
368
|
if (preview.kind === 'reaction') {
|
|
368
369
|
const emoji = reactionEmoji(preview.value);
|
|
369
370
|
return `${preview.authorName}${emoji ? ` ${emoji}` : ' reacted'} to: "${preview.text}"`;
|
|
@@ -372,6 +373,7 @@ function formatConversationPreviewText(preview) {
|
|
|
372
373
|
}
|
|
373
374
|
function formatConversationPreviewAccessibilityLabel(preview) {
|
|
374
375
|
const date = formatDatePreview(preview.createdAt);
|
|
376
|
+
if (preview.kind === 'system') return `Latest activity: ${preview.text} at ${date}`;
|
|
375
377
|
if (preview.kind === 'reaction') {
|
|
376
378
|
return `${preview.authorName} reacted to your message sent ${date} and says ${preview.text}`;
|
|
377
379
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation_preview.js","names":["React","StyleSheet","View","useTheme","useAtFontScaleBreakpoint","useFontScale","useScalableNumberOfLines","REACTION_EMOJIS","platformFontWeightBold","formatDatePreview","tokens","AvatarGroup","ConversationAvatar","Heading","Text","Badge","ConversationActions","MuteIndicator","UnreadCountBadge","jsx","_jsx","jsxs","_jsxs","EMPTY_CONVERSATION_PREVIEW_TEXT","ConversationPreview","t0","$","_c","conversation","onPress","showBadges","t1","style","undefined","styles","useStyles","conversationPreview","lastMessageCreatedAt","title","unreadCount","badges","muted","disabled","unreadReaction","emptyConversation","fallbackIconName","hasMetaContent","isUnread","numberOfLinesScaledTitle","numberOfLinesScaledPreviewText","t2","formatConversationPreviewText","conversationPreviewText","t3","getConversationAccessibilityLabel","conversationAccessibilityLabel","t4","t5","previewRow","t6","size","t7","unreadTitle","t8","t9","variant","children","t10","emptyConversationPreviewText","t11","unreadText","t12","t13","t14","ConversationBadges","t15","conversationBody","t16","createdAt","metaContainer","statusContainer","t17","visible","numberOfLinesScaled","length","badge","productLogoName","appName","label","pcoResourceType","metaLabel","text","map","skeletonBadges","ConversationPreviewSkeleton","Symbol","for","sourceUris","showFallback","titleLoading","subtitleLoading","dateLoading","reactionEmoji","value","preview","kind","emoji","authorName","formatConversationPreviewAccessibilityLabel","date","hasBadges","hasUnreadMessages","readStatus","lastMessage","filter","Boolean","join","colors","atFontScaleBreakpoint","fontScale","borderColorDefaultDark","borderColorDefaultDim","fillColorNeutral080","fillColorNeutral090","interaction","textColorDefaultPrimary","create","flexDirection","gap","borderBottomWidth","borderBottomColor","paddingTop","paddingBottom","paddingHorizontal","opacity","fontSize","color","fontWeight","fontWeightBold","width","height","backgroundColor","borderRadius","flex","rowGap","alignItems","justifyContent","marginTop"],"sources":["../../../src/components/conversations/conversation_preview.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport {\n useTheme,\n useAtFontScaleBreakpoint,\n useFontScale,\n useScalableNumberOfLines,\n} from '../../hooks'\nimport { ConversationPreviewData, ConversationResource } from '../../types'\nimport { REACTION_EMOJIS, platformFontWeightBold } from '../../utils'\nimport { formatDatePreview } from '../../utils/date'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { AvatarGroup, ConversationAvatar, Heading, Text, Badge, type BadgeProps } from '../display'\nimport { ConversationActions } from './conversation_actions'\nimport { MuteIndicator } from './mute_indicator'\nimport { UnreadCountBadge } from './unread_count_badge'\n\nconst EMPTY_CONVERSATION_PREVIEW_TEXT = 'Send your first message'\n\ninterface ConversationPreviewProps {\n conversation: ConversationResource\n onPress: () => void\n showBadges?: boolean\n style?: ViewStyle\n}\n\nexport const ConversationPreview = ({\n conversation,\n onPress,\n showBadges = true,\n style,\n}: ConversationPreviewProps) => {\n const styles = useStyles()\n const {\n conversationPreview,\n lastMessageCreatedAt,\n title,\n unreadCount,\n badges,\n muted,\n disabled,\n unreadReaction,\n } = conversation\n\n const emptyConversation = !lastMessageCreatedAt\n const fallbackIconName = emptyConversation ? 'people.noTextMessage' : 'general.person'\n const hasMetaContent = lastMessageCreatedAt || unreadCount > 0 || muted\n const isUnread = unreadCount > 0 || unreadReaction\n\n const numberOfLinesScaledTitle = useScalableNumberOfLines(1)\n const numberOfLinesScaledPreviewText = useScalableNumberOfLines(2)\n\n const conversationPreviewText = conversationPreview\n ? formatConversationPreviewText(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT\n\n const conversationAccessibilityLabel = getConversationAccessibilityLabel({\n conversation,\n showBadges,\n })\n\n return (\n <ConversationActions\n conversation={conversation}\n style={[styles.previewRow, disabled && styles.disabled, style]}\n onPress={onPress}\n accessibilityLabel={conversationAccessibilityLabel}\n >\n <ConversationAvatar\n conversation={conversation}\n size=\"lg\"\n fallbackIconName={fallbackIconName}\n />\n <View style={styles.conversationBody}>\n <Heading\n numberOfLines={numberOfLinesScaledTitle}\n variant=\"h3\"\n style={[styles.title, isUnread && styles.unreadTitle]}\n >\n {title}\n </Heading>\n <Text\n variant=\"tertiary\"\n numberOfLines={numberOfLinesScaledPreviewText}\n style={[\n emptyConversation && styles.emptyConversationPreviewText,\n isUnread && styles.unreadText,\n ]}\n >\n {conversationPreviewText}\n </Text>\n <ConversationBadges visible={showBadges} badges={badges} />\n </View>\n {hasMetaContent && (\n <View style={styles.metaContainer}>\n <Text variant=\"tertiary\">{formatDatePreview(conversationPreview?.createdAt)}</Text>\n <View style={styles.statusContainer}>\n <UnreadCountBadge count={unreadCount} unreadReaction={unreadReaction} showDot={muted} />\n <MuteIndicator muted={muted} />\n </View>\n </View>\n )}\n </ConversationActions>\n )\n}\n\ninterface BadgeShape {\n appName?: BadgeProps['productLogoName']\n pcoResourceType: string\n text: string | null\n}\nconst ConversationBadges = ({ visible, badges }: { visible: boolean; badges?: BadgeShape[] }) => {\n const styles = useStyles()\n const numberOfLinesScaled = useScalableNumberOfLines(1)\n\n if (!visible || !badges || badges.length === 0) {\n return null\n }\n\n return (\n <View style={styles.badges}>\n {badges.map(badge => (\n <Badge\n key={badge.text}\n variant=\"meta\"\n productLogoName={badge.appName}\n label={badge.pcoResourceType}\n metaLabel={badge.text || ''}\n numberOfLinesMetaLabel={numberOfLinesScaled}\n />\n ))}\n </View>\n )\n}\n\nconst skeletonBadges: BadgeShape[] = [\n {\n pcoResourceType: ' ',\n text: ' ',\n },\n]\nexport const ConversationPreviewSkeleton = () => {\n const styles = useStyles()\n\n return (\n <View style={styles.previewRow}>\n <AvatarGroup\n size=\"lg\"\n sourceUris={[]}\n showFallback={true}\n fallbackIconName={'general.person'}\n />\n <View style={styles.conversationBody}>\n <View style={styles.titleLoading} />\n <View style={styles.subtitleLoading} />\n <ConversationBadges visible={true} badges={skeletonBadges} />\n </View>\n <View style={styles.metaContainer}>\n <View style={styles.dateLoading} />\n </View>\n </View>\n )\n}\n\nfunction reactionEmoji(value: ConversationPreviewData['value']): string | null {\n if (!value) return null\n return REACTION_EMOJIS[value] ?? null\n}\n\nfunction formatConversationPreviewText(preview: ConversationPreviewData) {\n if (preview.kind === 'reaction') {\n const emoji = reactionEmoji(preview.value)\n return `${preview.authorName}${emoji ? ` ${emoji}` : ' reacted'} to: \"${preview.text}\"`\n }\n\n return `${preview.authorName}: ${preview.text}`\n}\n\nfunction formatConversationPreviewAccessibilityLabel(preview: ConversationPreviewData) {\n const date = formatDatePreview(preview.createdAt)\n\n if (preview.kind === 'reaction') {\n return `${preview.authorName} reacted to your message sent ${date} and says ${preview.text}`\n }\n\n return `Last message sent ${date} from ${preview.authorName} and says ${preview.text}`\n}\n\ninterface GetConversationAccessibilityLabelProps {\n conversation: ConversationResource\n showBadges: boolean\n}\nconst getConversationAccessibilityLabel = ({\n conversation,\n showBadges,\n}: GetConversationAccessibilityLabelProps) => {\n const { badges, title, conversationPreview, muted, disabled, unreadCount, unreadReaction } =\n conversation\n\n const hasBadges = badges && showBadges\n const hasUnreadMessages = unreadCount > 0\n\n const label = {\n title,\n badge: hasBadges ? `for ${badges[0]?.pcoResourceType} ${badges[0]?.text || ''}` : '',\n disabled: disabled ? 'Disabled' : '',\n muted: muted ? 'Muted' : '',\n readStatus: hasUnreadMessages\n ? `${unreadCount} unread messages`\n : unreadReaction\n ? 'unread reaction'\n : '',\n lastMessage: conversationPreview\n ? formatConversationPreviewAccessibilityLabel(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT,\n }\n\n return [\n `Select ${label.title}`,\n label.badge,\n label.disabled,\n label.muted,\n label.readStatus,\n label.lastMessage,\n ]\n .filter(Boolean)\n .join(', ')\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const atFontScaleBreakpoint = useAtFontScaleBreakpoint()\n const fontScale = useFontScale()\n\n return StyleSheet.create({\n previewRow: {\n flexDirection: atFontScaleBreakpoint ? 'column' : 'row',\n gap: 8,\n borderBottomWidth: 1,\n borderBottomColor: atFontScaleBreakpoint\n ? colors.borderColorDefaultDark\n : colors.borderColorDefaultDim,\n paddingTop: 12,\n paddingBottom: 12,\n paddingHorizontal: 16,\n },\n disabled: {\n opacity: 0.4,\n },\n title: {\n fontSize: 16,\n color: colors.textColorDefaultPrimary,\n },\n unreadTitle: {\n fontWeight: tokens.fontWeightBold,\n },\n unreadText: {\n fontWeight: platformFontWeightBold,\n },\n titleLoading: {\n width: 120,\n height: 20,\n backgroundColor: colors.fillColorNeutral080,\n borderRadius: 4,\n },\n conversationBody: {\n flex: 1,\n rowGap: 2,\n },\n emptyConversationPreviewText: {\n color: colors.interaction,\n },\n subtitleLoading: {\n width: 80,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n metaContainer: {\n gap: 4,\n alignItems: atFontScaleBreakpoint ? 'center' : 'flex-end',\n justifyContent: atFontScaleBreakpoint ? 'space-between' : 'flex-start',\n flexDirection: atFontScaleBreakpoint ? 'row' : 'column',\n },\n dateLoading: {\n width: 60,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n badges: {\n marginTop: 4,\n alignItems: 'flex-start',\n },\n statusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4 * fontScale,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"conversation_preview.js","names":["React","StyleSheet","View","useTheme","useAtFontScaleBreakpoint","useFontScale","useScalableNumberOfLines","REACTION_EMOJIS","platformFontWeightBold","formatDatePreview","tokens","AvatarGroup","ConversationAvatar","Heading","Text","Badge","ConversationActions","MuteIndicator","UnreadCountBadge","jsx","_jsx","jsxs","_jsxs","EMPTY_CONVERSATION_PREVIEW_TEXT","ConversationPreview","t0","$","_c","conversation","onPress","showBadges","t1","style","undefined","styles","useStyles","conversationPreview","lastMessageCreatedAt","title","unreadCount","badges","muted","disabled","unreadReaction","emptyConversation","fallbackIconName","hasMetaContent","isUnread","numberOfLinesScaledTitle","numberOfLinesScaledPreviewText","t2","formatConversationPreviewText","conversationPreviewText","t3","getConversationAccessibilityLabel","conversationAccessibilityLabel","t4","t5","previewRow","t6","size","t7","unreadTitle","t8","t9","variant","children","t10","emptyConversationPreviewText","t11","unreadText","t12","t13","t14","ConversationBadges","t15","conversationBody","t16","createdAt","metaContainer","statusContainer","t17","visible","numberOfLinesScaled","length","badge","productLogoName","appName","label","pcoResourceType","metaLabel","text","map","skeletonBadges","ConversationPreviewSkeleton","Symbol","for","sourceUris","showFallback","titleLoading","subtitleLoading","dateLoading","reactionEmoji","value","preview","kind","emoji","authorName","formatConversationPreviewAccessibilityLabel","date","hasBadges","hasUnreadMessages","readStatus","lastMessage","filter","Boolean","join","colors","atFontScaleBreakpoint","fontScale","borderColorDefaultDark","borderColorDefaultDim","fillColorNeutral080","fillColorNeutral090","interaction","textColorDefaultPrimary","create","flexDirection","gap","borderBottomWidth","borderBottomColor","paddingTop","paddingBottom","paddingHorizontal","opacity","fontSize","color","fontWeight","fontWeightBold","width","height","backgroundColor","borderRadius","flex","rowGap","alignItems","justifyContent","marginTop"],"sources":["../../../src/components/conversations/conversation_preview.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport {\n useTheme,\n useAtFontScaleBreakpoint,\n useFontScale,\n useScalableNumberOfLines,\n} from '../../hooks'\nimport { ConversationPreviewData, ConversationResource } from '../../types'\nimport { REACTION_EMOJIS, platformFontWeightBold } from '../../utils'\nimport { formatDatePreview } from '../../utils/date'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { AvatarGroup, ConversationAvatar, Heading, Text, Badge, type BadgeProps } from '../display'\nimport { ConversationActions } from './conversation_actions'\nimport { MuteIndicator } from './mute_indicator'\nimport { UnreadCountBadge } from './unread_count_badge'\n\nconst EMPTY_CONVERSATION_PREVIEW_TEXT = 'Send your first message'\n\ninterface ConversationPreviewProps {\n conversation: ConversationResource\n onPress: () => void\n showBadges?: boolean\n style?: ViewStyle\n}\n\nexport const ConversationPreview = ({\n conversation,\n onPress,\n showBadges = true,\n style,\n}: ConversationPreviewProps) => {\n const styles = useStyles()\n const {\n conversationPreview,\n lastMessageCreatedAt,\n title,\n unreadCount,\n badges,\n muted,\n disabled,\n unreadReaction,\n } = conversation\n\n const emptyConversation = !lastMessageCreatedAt\n const fallbackIconName = emptyConversation ? 'people.noTextMessage' : 'general.person'\n const hasMetaContent = lastMessageCreatedAt || unreadCount > 0 || muted\n const isUnread = unreadCount > 0 || unreadReaction\n\n const numberOfLinesScaledTitle = useScalableNumberOfLines(1)\n const numberOfLinesScaledPreviewText = useScalableNumberOfLines(2)\n\n const conversationPreviewText = conversationPreview\n ? formatConversationPreviewText(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT\n\n const conversationAccessibilityLabel = getConversationAccessibilityLabel({\n conversation,\n showBadges,\n })\n\n return (\n <ConversationActions\n conversation={conversation}\n style={[styles.previewRow, disabled && styles.disabled, style]}\n onPress={onPress}\n accessibilityLabel={conversationAccessibilityLabel}\n >\n <ConversationAvatar\n conversation={conversation}\n size=\"lg\"\n fallbackIconName={fallbackIconName}\n />\n <View style={styles.conversationBody}>\n <Heading\n numberOfLines={numberOfLinesScaledTitle}\n variant=\"h3\"\n style={[styles.title, isUnread && styles.unreadTitle]}\n >\n {title}\n </Heading>\n <Text\n variant=\"tertiary\"\n numberOfLines={numberOfLinesScaledPreviewText}\n style={[\n emptyConversation && styles.emptyConversationPreviewText,\n isUnread && styles.unreadText,\n ]}\n >\n {conversationPreviewText}\n </Text>\n <ConversationBadges visible={showBadges} badges={badges} />\n </View>\n {hasMetaContent && (\n <View style={styles.metaContainer}>\n <Text variant=\"tertiary\">{formatDatePreview(conversationPreview?.createdAt)}</Text>\n <View style={styles.statusContainer}>\n <UnreadCountBadge count={unreadCount} unreadReaction={unreadReaction} showDot={muted} />\n <MuteIndicator muted={muted} />\n </View>\n </View>\n )}\n </ConversationActions>\n )\n}\n\ninterface BadgeShape {\n appName?: BadgeProps['productLogoName']\n pcoResourceType: string\n text: string | null\n}\nconst ConversationBadges = ({ visible, badges }: { visible: boolean; badges?: BadgeShape[] }) => {\n const styles = useStyles()\n const numberOfLinesScaled = useScalableNumberOfLines(1)\n\n if (!visible || !badges || badges.length === 0) {\n return null\n }\n\n return (\n <View style={styles.badges}>\n {badges.map(badge => (\n <Badge\n key={badge.text}\n variant=\"meta\"\n productLogoName={badge.appName}\n label={badge.pcoResourceType}\n metaLabel={badge.text || ''}\n numberOfLinesMetaLabel={numberOfLinesScaled}\n />\n ))}\n </View>\n )\n}\n\nconst skeletonBadges: BadgeShape[] = [\n {\n pcoResourceType: ' ',\n text: ' ',\n },\n]\nexport const ConversationPreviewSkeleton = () => {\n const styles = useStyles()\n\n return (\n <View style={styles.previewRow}>\n <AvatarGroup\n size=\"lg\"\n sourceUris={[]}\n showFallback={true}\n fallbackIconName={'general.person'}\n />\n <View style={styles.conversationBody}>\n <View style={styles.titleLoading} />\n <View style={styles.subtitleLoading} />\n <ConversationBadges visible={true} badges={skeletonBadges} />\n </View>\n <View style={styles.metaContainer}>\n <View style={styles.dateLoading} />\n </View>\n </View>\n )\n}\n\nfunction reactionEmoji(value: ConversationPreviewData['value']): string | null {\n if (!value) return null\n return REACTION_EMOJIS[value] ?? null\n}\n\nfunction formatConversationPreviewText(preview: ConversationPreviewData) {\n if (preview.kind === 'system') return preview.text\n\n if (preview.kind === 'reaction') {\n const emoji = reactionEmoji(preview.value)\n return `${preview.authorName}${emoji ? ` ${emoji}` : ' reacted'} to: \"${preview.text}\"`\n }\n\n return `${preview.authorName}: ${preview.text}`\n}\n\nfunction formatConversationPreviewAccessibilityLabel(preview: ConversationPreviewData) {\n const date = formatDatePreview(preview.createdAt)\n\n if (preview.kind === 'system') return `Latest activity: ${preview.text} at ${date}`\n\n if (preview.kind === 'reaction') {\n return `${preview.authorName} reacted to your message sent ${date} and says ${preview.text}`\n }\n\n return `Last message sent ${date} from ${preview.authorName} and says ${preview.text}`\n}\n\ninterface GetConversationAccessibilityLabelProps {\n conversation: ConversationResource\n showBadges: boolean\n}\nconst getConversationAccessibilityLabel = ({\n conversation,\n showBadges,\n}: GetConversationAccessibilityLabelProps) => {\n const { badges, title, conversationPreview, muted, disabled, unreadCount, unreadReaction } =\n conversation\n\n const hasBadges = badges && showBadges\n const hasUnreadMessages = unreadCount > 0\n\n const label = {\n title,\n badge: hasBadges ? `for ${badges[0]?.pcoResourceType} ${badges[0]?.text || ''}` : '',\n disabled: disabled ? 'Disabled' : '',\n muted: muted ? 'Muted' : '',\n readStatus: hasUnreadMessages\n ? `${unreadCount} unread messages`\n : unreadReaction\n ? 'unread reaction'\n : '',\n lastMessage: conversationPreview\n ? formatConversationPreviewAccessibilityLabel(conversationPreview)\n : EMPTY_CONVERSATION_PREVIEW_TEXT,\n }\n\n return [\n `Select ${label.title}`,\n label.badge,\n label.disabled,\n label.muted,\n label.readStatus,\n label.lastMessage,\n ]\n .filter(Boolean)\n .join(', ')\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const atFontScaleBreakpoint = useAtFontScaleBreakpoint()\n const fontScale = useFontScale()\n\n return StyleSheet.create({\n previewRow: {\n flexDirection: atFontScaleBreakpoint ? 'column' : 'row',\n gap: 8,\n borderBottomWidth: 1,\n borderBottomColor: atFontScaleBreakpoint\n ? colors.borderColorDefaultDark\n : colors.borderColorDefaultDim,\n paddingTop: 12,\n paddingBottom: 12,\n paddingHorizontal: 16,\n },\n disabled: {\n opacity: 0.4,\n },\n title: {\n fontSize: 16,\n color: colors.textColorDefaultPrimary,\n },\n unreadTitle: {\n fontWeight: tokens.fontWeightBold,\n },\n unreadText: {\n fontWeight: platformFontWeightBold,\n },\n titleLoading: {\n width: 120,\n height: 20,\n backgroundColor: colors.fillColorNeutral080,\n borderRadius: 4,\n },\n conversationBody: {\n flex: 1,\n rowGap: 2,\n },\n emptyConversationPreviewText: {\n color: colors.interaction,\n },\n subtitleLoading: {\n width: 80,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n metaContainer: {\n gap: 4,\n alignItems: atFontScaleBreakpoint ? 'center' : 'flex-end',\n justifyContent: atFontScaleBreakpoint ? 'space-between' : 'flex-start',\n flexDirection: atFontScaleBreakpoint ? 'row' : 'column',\n },\n dateLoading: {\n width: 60,\n height: 16,\n backgroundColor: colors.fillColorNeutral090,\n borderRadius: 4,\n },\n badges: {\n marginTop: 4,\n alignItems: 'flex-start',\n },\n statusContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4 * fontScale,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CustomMessage } from '@planningcenter/jolt-client/dist/types/JoltConnection';
|
|
2
2
|
import { DenormalizedAttachmentResource } from '../resources/denormalized_attachment_resource';
|
|
3
|
+
import type { SystemTextFormat } from '../resources/message';
|
|
3
4
|
interface BaseMessageEventData extends Record<string, unknown> {
|
|
4
5
|
data: {
|
|
5
6
|
author_avatar: string;
|
|
@@ -24,6 +25,7 @@ interface BaseMessageEventData extends Record<string, unknown> {
|
|
|
24
25
|
overflow_count: number;
|
|
25
26
|
action: string;
|
|
26
27
|
} | null;
|
|
28
|
+
system_text_format: SystemTextFormat | null;
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
31
|
export interface MessageCreatedEvent extends CustomMessage {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_events.d.ts","sourceRoot":"","sources":["../../../src/types/jolt_events/message_events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAA;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;
|
|
1
|
+
{"version":3,"file":"message_events.d.ts","sourceRoot":"","sources":["../../../src/types/jolt_events/message_events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAA;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAA;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,UAAU,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAA;QACrB,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;QAC9B,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;QAC7B,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,8BAA8B,EAAE,CAAA;QAC7C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC9B,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,YAAY,EAAE,MAAM,CAAA;QACpB,uBAAuB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACxC,iBAAiB,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;QACrF,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,CAAA;KAC5C,CAAA;CACF;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,EAAE,iBAAiB,CAAA;IACxB,IAAI,EAAE,oBAAoB,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,EAAE,iBAAiB,CAAA;IACxB,IAAI,EAAE,oBAAoB,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,EAAE,mBAAmB,CAAA;IAC1B,IAAI,EAAE,oBAAoB,CAAA;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_events.js","names":[],"sources":["../../../src/types/jolt_events/message_events.ts"],"sourcesContent":["import type { CustomMessage } from '@planningcenter/jolt-client/dist/types/JoltConnection'\nimport { DenormalizedAttachmentResource } from '../resources/denormalized_attachment_resource'\n\ninterface BaseMessageEventData extends Record<string, unknown> {\n data: {\n author_avatar: string\n author_id: number\n author_name: string\n conversation_id: number\n created_at: string\n deleted_at: string | null\n organization_id: number | null\n sort_key: string\n text: string\n text_edited_at: string | null\n html: string\n attachments: DenormalizedAttachmentResource[]\n idempotent_key?: string | null\n reply_count: number\n reply_root_id: string | null\n message_type: string\n system_event_person_ids: number[] | null\n system_text_parts: { names: string[]; overflow_count: number; action: string } | null\n }\n}\n\nexport interface MessageCreatedEvent extends CustomMessage {\n event: 'message.created'\n data: BaseMessageEventData\n}\n\nexport interface MessageUpdatedEvent extends CustomMessage {\n event: 'message.updated'\n data: BaseMessageEventData\n}\n\nexport interface MessageDeletedEvent extends CustomMessage {\n event: 'message.destroyed'\n data: BaseMessageEventData\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"message_events.js","names":[],"sources":["../../../src/types/jolt_events/message_events.ts"],"sourcesContent":["import type { CustomMessage } from '@planningcenter/jolt-client/dist/types/JoltConnection'\nimport { DenormalizedAttachmentResource } from '../resources/denormalized_attachment_resource'\nimport type { SystemTextFormat } from '../resources/message'\n\ninterface BaseMessageEventData extends Record<string, unknown> {\n data: {\n author_avatar: string\n author_id: number\n author_name: string\n conversation_id: number\n created_at: string\n deleted_at: string | null\n organization_id: number | null\n sort_key: string\n text: string\n text_edited_at: string | null\n html: string\n attachments: DenormalizedAttachmentResource[]\n idempotent_key?: string | null\n reply_count: number\n reply_root_id: string | null\n message_type: string\n system_event_person_ids: number[] | null\n system_text_parts: { names: string[]; overflow_count: number; action: string } | null\n system_text_format: SystemTextFormat | null\n }\n}\n\nexport interface MessageCreatedEvent extends CustomMessage {\n event: 'message.created'\n data: BaseMessageEventData\n}\n\nexport interface MessageUpdatedEvent extends CustomMessage {\n event: 'message.updated'\n data: BaseMessageEventData\n}\n\nexport interface MessageDeletedEvent extends CustomMessage {\n event: 'message.destroyed'\n data: BaseMessageEventData\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import { GroupResource } from './group_resource';
|
|
|
5
5
|
import { MemberAbilityResource } from './member_ability';
|
|
6
6
|
import { ReactionCountResource } from './reaction';
|
|
7
7
|
export interface ConversationPreviewData {
|
|
8
|
-
kind: 'reaction' | 'message';
|
|
8
|
+
kind: 'reaction' | 'message' | 'system';
|
|
9
9
|
authorName: string;
|
|
10
10
|
value: ReactionCountResource['value'] | null;
|
|
11
11
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/types/resources/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../src/types/resources/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACpC,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,sBAAsB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAA;IAChE,mBAAmB,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;IACpD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,KAAK,EAAE,OAAO,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,oBAAoB,EAClB,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,CACtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation.js","names":[],"sources":["../../../src/types/resources/conversation.ts"],"sourcesContent":["import type { AnalyticsMetadataResource } from './analytics_metadata'\nimport { ConversationBadgeResource } from './conversation_badge'\nimport { ConversationMembershipResource } from './conversation_membership'\nimport { GroupResource } from './group_resource'\nimport { MemberAbilityResource } from './member_ability'\nimport { ReactionCountResource } from './reaction'\n\nexport interface ConversationPreviewData {\n kind: 'reaction' | 'message'\n authorName: string\n value: ReactionCountResource['value'] | null\n text: string\n createdAt: string\n}\n\nexport interface ConversationResource {\n type: 'Conversation'\n id: number\n badges?: ConversationBadgeResource[]\n analyticsMetadata?: AnalyticsMetadataResource\n conversationMembership?: Partial<ConversationMembershipResource>\n conversationPreview: ConversationPreviewData | null\n createdAt: string\n deleted?: boolean\n directMessage?: boolean\n disabled?: boolean\n disabledReason?: string | null\n disabledMessage?: string | null\n genderOption?: string | null\n groups?: GroupResource[]\n previewAvatarUrls?: string[]\n customAvatarType?: 'image' | 'icon' | 'emoji' | null\n customAvatarKey?: string | null\n customAvatarColor?: string | null\n customAvatarImageUrl?: string | null\n lastMessageAuthorId?: string\n lastMessageAuthorName?: string\n lastMessageCreatedAt?: string\n lastMessageTextPreview?: string\n latestReadMessageSortKey?: string\n memberAbility?: MemberAbilityResource\n muted: boolean\n repliesDisabled: boolean\n title: string\n unreadCount: number\n unreadReaction: boolean\n updatedAt: string\n}\n\nexport type ConversationAvatarData = Pick<\n ConversationResource,\n | 'customAvatarType'\n | 'customAvatarKey'\n | 'customAvatarColor'\n | 'customAvatarImageUrl'\n | 'previewAvatarUrls'\n>\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"conversation.js","names":[],"sources":["../../../src/types/resources/conversation.ts"],"sourcesContent":["import type { AnalyticsMetadataResource } from './analytics_metadata'\nimport { ConversationBadgeResource } from './conversation_badge'\nimport { ConversationMembershipResource } from './conversation_membership'\nimport { GroupResource } from './group_resource'\nimport { MemberAbilityResource } from './member_ability'\nimport { ReactionCountResource } from './reaction'\n\nexport interface ConversationPreviewData {\n kind: 'reaction' | 'message' | 'system'\n authorName: string\n value: ReactionCountResource['value'] | null\n text: string\n createdAt: string\n}\n\nexport interface ConversationResource {\n type: 'Conversation'\n id: number\n badges?: ConversationBadgeResource[]\n analyticsMetadata?: AnalyticsMetadataResource\n conversationMembership?: Partial<ConversationMembershipResource>\n conversationPreview: ConversationPreviewData | null\n createdAt: string\n deleted?: boolean\n directMessage?: boolean\n disabled?: boolean\n disabledReason?: string | null\n disabledMessage?: string | null\n genderOption?: string | null\n groups?: GroupResource[]\n previewAvatarUrls?: string[]\n customAvatarType?: 'image' | 'icon' | 'emoji' | null\n customAvatarKey?: string | null\n customAvatarColor?: string | null\n customAvatarImageUrl?: string | null\n lastMessageAuthorId?: string\n lastMessageAuthorName?: string\n lastMessageCreatedAt?: string\n lastMessageTextPreview?: string\n latestReadMessageSortKey?: string\n memberAbility?: MemberAbilityResource\n muted: boolean\n repliesDisabled: boolean\n title: string\n unreadCount: number\n unreadReaction: boolean\n updatedAt: string\n}\n\nexport type ConversationAvatarData = Pick<\n ConversationResource,\n | 'customAvatarType'\n | 'customAvatarKey'\n | 'customAvatarColor'\n | 'customAvatarImageUrl'\n | 'previewAvatarUrls'\n>\n"],"mappings":"","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { DenormalizedAttachmentResource } from './denormalized_attachment_resour
|
|
|
2
2
|
import { DenormalizedAttachmentResourceForCreate } from './denormalized_attachment_resource_for_create';
|
|
3
3
|
import type { PersonResource } from './person';
|
|
4
4
|
import type { ReactionCountResource } from './reaction';
|
|
5
|
+
export type SystemTextFormat = 'people' | 'actor';
|
|
5
6
|
export interface MessageResource {
|
|
6
7
|
type: 'Message';
|
|
7
8
|
id: string;
|
|
@@ -25,6 +26,7 @@ export interface MessageResource {
|
|
|
25
26
|
overflowCount: number;
|
|
26
27
|
action: string;
|
|
27
28
|
} | null;
|
|
29
|
+
systemTextFormat?: SystemTextFormat | null;
|
|
28
30
|
renderAuthor?: boolean;
|
|
29
31
|
renderTime?: boolean;
|
|
30
32
|
myLatestInConversation?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/types/resources/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,EAAE,uCAAuC,EAAE,MAAM,+CAA+C,CAAA;AACvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,8BAA8B,EAAE,CAAA;IAC7C,MAAM,EAAE,cAAc,CAAA;IACtB,cAAc,EAAE,qBAAqB,EAAE,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACzC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/types/resources/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,EAAE,uCAAuC,EAAE,MAAM,+CAA+C,CAAA;AACvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEjD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,8BAA8B,EAAE,CAAA;IAC7C,MAAM,EAAE,cAAc,CAAA;IACtB,cAAc,EAAE,qBAAqB,EAAE,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACzC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACnF,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAG1C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;IACnD,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAGlC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB,CAAC,EAAE,uCAAuC,EAAE,CAAA;CACjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","names":[],"sources":["../../../src/types/resources/message.ts"],"sourcesContent":["import { DenormalizedAttachmentResource } from './denormalized_attachment_resource'\nimport { DenormalizedAttachmentResourceForCreate } from './denormalized_attachment_resource_for_create'\nimport type { PersonResource } from './person'\nimport type { ReactionCountResource } from './reaction'\n\nexport interface MessageResource {\n type: 'Message'\n id: string\n text: string | null\n html: string\n createdAt: string\n deletedAt: string | null\n textEditedAt: string | null\n mine: boolean\n attachments: DenormalizedAttachmentResource[]\n author: PersonResource\n reactionCounts: ReactionCountResource[]\n replyCount: number\n replyRootId?: string | null\n replyRoot?: MessageResource | null\n idempotentKey?: string | null\n messageType: string\n personIdsForSystemEvent?: number[] | null\n systemTextParts?: { names: string[]; overflowCount: number; action: string } | null\n\n // Custom Local Properties we set for rendering\n renderAuthor?: boolean\n renderTime?: boolean\n myLatestInConversation?: boolean\n lastInGroup?: boolean\n threadPosition?: 'first' | 'center' | 'last' | null\n prevIsMyReply?: boolean\n nextIsMyReply?: boolean\n nextRendersAuthor?: boolean\n isReplyShadowMessage?: boolean\n nextIsReplyShadowMessage?: boolean\n\n // Properties for mutation state\n pending?: boolean // Indicates if the message is optimistically created and pending server response\n error?: string // Error message if the message failed to send\n attachmentsForCreate?: DenormalizedAttachmentResourceForCreate[]\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"message.js","names":[],"sources":["../../../src/types/resources/message.ts"],"sourcesContent":["import { DenormalizedAttachmentResource } from './denormalized_attachment_resource'\nimport { DenormalizedAttachmentResourceForCreate } from './denormalized_attachment_resource_for_create'\nimport type { PersonResource } from './person'\nimport type { ReactionCountResource } from './reaction'\n\nexport type SystemTextFormat = 'people' | 'actor'\n\nexport interface MessageResource {\n type: 'Message'\n id: string\n text: string | null\n html: string\n createdAt: string\n deletedAt: string | null\n textEditedAt: string | null\n mine: boolean\n attachments: DenormalizedAttachmentResource[]\n author: PersonResource\n reactionCounts: ReactionCountResource[]\n replyCount: number\n replyRootId?: string | null\n replyRoot?: MessageResource | null\n idempotentKey?: string | null\n messageType: string\n personIdsForSystemEvent?: number[] | null\n systemTextParts?: { names: string[]; overflowCount: number; action: string } | null\n systemTextFormat?: SystemTextFormat | null\n\n // Custom Local Properties we set for rendering\n renderAuthor?: boolean\n renderTime?: boolean\n myLatestInConversation?: boolean\n lastInGroup?: boolean\n threadPosition?: 'first' | 'center' | 'last' | null\n prevIsMyReply?: boolean\n nextIsMyReply?: boolean\n nextRendersAuthor?: boolean\n isReplyShadowMessage?: boolean\n nextIsReplyShadowMessage?: boolean\n\n // Properties for mutation state\n pending?: boolean // Indicates if the message is optimistically created and pending server response\n error?: string // Error message if the message failed to send\n attachmentsForCreate?: DenormalizedAttachmentResourceForCreate[]\n}\n"],"mappings":"","ignoreList":[]}
|
package/build/utils/date.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export declare function getRelativeDateStatus(date: DateProps): {
|
|
|
7
7
|
};
|
|
8
8
|
export declare function relativeDateTime(dateTimeString: string): string;
|
|
9
9
|
export declare function relativeTime(date: DateProps): string;
|
|
10
|
+
export declare function formatEventDateTime(date: DateProps): string;
|
|
10
11
|
//# sourceMappingURL=date.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAE9C,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,UAcjD;AAOD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS;;;;EAQpD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAc/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAUpD"}
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAE9C,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,UAcjD;AAOD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS;;;;EAQpD;AAED,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAc/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAUpD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,UAKlD"}
|