@planningcenter/chat-react-native 4.4.1-qa-staging.16 → 4.4.1-qa-staging.18

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 (173) hide show
  1. package/build/components/conversations/archived_results_footer.d.ts +6 -0
  2. package/build/components/conversations/archived_results_footer.d.ts.map +1 -0
  3. package/build/components/conversations/archived_results_footer.js +51 -0
  4. package/build/components/conversations/archived_results_footer.js.map +1 -0
  5. package/build/components/conversations/conversation_actions.d.ts.map +1 -1
  6. package/build/components/conversations/conversation_actions.js +241 -206
  7. package/build/components/conversations/conversation_actions.js.map +1 -1
  8. package/build/components/conversations/conversation_preview.d.ts.map +1 -1
  9. package/build/components/conversations/conversation_preview.js +99 -93
  10. package/build/components/conversations/conversation_preview.js.map +1 -1
  11. package/build/components/conversations/conversations.d.ts.map +1 -1
  12. package/build/components/conversations/conversations.js +65 -40
  13. package/build/components/conversations/conversations.js.map +1 -1
  14. package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
  15. package/build/components/conversations/conversations_blank_state.js +55 -12
  16. package/build/components/conversations/conversations_blank_state.js.map +1 -1
  17. package/build/components/conversations/filtered_results_footer.d.ts +2 -0
  18. package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
  19. package/build/components/conversations/filtered_results_footer.js +77 -0
  20. package/build/components/conversations/filtered_results_footer.js.map +1 -0
  21. package/build/components/display/filter_dropdown.d.ts +2 -1
  22. package/build/components/display/filter_dropdown.d.ts.map +1 -1
  23. package/build/components/display/filter_dropdown.js +63 -58
  24. package/build/components/display/filter_dropdown.js.map +1 -1
  25. package/build/components/display/icon_tile.d.ts +12 -0
  26. package/build/components/display/icon_tile.d.ts.map +1 -0
  27. package/build/components/display/icon_tile.js +109 -0
  28. package/build/components/display/icon_tile.js.map +1 -0
  29. package/build/components/display/index.d.ts +1 -0
  30. package/build/components/display/index.d.ts.map +1 -1
  31. package/build/components/display/index.js +1 -0
  32. package/build/components/display/index.js.map +1 -1
  33. package/build/contexts/conversations_context.d.ts.map +1 -1
  34. package/build/contexts/conversations_context.js +21 -18
  35. package/build/contexts/conversations_context.js.map +1 -1
  36. package/build/hooks/index.d.ts +2 -0
  37. package/build/hooks/index.d.ts.map +1 -1
  38. package/build/hooks/index.js +2 -0
  39. package/build/hooks/index.js.map +1 -1
  40. package/build/hooks/use_can_browse_archived_conversations.d.ts +2 -0
  41. package/build/hooks/use_can_browse_archived_conversations.d.ts.map +1 -0
  42. package/build/hooks/use_can_browse_archived_conversations.js +29 -0
  43. package/build/hooks/use_can_browse_archived_conversations.js.map +1 -0
  44. package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
  45. package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
  46. package/build/hooks/use_clear_conversation_filters.js +25 -0
  47. package/build/hooks/use_clear_conversation_filters.js.map +1 -0
  48. package/build/hooks/use_conversation.d.ts.map +1 -1
  49. package/build/hooks/use_conversation.js +32 -24
  50. package/build/hooks/use_conversation.js.map +1 -1
  51. package/build/hooks/use_current_person.d.ts.map +1 -1
  52. package/build/hooks/use_current_person.js +1 -1
  53. package/build/hooks/use_current_person.js.map +1 -1
  54. package/build/hooks/use_jolt.d.ts.map +1 -1
  55. package/build/hooks/use_jolt.js +29 -8
  56. package/build/hooks/use_jolt.js.map +1 -1
  57. package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
  58. package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
  59. package/build/hooks/use_manual_archiving_enabled.js +18 -0
  60. package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
  61. package/build/hooks/use_reduce_motion.d.ts.map +1 -1
  62. package/build/hooks/use_reduce_motion.js +2 -1
  63. package/build/hooks/use_reduce_motion.js.map +1 -1
  64. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  65. package/build/screens/conversation_details_screen.js +2 -1
  66. package/build/screens/conversation_details_screen.js.map +1 -1
  67. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
  68. package/build/screens/conversation_filters/components/conversation_filters.js +88 -18
  69. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  70. package/build/screens/conversation_filters/components/rows.d.ts +9 -0
  71. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
  72. package/build/screens/conversation_filters/components/rows.js +92 -1
  73. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  74. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
  75. package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
  76. package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
  77. package/build/screens/conversation_filters/filter_types.d.ts +1 -0
  78. package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
  79. package/build/screens/conversation_filters/filter_types.js +1 -0
  80. package/build/screens/conversation_filters/filter_types.js.map +1 -1
  81. package/build/screens/conversation_filters/screen_props.d.ts +1 -0
  82. package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
  83. package/build/screens/conversation_filters/screen_props.js.map +1 -1
  84. package/build/screens/conversation_filters_screen.d.ts +1 -0
  85. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  86. package/build/screens/conversation_filters_screen.js +79 -48
  87. package/build/screens/conversation_filters_screen.js.map +1 -1
  88. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
  89. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
  90. package/build/screens/conversations/components/filter_dropdown_list_header_component.js +587 -0
  91. package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
  92. package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
  93. package/build/screens/conversations/components/list_header_component.js +95 -90
  94. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  95. package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
  96. package/build/screens/conversations/components/search_list_header_component.js +100 -95
  97. package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
  98. package/build/screens/conversations/conversations_screen.d.ts +1 -0
  99. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  100. package/build/screens/conversations/conversations_screen.js +15 -2
  101. package/build/screens/conversations/conversations_screen.js.map +1 -1
  102. package/build/types/resources/person.d.ts +1 -0
  103. package/build/types/resources/person.d.ts.map +1 -1
  104. package/build/types/resources/person.js.map +1 -1
  105. package/build/utils/date.d.ts.map +1 -1
  106. package/build/utils/date.js +5 -10
  107. package/build/utils/date.js.map +1 -1
  108. package/build/utils/native_adapters/menu.d.ts +1 -0
  109. package/build/utils/native_adapters/menu.d.ts.map +1 -1
  110. package/build/utils/native_adapters/menu.js +1 -0
  111. package/build/utils/native_adapters/menu.js.map +1 -1
  112. package/build/utils/request/conversation.d.ts +2 -1
  113. package/build/utils/request/conversation.d.ts.map +1 -1
  114. package/build/utils/request/conversation.js +4 -1
  115. package/build/utils/request/conversation.js.map +1 -1
  116. package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
  117. package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
  118. package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
  119. package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
  120. package/package.json +3 -3
  121. package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
  122. package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +132 -0
  123. package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
  124. package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
  125. package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
  126. package/src/components/conversations/__tests__/conversation_preview.test.tsx +38 -3
  127. package/src/components/conversations/__tests__/conversations.test.tsx +82 -0
  128. package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +73 -0
  129. package/src/components/conversations/archived_results_footer.tsx +36 -0
  130. package/src/components/conversations/conversation_actions.tsx +27 -19
  131. package/src/components/conversations/conversation_preview.tsx +30 -10
  132. package/src/components/conversations/conversations.tsx +25 -2
  133. package/src/components/conversations/conversations_blank_state.tsx +21 -0
  134. package/src/components/conversations/filtered_results_footer.tsx +38 -0
  135. package/src/components/display/__tests__/filter_dropdown.test.tsx +9 -1
  136. package/src/components/display/filter_dropdown.tsx +14 -13
  137. package/src/components/display/icon_tile.tsx +54 -0
  138. package/src/components/display/index.ts +1 -0
  139. package/src/contexts/conversations_context.tsx +2 -1
  140. package/src/hooks/__tests__/use_conversation_archive.test.tsx +22 -0
  141. package/src/hooks/__tests__/use_jolt.test.tsx +30 -8
  142. package/src/hooks/__tests__/use_reduce_motion.test.tsx +13 -1
  143. package/src/hooks/index.ts +2 -0
  144. package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
  145. package/src/hooks/use_clear_conversation_filters.ts +16 -0
  146. package/src/hooks/use_conversation.ts +4 -1
  147. package/src/hooks/use_current_person.ts +1 -0
  148. package/src/hooks/use_jolt.ts +33 -8
  149. package/src/hooks/use_manual_archiving_enabled.ts +10 -0
  150. package/src/hooks/use_reduce_motion.ts +2 -1
  151. package/src/screens/conversation_details_screen.tsx +2 -3
  152. package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
  153. package/src/screens/conversation_filters/components/conversation_filters.tsx +40 -7
  154. package/src/screens/conversation_filters/components/rows.tsx +29 -1
  155. package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
  156. package/src/screens/conversation_filters/filter_types.ts +1 -0
  157. package/src/screens/conversation_filters/screen_props.ts +1 -0
  158. package/src/screens/conversation_filters_screen.tsx +25 -5
  159. package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
  160. package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +248 -0
  161. package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
  162. package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +284 -0
  163. package/src/screens/conversations/components/list_header_component.tsx +17 -12
  164. package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
  165. package/src/screens/conversations/conversations_screen.tsx +15 -2
  166. package/src/types/resources/person.ts +1 -0
  167. package/src/utils/__tests__/conversation.test.ts +1 -0
  168. package/src/utils/__tests__/date.test.ts +4 -0
  169. package/src/utils/date.ts +5 -4
  170. package/src/utils/native_adapters/__tests__/menu.test.tsx +6 -2
  171. package/src/utils/native_adapters/menu.tsx +2 -0
  172. package/src/utils/request/conversation.ts +4 -0
  173. package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
