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

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 (35) hide show
  1. package/build/components/conversations/conversations.d.ts.map +1 -1
  2. package/build/components/conversations/conversations.js +55 -39
  3. package/build/components/conversations/conversations.js.map +1 -1
  4. package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
  5. package/build/components/conversations/conversations_blank_state.js +55 -12
  6. package/build/components/conversations/conversations_blank_state.js.map +1 -1
  7. package/build/components/conversations/filtered_results_footer.d.ts +2 -0
  8. package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
  9. package/build/components/conversations/filtered_results_footer.js +77 -0
  10. package/build/components/conversations/filtered_results_footer.js.map +1 -0
  11. package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
  12. package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
  13. package/build/hooks/use_clear_conversation_filters.js +24 -0
  14. package/build/hooks/use_clear_conversation_filters.js.map +1 -0
  15. package/build/hooks/use_reduce_motion.d.ts.map +1 -1
  16. package/build/hooks/use_reduce_motion.js +2 -1
  17. package/build/hooks/use_reduce_motion.js.map +1 -1
  18. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
  19. package/build/screens/conversation_filters/components/conversation_filters.js +8 -5
  20. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  21. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  22. package/build/screens/conversation_filters_screen.js +47 -42
  23. package/build/screens/conversation_filters_screen.js.map +1 -1
  24. package/package.json +3 -3
  25. package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +129 -0
  26. package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
  27. package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +72 -0
  28. package/src/components/conversations/conversations.tsx +13 -2
  29. package/src/components/conversations/conversations_blank_state.tsx +21 -0
  30. package/src/components/conversations/filtered_results_footer.tsx +38 -0
  31. package/src/hooks/__tests__/use_reduce_motion.test.tsx +13 -1
  32. package/src/hooks/use_clear_conversation_filters.ts +15 -0
  33. package/src/hooks/use_reduce_motion.ts +2 -1
  34. package/src/screens/conversation_filters/components/conversation_filters.tsx +8 -5
  35. package/src/screens/conversation_filters_screen.tsx +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAUtC,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,EAChB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAClE,IAAI,GACJ,SAAS,CAAA;CACd;AAED,eAAO,MAAM,aAAa,GAAI,yBAAyB,kBAAkB,4CAsExE,CAAA"}
