@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.
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +55 -39
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
- package/build/components/conversations/conversations_blank_state.js +55 -12
- package/build/components/conversations/conversations_blank_state.js.map +1 -1
- package/build/components/conversations/filtered_results_footer.d.ts +2 -0
- package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
- package/build/components/conversations/filtered_results_footer.js +77 -0
- package/build/components/conversations/filtered_results_footer.js.map +1 -0
- package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
- package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
- package/build/hooks/use_clear_conversation_filters.js +24 -0
- package/build/hooks/use_clear_conversation_filters.js.map +1 -0
- package/build/hooks/use_reduce_motion.d.ts.map +1 -1
- package/build/hooks/use_reduce_motion.js +2 -1
- package/build/hooks/use_reduce_motion.js.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.js +8 -5
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters_screen.d.ts.map +1 -1
- package/build/screens/conversation_filters_screen.js +47 -42
- package/build/screens/conversation_filters_screen.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +129 -0
- package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
- package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +72 -0
- package/src/components/conversations/conversations.tsx +13 -2
- package/src/components/conversations/conversations_blank_state.tsx +21 -0
- package/src/components/conversations/filtered_results_footer.tsx +38 -0
- package/src/hooks/__tests__/use_reduce_motion.test.tsx +13 -1
- package/src/hooks/use_clear_conversation_filters.ts +15 -0
- package/src/hooks/use_reduce_motion.ts +2 -1
- package/src/screens/conversation_filters/components/conversation_filters.tsx +8 -5
- 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;
|
|
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(
|
|
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
|
|
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] !==
|
|
68
|
-
t5 =
|
|
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
|
-
} =
|
|
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
|
-
$[
|
|
89
|
-
$[
|
|
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] !==
|
|
104
|
-
t7 =
|
|
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
|
-
|
|
113
|
-
|
|
126
|
+
ListFooterComponent: t5,
|
|
127
|
+
renderItem: t6,
|
|
128
|
+
onEndReached: t7
|
|
114
129
|
});
|
|
115
|
-
$[
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
123
|
-
$[
|
|
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
|
-
|
|
141
|
+
t8 = $[21];
|
|
126
142
|
}
|
|
127
|
-
let
|
|
128
|
-
if ($[
|
|
129
|
-
|
|
143
|
+
let t9;
|
|
144
|
+
if ($[22] !== styles.container || $[23] !== t8) {
|
|
145
|
+
t9 = /*#__PURE__*/_jsx(View, {
|
|
130
146
|
style: styles.container,
|
|
131
|
-
children:
|
|
147
|
+
children: t8
|
|
132
148
|
});
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
135
|
-
$[
|
|
149
|
+
$[22] = styles.container;
|
|
150
|
+
$[23] = t8;
|
|
151
|
+
$[24] = t9;
|
|
136
152
|
} else {
|
|
137
|
-
|
|
153
|
+
t9 = $[24];
|
|
138
154
|
}
|
|
139
|
-
return
|
|
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":"
|
|
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(
|
|
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 ($[
|
|
56
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
14
57
|
t1 = /*#__PURE__*/_jsx(BlankState.Imagery, {
|
|
15
58
|
name: "general.outlinedTextMessage"
|
|
16
59
|
});
|
|
17
|
-
$[
|
|
60
|
+
$[4] = t1;
|
|
18
61
|
} else {
|
|
19
|
-
t1 = $[
|
|
62
|
+
t1 = $[4];
|
|
20
63
|
}
|
|
21
64
|
let t2;
|
|
22
|
-
if ($[
|
|
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
|
-
$[
|
|
69
|
+
$[5] = t2;
|
|
27
70
|
} else {
|
|
28
|
-
t2 = $[
|
|
71
|
+
t2 = $[5];
|
|
29
72
|
}
|
|
30
73
|
let t3;
|
|
31
|
-
if ($[
|
|
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
|
-
$[
|
|
47
|
-
$[
|
|
48
|
-
$[
|
|
89
|
+
$[6] = canCreateConversations;
|
|
90
|
+
$[7] = isFilterApplied;
|
|
91
|
+
$[8] = t3;
|
|
49
92
|
} else {
|
|
50
|
-
t3 = $[
|
|
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","
|
|
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’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 @@
|
|
|
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’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 @@
|
|
|
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":"
|
|
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(
|
|
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(
|
|
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":"
|
|
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
|
|
114
|
-
const
|
|
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 =
|
|
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 =
|
|
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 =
|
|
216
|
+
const t21 = showDMFilter ? SectionTypes.filter : SectionTypes.hidden;
|
|
214
217
|
const t22 = activeFilter === FilterTypes.DirectMessages;
|
|
215
218
|
let t23;
|
|
216
219
|
if ($[24] !== t22) {
|