@@ -5,12 +5,16 @@ import { FlatList, StyleSheet, View } from 'react-native';
5
5
  import { useConversationsContext } from '../../contexts/conversations_context';
6
6
  import { useTheme } from '../../hooks';
7
7
  import { useCanCreateConversations } from '../../hooks/use_chat_permissions';
8
+ import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
8
9
  import { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events';
10
+ import { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled';
11
+ import { ArchivedResultsFooter } from './archived_results_footer';
9
12
  import { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview';
10
13
  import { ConversationsBlankState } from './conversations_blank_state';
14
+ import { FilteredResultsFooter } from './filtered_results_footer';
11
15
  import { jsx as _jsx } from "react/jsx-runtime";
12
16
  export const Conversations = t0 => {
13
- const $ = _c(22);
17
+ const $ = _c(27);
14
18
  const {
15
19
  ListHeaderComponent
16
20
  } = t0;
@@ -22,15 +26,22 @@ export const Conversations = t0 => {
22
26
  refetch,
23
27
  isRefetching,
24
28
  isFetched,
29
+ hasNextPage,
25
30
  args: t1
26
31
  } = useConversationsContext();
27
32
  const {
28
33
  chat_group_graph_id,
29
- group_source_app_name
34
+ group_source_app_name,
35
+ show_direct_messages,
36
+ show_archived
30
37
  } = t1;
31
38
  const navigation = useNavigation();
32
39
  const canCreateConversations = useCanCreateConversations();
33
- const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name;
40
+ const clearFilters = useClearConversationFilters();
41
+ const filterDropdownEnabled = useFilterDropdownEnabled();
42
+ const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived;
43
+ const showArchivedResultsFooter = !!show_archived && !isLoading;
44
+ const showFilteredResultsFooter = filterDropdownEnabled && isFilterApplied && !show_archived && !hasNextPage && !isLoading && conversations.length > 0;
34
45
  const showBadges = !chat_group_graph_id;
35
46
  let t2;
36
47
  bb0: {
@@ -64,11 +75,23 @@ export const Conversations = t0 => {
64
75
  t4 = $[4];
65
76
  }
66
77
  let t5;
67
- if ($[5] !== navigation || $[6] !== showBadges) {
68
- t5 = t6 => {
78
+ if ($[5] !== clearFilters || $[6] !== showArchivedResultsFooter || $[7] !== showFilteredResultsFooter) {
79
+ t5 = showArchivedResultsFooter ? /*#__PURE__*/_jsx(ArchivedResultsFooter, {
80
+ onViewActiveConversations: clearFilters
81
+ }) : showFilteredResultsFooter ? /*#__PURE__*/_jsx(FilteredResultsFooter, {}) : null;
82
+ $[5] = clearFilters;
83
+ $[6] = showArchivedResultsFooter;
84
+ $[7] = showFilteredResultsFooter;
85
+ $[8] = t5;
86
+ } else {
87
+ t5 = $[8];
88
+ }
89
+ let t6;
90
+ if ($[9] !== navigation || $[10] !== showBadges) {
91
+ t6 = t7 => {
69
92
  const {
70
93
  item: item_0
71
- } = t6;
94
+ } = t7;
72
95
  if (item_0.type === "loading") {
73
96
  return /*#__PURE__*/_jsx(ConversationPreviewSkeleton, {});
74
97
  } else {
@@ -85,23 +108,23 @@ export const Conversations = t0 => {
85
108
  });
86
109
  }
87
110
  };
88
- $[5] = navigation;
89
- $[6] = showBadges;
90
- $[7] = t5;
111
+ $[9] = navigation;
112
+ $[10] = showBadges;
113
+ $[11] = t6;
91
114
  } else {
92
- t5 = $[7];
115
+ t6 = $[11];
93
116
  }
94
- let t6;
95
- if ($[8] !== fetchNextPage) {
96
- t6 = () => fetchNextPage();
97
- $[8] = fetchNextPage;
98
- $[9] = t6;
117
+ let t7;
118
+ if ($[12] !== fetchNextPage) {
119
+ t7 = () => fetchNextPage();
120
+ $[12] = fetchNextPage;
121
+ $[13] = t7;
99
122
  } else {
100
- t6 = $[9];
123
+ t7 = $[13];
101
124
  }
102
- let t7;
103
- if ($[10] !== ListHeaderComponent || $[11] !== data || $[12] !== refetch || $[13] !== styles.contentContainer || $[14] !== t3 || $[15] !== t4 || $[16] !== t5 || $[17] !== t6) {
104
- t7 = /*#__PURE__*/_jsx(FlatList, {
125
+ let t8;
126
+ if ($[14] !== ListHeaderComponent || $[15] !== data || $[16] !== refetch || $[17] !== styles.contentContainer || $[18] !== t3 || $[19] !== t4 || $[20] !== t5 || $[21] !== t6 || $[22] !== t7) {
127
+ t8 = /*#__PURE__*/_jsx(FlatList, {
105
128
  data: data,
106
129
  keyExtractor: _temp2,
107
130
  contentContainerStyle: styles.contentContainer,
@@ -109,34 +132,36 @@ export const Conversations = t0 => {
109
132
  refreshing: t3,
110
133
  ListHeaderComponent: ListHeaderComponent,
111
134
  ListEmptyComponent: t4,
112
- renderItem: t5,
113
- onEndReached: t6
135
+ ListFooterComponent: t5,
136
+ renderItem: t6,
137
+ onEndReached: t7
114
138
  });
115
- $[10] = ListHeaderComponent;
116
- $[11] = data;
117
- $[12] = refetch;
118
- $[13] = styles.contentContainer;
119
- $[14] = t3;
120
- $[15] = t4;
121
- $[16] = t5;
122
- $[17] = t6;
123
- $[18] = t7;
139
+ $[14] = ListHeaderComponent;
140
+ $[15] = data;
141
+ $[16] = refetch;
142
+ $[17] = styles.contentContainer;
143
+ $[18] = t3;
144
+ $[19] = t4;
145
+ $[20] = t5;
146
+ $[21] = t6;
147
+ $[22] = t7;
148
+ $[23] = t8;
124
149
  } else {
125
- t7 = $[18];
150
+ t8 = $[23];
126
151
  }
127
- let t8;
128
- if ($[19] !== styles.container || $[20] !== t7) {
129
- t8 = /*#__PURE__*/_jsx(View, {
152
+ let t9;
153
+ if ($[24] !== styles.container || $[25] !== t8) {
154
+ t9 = /*#__PURE__*/_jsx(View, {
130
155
  style: styles.container,
131
- children: t7
156
+ children: t8
132
157
  });
133
- $[19] = styles.container;
134
- $[20] = t7;
135
- $[21] = t8;
158
+ $[24] = styles.container;
159
+ $[25] = t8;
160
+ $[26] = t9;
136
161
  } else {
137
- t8 = $[21];
162
+ t9 = $[26];
138
163
  }
139
- return t8;
164
+ return t9;
140
165
  };
141
166
  const useStyles = () => {
142
167
  const $ = _c(2);
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useConversationsJoltEvents","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","args","t1","chat_group_graph_id","group_source_app_name","navigation","canCreateConversations","isFilterApplied","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","badge","badges","deleted","muted","t7","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","renderItem","onEndReached","t8","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","length","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { ConversationResource } from '../../types'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n args: { chat_group_graph_id, group_source_app_name },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useClearConversationFilters","useConversationsJoltEvents","useFilterDropdownEnabled","ArchivedResultsFooter","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","FilteredResultsFooter","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","hasNextPage","args","t1","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","navigation","canCreateConversations","clearFilters","filterDropdownEnabled","isFilterApplied","showArchivedResultsFooter","showFilteredResultsFooter","length","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","t7","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","badge","badges","deleted","muted","t8","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","ListFooterComponent","renderItem","onEndReached","t9","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\nimport { ArchivedResultsFooter } from './archived_results_footer'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\nimport { FilteredResultsFooter } from './filtered_results_footer'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n hasNextPage,\n args: { chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const clearFilters = useClearConversationFilters()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied =\n !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived\n const showArchivedResultsFooter = !!show_archived && !isLoading\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\n !show_archived &&\n !hasNextPage &&\n !isLoading &&\n conversations.length > 0\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n ListFooterComponent={\n showArchivedResultsFooter ? (\n <ArchivedResultsFooter onViewActiveConversations={clearFilters} />\n ) : showFilteredResultsFooter ? (\n <FilteredResultsFooter />\n ) : null\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":";AAAA,SAASA,aAAa,QAAQ,0BAA0B;AACxD,OAAOC,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACzD,SAASC,uBAAuB,QAAQ,sCAAsC;AAC9E,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,yBAAyB,QAAQ,kCAAkC;AAC5E,SAASC,2BAA2B,QAAQ,4CAA4C;AACxF,SAASC,0BAA0B,QAAQ,2CAA2C;AACtF,SAASC,wBAAwB,QAAQ,yCAAyC;AAElF,SAASC,qBAAqB,QAAQ,2BAA2B;AACjE,SAASC,mBAAmB,EAAEC,2BAA2B,QAAQ,wBAAwB;AACzF,SAASC,uBAAuB,QAAQ,6BAA6B;AACrE,SAASC,qBAAqB,QAAQ,2BAA2B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAUjE,OAAO,MAAMC,aAAa,GAAGC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAC;EAAA,IAAAH,EAA2C;EACvE,MAAAI,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B;IAAAC,aAAA;IAAAC,SAAA;IAAAC,aAAA;IAAAC,OAAA;IAAAC,YAAA;IAAAC,SAAA;IAAAC,WAAA;IAAAC,IAAA,EAAAC;EAAA,IASI5B,uBAAuB,CAAC,CAAC;EADrB;IAAA6B,mBAAA;IAAAC,qBAAA;IAAAC,oBAAA;IAAAC;EAAA,IAAAJ,EAAmF;EAE3F,MAAAK,UAAA,GAAmBvC,aAAa,CAAC,CAAC;EAClC,MAAAwC,sBAAA,GAA+BhC,yBAAyB,CAAC,CAAC;EAC1D,MAAAiC,YAAA,GAAqBhC,2BAA2B,CAAC,CAAC;EAClD,MAAAiC,qBAAA,GAA8B/B,wBAAwB,CAAC,CAAC;EACxD,MAAAgC,eAAA,GACE,CAAC,CAACR,mBAA8C,IAAhD,CAA0B,CAACC,qBAA+C,IAA1E,CAAqD,CAACC,oBAAuC,IAA7F,CAA+E,CAACC,aAAa;EAC/F,MAAAM,yBAAA,GAAkC,CAAC,CAACN,aAA2B,IAA7B,CAAoBX,SAAS;EAC/D,MAAAkB,yBAAA,GACEH,qBACe,IADfC,eAEc,IAFd,CAECL,aACW,IAHZ,CAGCN,WACS,IAJV,CAICL,SACuB,IAAxBD,aAAa,CAAAoB,MAAO,GAAG,CAAC;EAE1B,MAAAC,UAAA,GAAmB,CAACZ,mBAAmB;EAAA,IAAAa,EAAA;EAAAC,GAAA;IAGrC,IAAItB,SAAS;MACXqB,EAAA,GAAOE,kBAAkB;MAAzB,MAAAD,GAAA;IAAyB;IAC1B,IAAAE,EAAA;IAAA,IAAA9B,CAAA,QAAAK,aAAA;MACMyB,EAAA,GAAAzB,aAAa,CAAA0B,GAAI,CAACC,KAIvB,CAAC;MAAAhC,CAAA,MAAAK,aAAA;MAAAL,CAAA,MAAA8B,EAAA;IAAA;MAAAA,EAAA,GAAA9B,CAAA;IAAA;IAJH2B,EAAA,GAAOG,EAIJ;EAAA;EARL,MAAAG,IAAA,GAA6BN,EASC;EAE9BtC,0BAA0B,CAAC,CAAC;EASV,MAAAyC,EAAA,IAACpB,SAAyB,IAA1BD,YAA0B;EAAA,IAAAyB,EAAA;EAAA,IAAAlC,CAAA,QAAAmB,sBAAA,IAAAnB,CAAA,QAAAsB,eAAA;IAGpCY,EAAA,gBAAArC,IAAA,CAACH,uBAAuB;MACL4B,eAAe,EAAfA,eAAe;MACRH,sBAAsB,EAAtBA;IAAsB,CAC/C,CAAC;IAAAnB,CAAA,MAAAmB,sBAAA;IAAAnB,CAAA,MAAAsB,eAAA;IAAAtB,CAAA,MAAAkC,EAAA;EAAA;IAAAA,EAAA,GAAAlC,CAAA;EAAA;EAAA,IAAAmC,EAAA;EAAA,IAAAnC,CAAA,QAAAoB,YAAA,IAAApB,CAAA,QAAAuB,yBAAA,IAAAvB,CAAA,QAAAwB,yBAAA;IAGFW,EAAA,GAAAZ,yBAAyB,gBAAzB1B,IAAA,CACGN,qBAAqB;MAA4B6B,yBAAY,EAAZA;IAAY,CAGzD,CAAC,GAFJI,yBAAyB,gBAAzB3B,IAAA,CACDF,qBAAqB,IACjB,CAAC,GAFJ,IAEI;IAAAK,CAAA,MAAAoB,YAAA;IAAApB,CAAA,MAAAuB,yBAAA;IAAAvB,CAAA,MAAAwB,yBAAA;IAAAxB,CAAA,MAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EAAA,IAAAoC,EAAA;EAAA,IAAApC,CAAA,QAAAkB,UAAA,IAAAlB,CAAA,SAAA0B,UAAA;IAEEU,EAAA,GAAAC,EAAA;MAAC;QAAAC,IAAA,EAAAC;MAAA,IAAAF,EAAQ;MACnB,IAAIC,MAAI,CAAAE,IAAK,KAAK,SAAS;QAAA,oBAClB3C,IAAA,CAACJ,2BAA2B,IAAE,CAAC;MAAA;QAAA,oBAGpCI,IAAA,CAACL,mBAAmB;UACJiD,YAAa,EAAbH,MAAI,CAAAI,QAAS;UAClBC,OAOL,EAPKA,CAAA,KACPzB,UAAU,CAAA0B,QAAS,CAAC,cAAc,EAAE;YAAAC,eAAA,EACjBP,MAAI,CAAAI,QAAS,CAAAI,EAAG;YAAAC,KAAA,EAC1BT,MAAI,CAAAI,QAAS,CAAAK,KAAM;YAAAC,KAAA,EACnBV,MAAI,CAAAI,QAAS,CAAAO,MAAY;YAAAC,OAAA,EACvBZ,MAAI,CAAAI,QAAS,CAAAQ,OAAQ;YAAAC,KAAA,EACvBb,MAAI,CAAAI,QAAS,CAAAS;UACtB,CAAC,CAAC;UAEQzB,UAAU,EAAVA;QAAU,CACvB,CAAC;MAAA;IAEL,CACF;IAAA1B,CAAA,MAAAkB,UAAA;IAAAlB,CAAA,OAAA0B,UAAA;IAAA1B,CAAA,OAAAoC,EAAA;EAAA;IAAAA,EAAA,GAAApC,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAAO,aAAA;IACa8B,EAAA,GAAAA,CAAA,KAAM9B,aAAa,CAAC,CAAC;IAAAP,CAAA,OAAAO,aAAA;IAAAP,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,IAAAoD,EAAA;EAAA,IAAApD,CAAA,SAAAE,mBAAA,IAAAF,CAAA,SAAAiC,IAAA,IAAAjC,CAAA,SAAAQ,OAAA,IAAAR,CAAA,SAAAG,MAAA,CAAAkD,gBAAA,IAAArD,CAAA,SAAA8B,EAAA,IAAA9B,CAAA,SAAAkC,EAAA,IAAAlC,CAAA,SAAAmC,EAAA,IAAAnC,CAAA,SAAAoC,EAAA,IAAApC,CAAA,SAAAqC,EAAA;IAzCrCe,EAAA,gBAAAvD,IAAA,CAACf,QAAQ;MACDmD,IAAI,EAAJA,IAAI;MACIqB,YAA0B,EAA1BC,MAA0B;MACjBC,qBAAuB,EAAvBrD,MAAM,CAAAkD,gBAAiB;MACnC7C,SAAO,EAAPA,OAAO;MACNiD,UAA0B,EAA1B3B,EAA0B;MACjB5B,mBAAmB,EAAnBA,mBAAmB;MAEtCwD,kBAGE,EAHFxB,EAGE;MAGFyB,mBAIQ,EAJRxB,EAIQ;MAEEyB,UAoBX,EApBWxB,EAoBX;MACayB,YAAqB,EAArBxB;IAAqB,CACpC,CAAC;IAAArC,CAAA,OAAAE,mBAAA;IAAAF,CAAA,OAAAiC,IAAA;IAAAjC,CAAA,OAAAQ,OAAA;IAAAR,CAAA,OAAAG,MAAA,CAAAkD,gBAAA;IAAArD,CAAA,OAAA8B,EAAA;IAAA9B,CAAA,OAAAkC,EAAA;IAAAlC,CAAA,OAAAmC,EAAA;IAAAnC,CAAA,OAAAoC,EAAA;IAAApC,CAAA,OAAAqC,EAAA;IAAArC,CAAA,OAAAoD,EAAA;EAAA;IAAAA,EAAA,GAAApD,CAAA;EAAA;EAAA,IAAA8D,EAAA;EAAA,IAAA9D,CAAA,SAAAG,MAAA,CAAA4D,SAAA,IAAA/D,CAAA,SAAAoD,EAAA;IA3CJU,EAAA,gBAAAjE,IAAA,CAACb,IAAI;MAAQgF,KAAgB,EAAhB7D,MAAM,CAAA4D,SAAU;MAAAE,QAAA,EAC3Bb;IA0CE,CACE,CAAC;IAAApD,CAAA,OAAAG,MAAA,CAAA4D,SAAA;IAAA/D,CAAA,OAAAoD,EAAA;IAAApD,CAAA,OAAA8D,EAAA;EAAA;IAAAA,EAAA,GAAA9D,CAAA;EAAA;EAAA,OA5CP8D,EA4CO;AAAA,CAEV;AAED,MAAM1D,SAAS,GAAGA,CAAA;EAAA,MAAAJ,CAAA,GAAAC,EAAA;EAChB;IAAAiE;EAAA,IAAmBhF,QAAQ,CAAC,CAAC;EAAA,IAAAa,EAAA;EAAA,IAAAC,CAAA,QAAAkE,MAAA,CAAAC,mBAAA;IAEtBpE,EAAA,GAAAhB,UAAU,CAAAqF,MAAO,CAAC;MAAAL,SAAA,EACZ;QAAAM,IAAA,EAAQ;MAAE,CAAC;MAAAhB,gBAAA,EACJ;QAAAiB,eAAA,EAAmB;MAAG,CAAC;MAAAC,QAAA,EAC/B;QAAAC,KAAA,EAASN,MAAM,CAAAC;MAAqB;IAChD,CAAC,CAAC;IAAAnE,CAAA,MAAAkE,MAAA,CAAAC,mBAAA;IAAAnE,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAJKD,EAIL;AAAA,CACH;AAaD,MAAM8B,kBAAkC,GAAG4C,KAAK,CAACC,IAAI,CAAC;EAAEjD,MAAM,EAAE;AAAE,CAAC,EAAE,CAACkD,CAAC,EAAEC,CAAC,MAAM;EAC9EpC,IAAI,EAAE,SAAS;EACfM,EAAE,EAAE,UAAU8B,CAAC;AACjB,CAAC,CAAC,CAAC;AAnH0B,SAAA5C,MAAAS,YAAA;EAAA,OAiCiB;IAAAD,IAAA,EAClC,cAAc;IAAAM,EAAA,EAChBL,YAAY,CAAAK,EAAG;IAAAJ,QAAA,EACTD;EACZ,CAAC;AAAA;AArCwB,SAAAc,OAAAjB,IAAA;EAAA,OA8CCA,IAAI,CAAAQ,EAAG,CAAA+B,QAAS,CAAC,CAAC;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"conversations_blank_state.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"names":[],"mappings":"AAIA,UAAU,4BAA4B;IACpC,eAAe,EAAE,OAAO,CAAA;IACxB,sBAAsB,EAAE,OAAO,CAAA;CAChC;AAED,wBAAgB,uBAAuB,CAAC,EACtC,eAAe,EACf,sBAAsB,GACvB,EAAE,4BAA4B,2CAoB9B"}
1
+ {"version":3,"file":"conversations_blank_state.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"names":[],"mappings":"AAMA,UAAU,4BAA4B;IACpC,eAAe,EAAE,OAAO,CAAA;IACxB,sBAAsB,EAAE,OAAO,CAAA;CAChC;AAED,wBAAgB,uBAAuB,CAAC,EACtC,eAAe,EACf,sBAAsB,GACvB,EAAE,4BAA4B,2CAuC9B"}
@@ -1,34 +1,77 @@
1
1
  import { c as _c } from "react/compiler-runtime";
2
2
  import React from 'react';
3
3
  import { StyleSheet, View } from 'react-native';
4
+ import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
5
+ import { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled';
4
6
  import BlankState from '../primitive/blank_state_primitive';
5
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
8
  export function ConversationsBlankState(t0) {
7
- const $ = _c(5);
9
+ const $ = _c(9);
8
10
  const {
9
11
  isFilterApplied,
10
12
  canCreateConversations
11
13
  } = t0;
14
+ const filterDropdownEnabled = useFilterDropdownEnabled();
15
+ const clearFilters = useClearConversationFilters();
16
+ if (filterDropdownEnabled && isFilterApplied) {
17
+ let t1;
18
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
19
+ t1 = /*#__PURE__*/_jsx(BlankState.Imagery, {
20
+ name: "general.outlinedTextMessage"
21
+ });
22
+ $[0] = t1;
23
+ } else {
24
+ t1 = $[0];
25
+ }
26
+ let t2;
27
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
28
+ t2 = /*#__PURE__*/_jsx(BlankState.Content, {
29
+ children: /*#__PURE__*/_jsx(BlankState.Heading, {
30
+ children: "No matches"
31
+ })
32
+ });
33
+ $[1] = t2;
34
+ } else {
35
+ t2 = $[1];
36
+ }
37
+ let t3;
38
+ if ($[2] !== clearFilters) {
39
+ t3 = /*#__PURE__*/_jsx(View, {
40
+ style: styles.container,
41
+ children: /*#__PURE__*/_jsxs(BlankState.Root, {
42
+ children: [t1, t2, /*#__PURE__*/_jsx(BlankState.TextButton, {
43
+ onPress: clearFilters,
44
+ children: "View all conversations"
45
+ })]
46
+ })
47
+ });
48
+ $[2] = clearFilters;
49
+ $[3] = t3;
50
+ } else {
51
+ t3 = $[3];
52
+ }
53
+ return t3;
54
+ }
12
55
  let t1;
13
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
56
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
14
57
  t1 = /*#__PURE__*/_jsx(BlankState.Imagery, {
15
58
  name: "general.outlinedTextMessage"
16
59
  });
17
- $[0] = t1;
60
+ $[4] = t1;
18
61
  } else {
19
- t1 = $[0];
62
+ t1 = $[4];
20
63
  }
21
64
  let t2;
22
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
65
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
23
66
  t2 = /*#__PURE__*/_jsx(BlankState.Heading, {
24
67
  children: "No conversations yet."
25
68
  });
26
- $[1] = t2;
69
+ $[5] = t2;
27
70
  } else {
28
- t2 = $[1];
71
+ t2 = $[5];
29
72
  }
30
73
  let t3;
31
- if ($[2] !== canCreateConversations || $[3] !== isFilterApplied) {
74
+ if ($[6] !== canCreateConversations || $[7] !== isFilterApplied) {
32
75
  t3 = /*#__PURE__*/_jsx(View, {
33
76
  style: styles.container,
34
77
  children: /*#__PURE__*/_jsxs(BlankState.Root, {
@@ -43,11 +86,11 @@ export function ConversationsBlankState(t0) {
43
86
  })]
44
87
  })
45
88
  });
46
- $[2] = canCreateConversations;
47
- $[3] = isFilterApplied;
48
- $[4] = t3;
89
+ $[6] = canCreateConversations;
90
+ $[7] = isFilterApplied;
91
+ $[8] = t3;
49
92
  } else {
50
- t3 = $[4];
93
+ t3 = $[8];
51
94
  }
52
95
  return t3;
53
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conversations_blank_state.js","names":["React","StyleSheet","View","BlankState","jsx","_jsx","jsxs","_jsxs","ConversationsBlankState","t0","$","_c","isFilterApplied","canCreateConversations","t1","Symbol","for","Imagery","name","t2","Heading","children","t3","style","styles","container","Root","Content","Text","create","flex","justifyContent","alignItems","paddingVertical"],"sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport BlankState from '../primitive/blank_state_primitive'\n\ninterface ConversationsBlankStateProps {\n isFilterApplied: boolean\n canCreateConversations: boolean\n}\n\nexport function ConversationsBlankState({\n isFilterApplied,\n canCreateConversations,\n}: ConversationsBlankStateProps) {\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No conversations yet.</BlankState.Heading>\n {isFilterApplied ? (\n <BlankState.Text>Adjust your filters to find conversations.</BlankState.Text>\n ) : canCreateConversations ? (\n <BlankState.Text>Tap the compose button to get started.</BlankState.Text>\n ) : (\n <BlankState.Text>\n When your groups or teams start chatting, you&rsquo;ll find them here.\n </BlankState.Text>\n )}\n </BlankState.Content>\n </BlankState.Root>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 32,\n },\n})\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,UAAU,MAAM,oCAAoC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAO3D,OAAO,SAAAC,wBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAiC;IAAAC,eAAA;IAAAC;EAAA,IAAAJ,EAGT;EAAA,IAAAK,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAIvBF,EAAA,gBAAAT,IAAA,CAAAF,UAAA,CAAAc,OAAA;MAAyBC,IAA6B,EAA7B;IAA6B,CAAE,CAAC;IAAAR,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAS,EAAA;EAAA,IAAAT,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAEvDG,EAAA,gBAAAd,IAAA,CAAAF,UAAA,CAAAiB,OAAA;MAAAC,QAAA,EAAoB;IAAqB,CAAoB,CAAC;IAAAX,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,IAAAY,EAAA;EAAA,IAAAZ,CAAA,QAAAG,sBAAA,IAAAH,CAAA,QAAAE,eAAA;IAJpEU,EAAA,gBAAAjB,IAAA,CAACH,IAAI;MAAQqB,KAAgB,EAAhBC,MAAM,CAAAC,SAAU;MAAAJ,QAAA,eAC3Bd,KAAA,CAAAJ,UAAA,CAAAuB,IAAA;QAAAL,QAAA,GACEP,EAAyD,eACzDP,KAAA,CAAAJ,UAAA,CAAAwB,OAAA;UAAAN,QAAA,GACEF,EAA8D,EAC7DP,eAAe,gBAAfP,IAAA,CAAAF,UAAA,CAAAyB,IAAA;YAAAP,QAAA,EACkB;UAA0C,CAO7D,CAAC,GANGR,sBAAsB,gBAAtBR,IAAA,CAAAF,UAAA,CAAAyB,IAAA;YAAAP,QAAA,EACe;UAAsC,CAKzD,CAAC,gBANGhB,IAAA,CAAAF,UAAA,CAAAyB,IAAA;YAAAP,QAAA,EAGe;UAEjB,CACF,CAAC;QAAA,CACiB,CAAC;MAAA,CACN;IAAC,CACd,CAAC;IAAAX,CAAA,MAAAG,sBAAA;IAAAH,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAAA,OAhBPY,EAgBO;AAAA;AAIX,MAAME,MAAM,GAAGvB,UAAU,CAAC4B,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"conversations_blank_state.js","names":["React","StyleSheet","View","useClearConversationFilters","useFilterDropdownEnabled","BlankState","jsx","_jsx","jsxs","_jsxs","ConversationsBlankState","t0","$","_c","isFilterApplied","canCreateConversations","filterDropdownEnabled","clearFilters","t1","Symbol","for","Imagery","name","t2","Content","children","Heading","t3","style","styles","container","Root","TextButton","Text","create","flex","justifyContent","alignItems","paddingVertical"],"sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport BlankState from '../primitive/blank_state_primitive'\n\ninterface ConversationsBlankStateProps {\n isFilterApplied: boolean\n canCreateConversations: boolean\n}\n\nexport function ConversationsBlankState({\n isFilterApplied,\n canCreateConversations,\n}: ConversationsBlankStateProps) {\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const clearFilters = useClearConversationFilters()\n\n if (filterDropdownEnabled && isFilterApplied) {\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No matches</BlankState.Heading>\n </BlankState.Content>\n <BlankState.TextButton onPress={clearFilters}>\n View all conversations\n </BlankState.TextButton>\n </BlankState.Root>\n </View>\n )\n }\n\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No conversations yet.</BlankState.Heading>\n {isFilterApplied ? (\n <BlankState.Text>Adjust your filters to find conversations.</BlankState.Text>\n ) : canCreateConversations ? (\n <BlankState.Text>Tap the compose button to get started.</BlankState.Text>\n ) : (\n <BlankState.Text>\n When your groups or teams start chatting, you&rsquo;ll find them here.\n </BlankState.Text>\n )}\n </BlankState.Content>\n </BlankState.Root>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 32,\n },\n})\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare function FilteredResultsFooter(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=filtered_results_footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtered_results_footer.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/filtered_results_footer.tsx"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,4CAcpC"}
@@ -0,0 +1,77 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from 'react';
3
+ import { StyleSheet, View } from 'react-native';
4
+ import { useTheme } from '../../hooks';
5
+ import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
6
+ import { Text, TextButton } from '../display';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function FilteredResultsFooter() {
9
+ const $ = _c(8);
10
+ const styles = useStyles();
11
+ const clearFilters = useClearConversationFilters();
12
+ let t0;
13
+ if ($[0] !== styles.text) {
14
+ t0 = /*#__PURE__*/_jsx(Text, {
15
+ variant: "tertiary",
16
+ style: styles.text,
17
+ children: "You\u2019re viewing filtered results"
18
+ });
19
+ $[0] = styles.text;
20
+ $[1] = t0;
21
+ } else {
22
+ t0 = $[1];
23
+ }
24
+ let t1;
25
+ if ($[2] !== clearFilters) {
26
+ t1 = /*#__PURE__*/_jsx(TextButton, {
27
+ variant: "tertiary",
28
+ onPress: clearFilters,
29
+ children: "View all conversations"
30
+ });
31
+ $[2] = clearFilters;
32
+ $[3] = t1;
33
+ } else {
34
+ t1 = $[3];
35
+ }
36
+ let t2;
37
+ if ($[4] !== styles.container || $[5] !== t0 || $[6] !== t1) {
38
+ t2 = /*#__PURE__*/_jsxs(View, {
39
+ style: styles.container,
40
+ children: [t0, t1]
41
+ });
42
+ $[4] = styles.container;
43
+ $[5] = t0;
44
+ $[6] = t1;
45
+ $[7] = t2;
46
+ } else {
47
+ t2 = $[7];
48
+ }
49
+ return t2;
50
+ }
51
+ const useStyles = () => {
52
+ const $ = _c(2);
53
+ const {
54
+ colors
55
+ } = useTheme();
56
+ let t0;
57
+ if ($[0] !== colors.textColorDefaultSecondary) {
58
+ t0 = StyleSheet.create({
59
+ container: {
60
+ alignItems: "center",
61
+ gap: 8,
62
+ paddingHorizontal: 16,
63
+ paddingVertical: 24
64
+ },
65
+ text: {
66
+ textAlign: "center",
67
+ color: colors.textColorDefaultSecondary
68
+ }
69
+ });
70
+ $[0] = colors.textColorDefaultSecondary;
71
+ $[1] = t0;
72
+ } else {
73
+ t0 = $[1];
74
+ }
75
+ return t0;
76
+ };
77
+ //# sourceMappingURL=filtered_results_footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtered_results_footer.js","names":["React","StyleSheet","View","useTheme","useClearConversationFilters","Text","TextButton","jsx","_jsx","jsxs","_jsxs","FilteredResultsFooter","$","_c","styles","useStyles","clearFilters","t0","text","variant","style","children","t1","t2","container","colors","textColorDefaultSecondary","create","alignItems","gap","paddingHorizontal","paddingVertical","textAlign","color"],"sources":["../../../src/components/conversations/filtered_results_footer.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { Text, TextButton } from '../display'\n\nexport function FilteredResultsFooter() {\n const styles = useStyles()\n const clearFilters = useClearConversationFilters()\n\n return (\n <View style={styles.container}>\n <Text variant=\"tertiary\" style={styles.text}>\n You&rsquo;re viewing filtered results\n </Text>\n <TextButton variant=\"tertiary\" onPress={clearFilters}>\n View all conversations\n </TextButton>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n alignItems: 'center',\n gap: 8,\n paddingHorizontal: 16,\n paddingVertical: 24,\n },\n text: {\n textAlign: 'center',\n color: colors.textColorDefaultSecondary,\n },\n })\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,2BAA2B,QAAQ,4CAA4C;AACxF,SAASC,IAAI,EAAEC,UAAU,QAAQ,YAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7C,OAAO,SAAAC,sBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B,MAAAC,YAAA,GAAqBZ,2BAA2B,CAAC,CAAC;EAAA,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAE,MAAA,CAAAI,IAAA;IAI9CD,EAAA,gBAAAT,IAAA,CAACH,IAAI;MAASc,OAAU,EAAV,UAAU;MAAQC,KAAW,EAAXN,MAAM,CAAAI,IAAK;MAAAG,QAAA,EAAE;IAE7C,CAAM,CAAC;IAAAT,CAAA,MAAAE,MAAA,CAAAI,IAAA;IAAAN,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAI,YAAA;IACPM,EAAA,gBAAAd,IAAA,CAACF,UAAU;MAASa,OAAU,EAAV,UAAU;MAAUH,OAAY,EAAZA,YAAY;MAAAK,QAAA,EAAE;IAEtD,CAAY,CAAC;IAAAT,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAW,EAAA;EAAA,IAAAX,CAAA,QAAAE,MAAA,CAAAU,SAAA,IAAAZ,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAU,EAAA;IANfC,EAAA,gBAAAb,KAAA,CAACR,IAAI;MAAQkB,KAAgB,EAAhBN,MAAM,CAAAU,SAAU;MAAAH,QAAA,GAC3BJ,EAEO,EACPK,EAEa;IAAA,CACT,CAAC;IAAAV,CAAA,MAAAE,MAAA,CAAAU,SAAA;IAAAZ,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAAA,OAPPW,EAOO;AAAA;AAIX,MAAMR,SAAS,GAAGA,CAAA;EAAA,MAAAH,CAAA,GAAAC,EAAA;EAChB;IAAAY;EAAA,IAAmBtB,QAAQ,CAAC,CAAC;EAAA,IAAAc,EAAA;EAAA,IAAAL,CAAA,QAAAa,MAAA,CAAAC,yBAAA;IAEtBT,EAAA,GAAAhB,UAAU,CAAA0B,MAAO,CAAC;MAAAH,SAAA,EACZ;QAAAI,UAAA,EACG,QAAQ;QAAAC,GAAA,EACf,CAAC;QAAAC,iBAAA,EACa,EAAE;QAAAC,eAAA,EACJ;MACnB,CAAC;MAAAb,IAAA,EACK;QAAAc,SAAA,EACO,QAAQ;QAAAC,KAAA,EACZR,MAAM,CAAAC;MACf;IACF,CAAC,CAAC;IAAAd,CAAA,MAAAa,MAAA,CAAAC,yBAAA;IAAAd,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,OAXKK,EAWL;AAAA,CACH","ignoreList":[]}
@@ -8,6 +8,7 @@ export interface FilterDropdownProps {
8
8
  onSelect: (id: string) => void;
9
9
  onMoreFilters: () => void;
10
10
  triggerLabel: string;
11
+ showMoreFilters?: boolean;
11
12
  }
12
- export declare function FilterDropdown({ options, selectedId, onSelect, onMoreFilters, triggerLabel, }: FilterDropdownProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function FilterDropdown({ options, selectedId, onSelect, onMoreFilters, triggerLabel, showMoreFilters, }: FilterDropdownProps): import("react/jsx-runtime").JSX.Element;
13
14
  //# sourceMappingURL=filter_dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter_dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/display/filter_dropdown.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,GACb,EAAE,mBAAmB,2CAiDrB"}
1
+ {"version":3,"file":"filter_dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/display/filter_dropdown.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAsB,GACvB,EAAE,mBAAmB,2CAgDrB"}