1
+ {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAYtC,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,EAChB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAClE,IAAI,GACJ,SAAS,CAAA;CACd;AAED,eAAO,MAAM,aAAa,GAAI,yBAAyB,kBAAkB,4CA+ExE,CAAA"}
@@ -6,11 +6,13 @@ import { useConversationsContext } from '../../contexts/conversations_context';
6
6
  import { useTheme } from '../../hooks';
7
7
  import { useCanCreateConversations } from '../../hooks/use_chat_permissions';
8
8
  import { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events';
9
+ import { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled';
9
10
  import { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview';
10
11
  import { ConversationsBlankState } from './conversations_blank_state';
12
+ import { FilteredResultsFooter } from './filtered_results_footer';
11
13
  import { jsx as _jsx } from "react/jsx-runtime";
12
14
  export const Conversations = t0 => {
13
- const $ = _c(22);
15
+ const $ = _c(25);
14
16
  const {
15
17
  ListHeaderComponent
16
18
  } = t0;
@@ -22,15 +24,19 @@ export const Conversations = t0 => {
22
24
  refetch,
23
25
  isRefetching,
24
26
  isFetched,
27
+ hasNextPage,
25
28
  args: t1
26
29
  } = useConversationsContext();
27
30
  const {
28
31
  chat_group_graph_id,
29
- group_source_app_name
32
+ group_source_app_name,
33
+ show_direct_messages
30
34
  } = t1;
31
35
  const navigation = useNavigation();
32
36
  const canCreateConversations = useCanCreateConversations();
33
- const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name;
37
+ const filterDropdownEnabled = useFilterDropdownEnabled();
38
+ const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages;
39
+ const showFilteredResultsFooter = filterDropdownEnabled && isFilterApplied && !hasNextPage && !isLoading && conversations.length > 0;
34
40
  const showBadges = !chat_group_graph_id;
35
41
  let t2;
36
42
  bb0: {
@@ -64,11 +70,19 @@ export const Conversations = t0 => {
64
70
  t4 = $[4];
65
71
  }
66
72
  let t5;
67
- if ($[5] !== navigation || $[6] !== showBadges) {
68
- t5 = t6 => {
73
+ if ($[5] !== showFilteredResultsFooter) {
74
+ t5 = showFilteredResultsFooter ? /*#__PURE__*/_jsx(FilteredResultsFooter, {}) : null;
75
+ $[5] = showFilteredResultsFooter;
76
+ $[6] = t5;
77
+ } else {
78
+ t5 = $[6];
79
+ }
80
+ let t6;
81
+ if ($[7] !== navigation || $[8] !== showBadges) {
82
+ t6 = t7 => {
69
83
  const {
70
84
  item: item_0
71
- } = t6;
85
+ } = t7;
72
86
  if (item_0.type === "loading") {
73
87
  return /*#__PURE__*/_jsx(ConversationPreviewSkeleton, {});
74
88
  } else {
@@ -85,23 +99,23 @@ export const Conversations = t0 => {
85
99
  });
86
100
  }
87
101
  };
88
- $[5] = navigation;
89
- $[6] = showBadges;
90
- $[7] = t5;
91
- } else {
92
- t5 = $[7];
93
- }
94
- let t6;
95
- if ($[8] !== fetchNextPage) {
96
- t6 = () => fetchNextPage();
97
- $[8] = fetchNextPage;
102
+ $[7] = navigation;
103
+ $[8] = showBadges;
98
104
  $[9] = t6;
99
105
  } else {
100
106
  t6 = $[9];
101
107
  }
102
108
  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, {
109
+ if ($[10] !== fetchNextPage) {
110
+ t7 = () => fetchNextPage();
111
+ $[10] = fetchNextPage;
112
+ $[11] = t7;
113
+ } else {
114
+ t7 = $[11];
115
+ }
116
+ let t8;
117
+ if ($[12] !== ListHeaderComponent || $[13] !== data || $[14] !== refetch || $[15] !== styles.contentContainer || $[16] !== t3 || $[17] !== t4 || $[18] !== t5 || $[19] !== t6 || $[20] !== t7) {
118
+ t8 = /*#__PURE__*/_jsx(FlatList, {
105
119
  data: data,
106
120
  keyExtractor: _temp2,
107
121
  contentContainerStyle: styles.contentContainer,
@@ -109,34 +123,36 @@ export const Conversations = t0 => {
109
123
  refreshing: t3,
110
124
  ListHeaderComponent: ListHeaderComponent,
111
125
  ListEmptyComponent: t4,
112
- renderItem: t5,
113
- onEndReached: t6
126
+ ListFooterComponent: t5,
127
+ renderItem: t6,
128
+ onEndReached: t7
114
129
  });
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;
130
+ $[12] = ListHeaderComponent;
131
+ $[13] = data;
132
+ $[14] = refetch;
133
+ $[15] = styles.contentContainer;
134
+ $[16] = t3;
135
+ $[17] = t4;
136
+ $[18] = t5;
137
+ $[19] = t6;
138
+ $[20] = t7;
139
+ $[21] = t8;
124
140
  } else {
125
- t7 = $[18];
141
+ t8 = $[21];
126
142
  }
127
- let t8;
128
- if ($[19] !== styles.container || $[20] !== t7) {
129
- t8 = /*#__PURE__*/_jsx(View, {
143
+ let t9;
144
+ if ($[22] !== styles.container || $[23] !== t8) {
145
+ t9 = /*#__PURE__*/_jsx(View, {
130
146
  style: styles.container,
131
- children: t7
147
+ children: t8
132
148
  });
133
- $[19] = styles.container;
134
- $[20] = t7;
135
- $[21] = t8;
149
+ $[22] = styles.container;
150
+ $[23] = t8;
151
+ $[24] = t9;
136
152
  } else {
137
- t8 = $[21];
153
+ t9 = $[24];
138
154
  }
139
- return t8;
155
+ return t9;
140
156
  };
141
157
  const useStyles = () => {
142
158
  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","useConversationsJoltEvents","useFilterDropdownEnabled","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","navigation","canCreateConversations","filterDropdownEnabled","isFilterApplied","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 { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\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 },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\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={showFilteredResultsFooter ? <FilteredResultsFooter /> : null}\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 +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":[]}
@@ -0,0 +1,2 @@
1
+ export declare function useClearConversationFilters(): () => void;
2
+ //# sourceMappingURL=use_clear_conversation_filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_clear_conversation_filters.d.ts","sourceRoot":"","sources":["../../src/hooks/use_clear_conversation_filters.ts"],"names":[],"mappings":"AAGA,wBAAgB,2BAA2B,eAW1C"}
@@ -0,0 +1,24 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import { useNavigation } from '@react-navigation/native';
3
+ import { useCallback } from 'react';
4
+ export function useClearConversationFilters() {
5
+ const $ = _c(2);
6
+ const navigation = useNavigation();
7
+ let t0;
8
+ if ($[0] !== navigation) {
9
+ t0 = () => {
10
+ navigation.setParams({
11
+ title: undefined,
12
+ chat_group_graph_id: undefined,
13
+ group_source_app_name: undefined,
14
+ show_direct_messages: undefined
15
+ });
16
+ };
17
+ $[0] = navigation;
18
+ $[1] = t0;
19
+ } else {
20
+ t0 = $[1];
21
+ }
22
+ return t0;
23
+ }
24
+ //# sourceMappingURL=use_clear_conversation_filters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_clear_conversation_filters.js","names":["useNavigation","useCallback","useClearConversationFilters","$","_c","navigation","t0","setParams","title","undefined","chat_group_graph_id","group_source_app_name","show_direct_messages"],"sources":["../../src/hooks/use_clear_conversation_filters.ts"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { useCallback } from 'react'\n\nexport function useClearConversationFilters() {\n const navigation = useNavigation()\n\n return useCallback(() => {\n navigation.setParams({\n title: undefined,\n chat_group_graph_id: undefined,\n group_source_app_name: undefined,\n show_direct_messages: undefined,\n })\n }, [navigation])\n}\n"],"mappings":";AAAA,SAASA,aAAa,QAAQ,0BAA0B;AACxD,SAASC,WAAW,QAAQ,OAAO;AAEnC,OAAO,SAAAC,4BAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,UAAA,GAAmBL,aAAa,CAAC,CAAC;EAAA,IAAAM,EAAA;EAAA,IAAAH,CAAA,QAAAE,UAAA;IAEfC,EAAA,GAAAA,CAAA;MACjBD,UAAU,CAAAE,SAAU,CAAC;QAAAC,KAAA,EACZC,SAAS;QAAAC,mBAAA,EACKD,SAAS;QAAAE,qBAAA,EACPF,SAAS;QAAAG,oBAAA,EACVH;MACxB,CAAC,CAAC;IAAA,CACH;IAAAN,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,OAPMG,EAOS;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"use_reduce_motion.d.ts","sourceRoot":"","sources":["../../src/hooks/use_reduce_motion.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,eAc3B,CAAA"}
1
+ {"version":3,"file":"use_reduce_motion.d.ts","sourceRoot":"","sources":["../../src/hooks/use_reduce_motion.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,eAc3B,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import { c as _c } from "react/compiler-runtime";
2
2
  import { useEffect, useState } from 'react';
3
3
  import { AccessibilityInfo } from 'react-native';
4
+ import { useReducedMotion } from 'react-native-reanimated';
4
5
  export const useReduceMotion = () => {
5
6
  const $ = _c(2);
6
- const [reduceMotion, setReduceMotion] = useState(false);
7
+ const [reduceMotion, setReduceMotion] = useState(useReducedMotion());
7
8
  let t0;
8
9
  let t1;
9
10
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -1 +1 @@
1
- {"version":3,"file":"use_reduce_motion.js","names":["useEffect","useState","AccessibilityInfo","useReduceMotion","$","_c","reduceMotion","setReduceMotion","t0","t1","Symbol","for","isReduceMotionEnabled","then","subscription","addEventListener","remove"],"sources":["../../src/hooks/use_reduce_motion.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { AccessibilityInfo } from 'react-native'\n\nexport const useReduceMotion = () => {\n const [reduceMotion, setReduceMotion] = useState(false)\n\n useEffect(() => {\n AccessibilityInfo.isReduceMotionEnabled().then(setReduceMotion)\n\n const subscription = AccessibilityInfo.addEventListener('reduceMotionChanged', setReduceMotion)\n\n return () => {\n subscription.remove()\n }\n }, [])\n\n return reduceMotion\n}\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,iBAAiB,QAAQ,cAAc;AAEhD,OAAO,MAAMC,eAAe,GAAGA,CAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAC7B,OAAAC,YAAA,EAAAC,eAAA,IAAwCN,QAAQ,CAAC,KAAK,CAAC;EAAA,IAAAO,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAM,MAAA,CAAAC,GAAA;IAE7CH,EAAA,GAAAA,CAAA;MACRN,iBAAiB,CAAAU,qBAAsB,CAAC,CAAC,CAAAC,IAAK,CAACN,eAAe,CAAC;MAE/D,MAAAO,YAAA,GAAqBZ,iBAAiB,CAAAa,gBAAiB,CAAC,qBAAqB,EAAER,eAAe,CAAC;MAAA,OAExF;QACLO,YAAY,CAAAE,MAAO,CAAC,CAAC;MAAA,CACtB;IAAA,CACF;IAAEP,EAAA,KAAE;IAAAL,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAD,EAAA,GAAAJ,CAAA;IAAAK,EAAA,GAAAL,CAAA;EAAA;EARLJ,SAAS,CAACQ,EAQT,EAAEC,EAAE,CAAC;EAAA,OAECH,YAAY;AAAA,CACpB","ignoreList":[]}
1
+ {"version":3,"file":"use_reduce_motion.js","names":["useEffect","useState","AccessibilityInfo","useReducedMotion","useReduceMotion","$","_c","reduceMotion","setReduceMotion","t0","t1","Symbol","for","isReduceMotionEnabled","then","subscription","addEventListener","remove"],"sources":["../../src/hooks/use_reduce_motion.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { AccessibilityInfo } from 'react-native'\nimport { useReducedMotion } from 'react-native-reanimated'\n\nexport const useReduceMotion = () => {\n const [reduceMotion, setReduceMotion] = useState(useReducedMotion())\n\n useEffect(() => {\n AccessibilityInfo.isReduceMotionEnabled().then(setReduceMotion)\n\n const subscription = AccessibilityInfo.addEventListener('reduceMotionChanged', setReduceMotion)\n\n return () => {\n subscription.remove()\n }\n }, [])\n\n return reduceMotion\n}\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,iBAAiB,QAAQ,cAAc;AAChD,SAASC,gBAAgB,QAAQ,yBAAyB;AAE1D,OAAO,MAAMC,eAAe,GAAGA,CAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAC7B,OAAAC,YAAA,EAAAC,eAAA,IAAwCP,QAAQ,CAACE,gBAAgB,CAAC,CAAC,CAAC;EAAA,IAAAM,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAM,MAAA,CAAAC,GAAA;IAE1DH,EAAA,GAAAA,CAAA;MACRP,iBAAiB,CAAAW,qBAAsB,CAAC,CAAC,CAAAC,IAAK,CAACN,eAAe,CAAC;MAE/D,MAAAO,YAAA,GAAqBb,iBAAiB,CAAAc,gBAAiB,CAAC,qBAAqB,EAAER,eAAe,CAAC;MAAA,OAExF;QACLO,YAAY,CAAAE,MAAO,CAAC,CAAC;MAAA,CACtB;IAAA,CACF;IAAEP,EAAA,KAAE;IAAAL,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAK,EAAA;EAAA;IAAAD,EAAA,GAAAJ,CAAA;IAAAK,EAAA,GAAAL,CAAA;EAAA;EARLL,SAAS,CAACS,EAQT,EAAEC,EAAE,CAAC;EAAA,OAECH,YAAY;AAAA,CACpB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_filters.d.ts","sourceRoot":"","sources":["../../../../src/screens/conversation_filters/components/conversation_filters.tsx"],"names":[],"mappings":"AAwDA,eAAO,MAAM,mBAAmB,+CA+H/B,CAAA"}
1
+ {"version":3,"file":"conversation_filters.d.ts","sourceRoot":"","sources":["../../../../src/screens/conversation_filters/components/conversation_filters.tsx"],"names":[],"mappings":"AAyDA,eAAO,MAAM,mBAAmB,+CAiI/B,CAAA"}
@@ -4,6 +4,7 @@ import { StyleSheet, View } from 'react-native';
4
4
  import { FlatList } from 'react-native-gesture-handler';
5
5
  import { Heading } from '../../../components';
6
6
  import { useAtFontScaleBreakpoint, useDirectMessagesEligible, useHasDirectMessages, useTheme } from '../../../hooks';
7
+ import { useFilterDropdownEnabled } from '../../../hooks/use_filter_dropdown_enabled';
7
8
  import { FilterContext, useFilterContext } from '../context/conversation_filter_context';
8
9
  import { FilterTypes } from '../filter_types';
9
10
  import { useGroupsToFilter, useTeamsToFilter } from '../hooks/filters';
@@ -39,6 +40,7 @@ export const ConversationFilters = () => {
39
40
  show_direct_messages
40
41
  } = params;
41
42
  const group_source_app_name = t0 === undefined ? "" : t0;
43
+ const filterDropdownEnabled = useFilterDropdownEnabled();
42
44
  const directMessagesEligible = useDirectMessagesEligible();
43
45
  const hasDirectMessages = useHasDirectMessages();
44
46
  const canFilterByDMs = directMessagesEligible && hasDirectMessages;
@@ -110,8 +112,9 @@ export const ConversationFilters = () => {
110
112
  const groupItems = groups.map(t5);
111
113
  const groupItemData = selectActiveWithFirst(5)(groupItems);
112
114
  const teamItemData = selectActiveWithFirst(5)(teamItems);
113
- const hideAppFilters = groupItems.length < 1 || teamItems.length < 1;
114
- const showGeneralFilters = !hideAppFilters || canFilterByDMs;
115
+ const showAppFilters = !filterDropdownEnabled && groupItems.length > 0 && teamItems.length > 0;
116
+ const showDMFilter = !filterDropdownEnabled && canFilterByDMs;
117
+ const showGeneralFilters = showAppFilters || showDMFilter;
115
118
  const t6 = showGeneralFilters ? SectionTypes.header : SectionTypes.hidden;
116
119
  let t7;
117
120
  if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
@@ -158,7 +161,7 @@ export const ConversationFilters = () => {
158
161
  } else {
159
162
  t12 = $[13];
160
163
  }
161
- const t13 = hideAppFilters ? SectionTypes.hidden : SectionTypes.filter;
164
+ const t13 = showAppFilters ? SectionTypes.filter : SectionTypes.hidden;
162
165
  const t14 = activeFilter === FilterTypes.Groups;
163
166
  let t15;
164
167
  if ($[14] !== t14) {
@@ -184,7 +187,7 @@ export const ConversationFilters = () => {
184
187
  } else {
185
188
  t16 = $[18];
186
189
  }
187
- const t17 = hideAppFilters ? SectionTypes.hidden : SectionTypes.filter;
190
+ const t17 = showAppFilters ? SectionTypes.filter : SectionTypes.hidden;
188
191
  const t18 = activeFilter === FilterTypes.Teams;
189
192
  let t19;
190
193
  if ($[19] !== t18) {
@@ -210,7 +213,7 @@ export const ConversationFilters = () => {
210
213
  } else {
211
214
  t20 = $[23];
212
215
  }
213
- const t21 = canFilterByDMs ? SectionTypes.filter : SectionTypes.hidden;
216
+ const t21 = showDMFilter ? SectionTypes.filter : SectionTypes.hidden;
214
217
  const t22 = activeFilter === FilterTypes.DirectMessages;
215
218
  let t23;
216
219
  if ($[24] !== t22) {