@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.
Files changed (44) hide show
  1. package/build/components/conversation/system_message.d.ts.map +1 -1
  2. package/build/components/conversation/system_message.js +85 -74
  3. package/build/components/conversation/system_message.js.map +1 -1
  4. package/build/components/conversations/conversation_preview.js +2 -0
  5. package/build/components/conversations/conversation_preview.js.map +1 -1
  6. package/build/types/jolt_events/message_events.d.ts +2 -0
  7. package/build/types/jolt_events/message_events.d.ts.map +1 -1
  8. package/build/types/jolt_events/message_events.js.map +1 -1
  9. package/build/types/resources/conversation.d.ts +1 -1
  10. package/build/types/resources/conversation.d.ts.map +1 -1
  11. package/build/types/resources/conversation.js.map +1 -1
  12. package/build/types/resources/message.d.ts +2 -0
  13. package/build/types/resources/message.d.ts.map +1 -1
  14. package/build/types/resources/message.js.map +1 -1
  15. package/build/utils/date.d.ts +1 -0
  16. package/build/utils/date.d.ts.map +1 -1
  17. package/build/utils/date.js +15 -1
  18. package/build/utils/date.js.map +1 -1
  19. package/build/utils/jolt/transform_message_event_data_to_message_resource.d.ts.map +1 -1
  20. package/build/utils/jolt/transform_message_event_data_to_message_resource.js +2 -1
  21. package/build/utils/jolt/transform_message_event_data_to_message_resource.js.map +1 -1
  22. package/build/utils/request/messages_data_options.d.ts.map +1 -1
  23. package/build/utils/request/messages_data_options.js +1 -1
  24. package/build/utils/request/messages_data_options.js.map +1 -1
  25. package/build/utils/system_messages.d.ts +7 -5
  26. package/build/utils/system_messages.d.ts.map +1 -1
  27. package/build/utils/system_messages.js +10 -2
  28. package/build/utils/system_messages.js.map +1 -1
  29. package/package.json +3 -3
  30. package/src/__tests__/utils/system_messages.ts +19 -32
  31. package/src/components/conversation/__tests__/system_message.test.tsx +104 -0
  32. package/src/components/conversation/system_message.tsx +20 -6
  33. package/src/components/conversations/__tests__/conversation_preview.test.tsx +70 -0
  34. package/src/components/conversations/conversation_preview.tsx +4 -0
  35. package/src/types/jolt_events/message_events.ts +2 -0
  36. package/src/types/resources/conversation.ts +1 -1
  37. package/src/types/resources/message.ts +3 -0
  38. package/src/utils/__tests__/date.test.ts +19 -0
  39. package/src/utils/__tests__/group_messages.test.ts +1 -0
  40. package/src/utils/date.ts +8 -1
  41. package/src/utils/jolt/__tests__/transform_message_event_data_to_message_resource.test.ts +35 -0
  42. package/src/utils/jolt/transform_message_event_data_to_message_resource.ts +1 -0
  43. package/src/utils/request/messages_data_options.ts +1 -0
  44. 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":"AAOA,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,2CAuE5E"}
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(42);
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] !== action || $[1] !== names || $[2] !== overflowCount) {
34
- t1 = systemMessageText(names, overflowCount, action);
35
- $[0] = action;
36
- $[1] = names;
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 = $[3];
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 ($[4] !== conversationId || $[5] !== navigation || $[6] !== personIdsForSystemEvent) {
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
- $[4] = conversationId;
53
+ $[2] = conversationId;
54
+ $[3] = message.personIdsForSystemEvent;
55
+ $[4] = message.systemTextFormat;
59
56
  $[5] = navigation;
60
- $[6] = personIdsForSystemEvent;
61
- $[7] = t2;
57
+ $[6] = t2;
62
58
  } else {
63
- t2 = $[7];
59
+ t2 = $[6];
64
60
  }
65
61
  const handlePress = t2;
66
62
  let t3;
67
- if ($[8] !== conversationId || $[9] !== message.id || $[10] !== navigation) {
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
- $[8] = conversationId;
77
- $[9] = message.id;
78
- $[10] = navigation;
79
- $[11] = t3;
72
+ $[7] = conversationId;
73
+ $[8] = message.id;
74
+ $[9] = navigation;
75
+ $[10] = t3;
80
76
  } else {
81
- t3 = $[11];
77
+ t3 = $[10];
82
78
  }
83
79
  const handleLongPress = t3;
84
80
  let t4;
85
- if ($[12] !== conversationId || $[13] !== message.id || $[14] !== navigation) {
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
- $[12] = conversationId;
95
- $[13] = message.id;
96
- $[14] = navigation;
97
- $[15] = t4;
90
+ $[11] = conversationId;
91
+ $[12] = message.id;
92
+ $[13] = navigation;
93
+ $[14] = t4;
98
94
  } else {
99
- t4 = $[15];
95
+ t4 = $[14];
100
96
  }
101
97
  const handleReactionLongPress = t4;
102
98
  const t5 = isTruncated ? handlePress : undefined;
103
99
  let t6;
104
- if ($[16] !== colors.androidRippleNeutral) {
100
+ if ($[15] !== colors.androidRippleNeutral) {
105
101
  t6 = {
106
102
  color: colors.androidRippleNeutral,
107
103
  borderless: false,
108
104
  foreground: true
109
105
  };
110
- $[16] = colors.androidRippleNeutral;
111
- $[17] = t6;
106
+ $[15] = colors.androidRippleNeutral;
107
+ $[16] = t6;
112
108
  } else {
113
- t6 = $[17];
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 ($[18] !== animatedBackgroundColor || $[19] !== styles.container) {
113
+ if ($[17] !== animatedBackgroundColor || $[18] !== styles.container) {
118
114
  t8 = [styles.container, animatedBackgroundColor];
119
- $[18] = animatedBackgroundColor;
120
- $[19] = styles.container;
121
- $[20] = t8;
115
+ $[17] = animatedBackgroundColor;
116
+ $[18] = styles.container;
117
+ $[19] = t8;
122
118
  } else {
123
- t8 = $[20];
119
+ t8 = $[19];
124
120
  }
125
121
  let t9;
126
- if ($[21] !== styles.text || $[22] !== text) {
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
- $[21] = styles.text;
133
- $[22] = text;
134
- $[23] = t9;
128
+ $[20] = styles.text;
129
+ $[21] = text;
130
+ $[22] = t9;
135
131
  } else {
136
- t9 = $[23];
132
+ t9 = $[22];
137
133
  }
138
134
  let t10;
139
- if ($[24] !== conversationId || $[25] !== handleReactionLongPress || $[26] !== hasReactions || $[27] !== message || $[28] !== styles.reactions) {
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
- $[24] = conversationId;
150
- $[25] = handleReactionLongPress;
151
- $[26] = hasReactions;
152
- $[27] = message;
153
- $[28] = styles.reactions;
154
- $[29] = t10;
145
+ $[23] = conversationId;
146
+ $[24] = handleReactionLongPress;
147
+ $[25] = hasReactions;
148
+ $[26] = message;
149
+ $[27] = styles.reactions;
150
+ $[28] = t10;
155
151
  } else {
156
- t10 = $[29];
152
+ t10 = $[28];
157
153
  }
158
154
  let t11;
159
- if ($[30] !== t10 || $[31] !== t8 || $[32] !== t9) {
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
- $[30] = t10;
165
- $[31] = t8;
166
- $[32] = t9;
167
- $[33] = t11;
160
+ $[29] = t10;
161
+ $[30] = t8;
162
+ $[31] = t9;
163
+ $[32] = t11;
168
164
  } else {
169
- t11 = $[33];
165
+ t11 = $[32];
170
166
  }
171
167
  let t12;
172
- if ($[34] !== handleLongPress || $[35] !== handleMessagePressIn || $[36] !== handleMessagePressOut || $[37] !== t11 || $[38] !== t5 || $[39] !== t6 || $[40] !== t7) {
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
- $[34] = handleLongPress;
184
- $[35] = handleMessagePressIn;
185
- $[36] = handleMessagePressOut;
186
- $[37] = t11;
187
- $[38] = t5;
188
- $[39] = t6;
189
- $[40] = t7;
190
- $[41] = t12;
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 = $[41];
188
+ t12 = $[40];
193
189
  }
194
190
  return t12;
195
191
  }
196
- function systemMessageText(names, overflowCount, action) {
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;AAE9F,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;KACtF,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
+ {"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;IAC5B,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
+ {"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;IAGnF,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
+ {"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":[]}
@@ -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"}