@planningcenter/chat-react-native 4.4.1-qa-staging.17 → 4.4.1-qa-staging.19
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/archived_results_footer.d.ts +6 -0
- package/build/components/conversations/archived_results_footer.d.ts.map +1 -0
- package/build/components/conversations/archived_results_footer.js +51 -0
- package/build/components/conversations/archived_results_footer.js.map +1 -0
- package/build/components/conversations/conversation_actions.d.ts.map +1 -1
- package/build/components/conversations/conversation_actions.js +241 -206
- package/build/components/conversations/conversation_actions.js.map +1 -1
- package/build/components/conversations/conversation_preview.d.ts.map +1 -1
- package/build/components/conversations/conversation_preview.js +99 -93
- package/build/components/conversations/conversation_preview.js.map +1 -1
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +44 -35
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/components/display/filter_dropdown.d.ts +2 -1
- package/build/components/display/filter_dropdown.d.ts.map +1 -1
- package/build/components/display/filter_dropdown.js +63 -58
- package/build/components/display/filter_dropdown.js.map +1 -1
- package/build/components/display/icon_tile.d.ts +12 -0
- package/build/components/display/icon_tile.d.ts.map +1 -0
- package/build/components/display/icon_tile.js +109 -0
- package/build/components/display/icon_tile.js.map +1 -0
- package/build/components/display/index.d.ts +1 -0
- package/build/components/display/index.d.ts.map +1 -1
- package/build/components/display/index.js +1 -0
- package/build/components/display/index.js.map +1 -1
- package/build/contexts/conversations_context.d.ts.map +1 -1
- package/build/contexts/conversations_context.js +21 -18
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/hooks/index.d.ts +2 -0
- package/build/hooks/index.d.ts.map +1 -1
- package/build/hooks/index.js +2 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/use_can_browse_archived_conversations.d.ts +2 -0
- package/build/hooks/use_can_browse_archived_conversations.d.ts.map +1 -0
- package/build/hooks/use_can_browse_archived_conversations.js +29 -0
- package/build/hooks/use_can_browse_archived_conversations.js.map +1 -0
- package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -1
- package/build/hooks/use_clear_conversation_filters.js +2 -1
- package/build/hooks/use_clear_conversation_filters.js.map +1 -1
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +32 -24
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_current_person.d.ts.map +1 -1
- package/build/hooks/use_current_person.js +1 -1
- package/build/hooks/use_current_person.js.map +1 -1
- package/build/hooks/use_jolt.d.ts.map +1 -1
- package/build/hooks/use_jolt.js +29 -8
- package/build/hooks/use_jolt.js.map +1 -1
- package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
- package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
- package/build/hooks/use_manual_archiving_enabled.js +18 -0
- package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +2 -1
- package/build/screens/conversation_details_screen.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 +80 -13
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters/components/rows.d.ts +9 -0
- package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/rows.js +92 -1
- package/build/screens/conversation_filters/components/rows.js.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
- package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
- package/build/screens/conversation_filters/filter_types.d.ts +1 -0
- package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
- package/build/screens/conversation_filters/filter_types.js +1 -0
- package/build/screens/conversation_filters/filter_types.js.map +1 -1
- package/build/screens/conversation_filters/screen_props.d.ts +1 -0
- package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
- package/build/screens/conversation_filters/screen_props.js.map +1 -1
- package/build/screens/conversation_filters_screen.d.ts +1 -0
- package/build/screens/conversation_filters_screen.d.ts.map +1 -1
- package/build/screens/conversation_filters_screen.js +75 -49
- package/build/screens/conversation_filters_screen.js.map +1 -1
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js +580 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
- package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_component.js +95 -90
- package/build/screens/conversations/components/list_header_component.js.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.js +100 -95
- package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
- package/build/screens/conversations/conversations_screen.d.ts +1 -0
- package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
- package/build/screens/conversations/conversations_screen.js +15 -2
- package/build/screens/conversations/conversations_screen.js.map +1 -1
- package/build/types/resources/person.d.ts +1 -0
- package/build/types/resources/person.d.ts.map +1 -1
- package/build/types/resources/person.js.map +1 -1
- package/build/utils/date.d.ts.map +1 -1
- package/build/utils/date.js +5 -10
- package/build/utils/date.js.map +1 -1
- package/build/utils/native_adapters/menu.d.ts +1 -0
- package/build/utils/native_adapters/menu.d.ts.map +1 -1
- package/build/utils/native_adapters/menu.js +1 -0
- package/build/utils/native_adapters/menu.js.map +1 -1
- package/build/utils/request/conversation.d.ts +2 -1
- package/build/utils/request/conversation.d.ts.map +1 -1
- package/build/utils/request/conversation.js +4 -1
- package/build/utils/request/conversation.js.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
- package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
- package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
- package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +3 -0
- package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
- package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
- package/src/components/conversations/__tests__/conversation_preview.test.tsx +38 -3
- package/src/components/conversations/__tests__/conversations.test.tsx +82 -0
- package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +1 -0
- package/src/components/conversations/archived_results_footer.tsx +36 -0
- package/src/components/conversations/conversation_actions.tsx +27 -19
- package/src/components/conversations/conversation_preview.tsx +30 -10
- package/src/components/conversations/conversations.tsx +15 -3
- package/src/components/display/__tests__/filter_dropdown.test.tsx +9 -1
- package/src/components/display/filter_dropdown.tsx +14 -13
- package/src/components/display/icon_tile.tsx +54 -0
- package/src/components/display/index.ts +1 -0
- package/src/contexts/conversations_context.tsx +2 -1
- package/src/hooks/__tests__/use_conversation_archive.test.tsx +22 -0
- package/src/hooks/__tests__/use_jolt.test.tsx +30 -8
- package/src/hooks/index.ts +2 -0
- package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
- package/src/hooks/use_clear_conversation_filters.ts +1 -0
- package/src/hooks/use_conversation.ts +4 -1
- package/src/hooks/use_current_person.ts +1 -0
- package/src/hooks/use_jolt.ts +33 -8
- package/src/hooks/use_manual_archiving_enabled.ts +10 -0
- package/src/screens/conversation_details_screen.tsx +2 -3
- package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
- package/src/screens/conversation_filters/components/conversation_filters.tsx +32 -2
- package/src/screens/conversation_filters/components/rows.tsx +29 -1
- package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
- package/src/screens/conversation_filters/filter_types.ts +1 -0
- package/src/screens/conversation_filters/screen_props.ts +1 -0
- package/src/screens/conversation_filters_screen.tsx +20 -4
- package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
- package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +259 -0
- package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
- package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +286 -0
- package/src/screens/conversations/components/list_header_component.tsx +17 -12
- package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
- package/src/screens/conversations/conversations_screen.tsx +15 -2
- package/src/types/resources/person.ts +1 -0
- package/src/utils/__tests__/conversation.test.ts +1 -0
- package/src/utils/__tests__/date.test.ts +4 -0
- package/src/utils/date.ts +5 -4
- package/src/utils/native_adapters/__tests__/menu.test.tsx +6 -2
- package/src/utils/native_adapters/menu.tsx +2 -0
- package/src/utils/request/conversation.ts +4 -0
- package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
|
@@ -3,6 +3,7 @@ export let FilterTypes = /*#__PURE__*/function (FilterTypes) {
|
|
|
3
3
|
FilterTypes["DirectMessages"] = "Direct messages";
|
|
4
4
|
FilterTypes["Groups"] = "All my groups";
|
|
5
5
|
FilterTypes["Teams"] = "All my teams and plans";
|
|
6
|
+
FilterTypes["Archived"] = "Archived conversations";
|
|
6
7
|
FilterTypes["More"] = "More";
|
|
7
8
|
return FilterTypes;
|
|
8
9
|
}({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter_types.js","names":["FilterTypes"],"sources":["../../../src/screens/conversation_filters/filter_types.ts"],"sourcesContent":["export enum FilterTypes {\n All = 'All conversations',\n DirectMessages = 'Direct messages',\n Groups = 'All my groups',\n Teams = 'All my teams and plans',\n More = 'More',\n}\n"],"mappings":"AAAA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"filter_types.js","names":["FilterTypes"],"sources":["../../../src/screens/conversation_filters/filter_types.ts"],"sourcesContent":["export enum FilterTypes {\n All = 'All conversations',\n DirectMessages = 'Direct messages',\n Groups = 'All my groups',\n Teams = 'All my teams and plans',\n Archived = 'Archived conversations',\n More = 'More',\n}\n"],"mappings":"AAAA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ export type ConversationFiltersParams = {
|
|
|
4
4
|
chat_group_graph_id?: GraphId;
|
|
5
5
|
group_source_app_name?: string;
|
|
6
6
|
show_direct_messages?: boolean;
|
|
7
|
+
show_archived?: boolean;
|
|
7
8
|
};
|
|
8
9
|
export type ConversationFiltersScreenProps = StaticScreenProps<ConversationFiltersParams>;
|
|
9
10
|
export type ConversationFilterStackParamList = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen_props.d.ts","sourceRoot":"","sources":["../../../src/screens/conversation_filters/screen_props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAE9D,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"screen_props.d.ts","sourceRoot":"","sources":["../../../src/screens/conversation_filters/screen_props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAE9D,MAAM,MAAM,yBAAyB,GAAG;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,CAAA;AAEzF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,yBAAyB,CAAA;IAClC,YAAY,EAAE,yBAAyB,CAAA;IACvC,WAAW,EAAE,yBAAyB,CAAA;CACvC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen_props.js","names":[],"sources":["../../../src/screens/conversation_filters/screen_props.ts"],"sourcesContent":["import { StaticScreenProps } from '@react-navigation/native'\nimport { GraphId } from '../../types/resources/group_resource'\n\nexport type ConversationFiltersParams = {\n chat_group_graph_id?: GraphId\n group_source_app_name?: string\n show_direct_messages?: boolean\n}\n\nexport type ConversationFiltersScreenProps = StaticScreenProps<ConversationFiltersParams>\n\nexport type ConversationFilterStackParamList = {\n Filters: ConversationFiltersParams\n GroupFilters: ConversationFiltersParams\n TeamFilters: ConversationFiltersParams\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"screen_props.js","names":[],"sources":["../../../src/screens/conversation_filters/screen_props.ts"],"sourcesContent":["import { StaticScreenProps } from '@react-navigation/native'\nimport { GraphId } from '../../types/resources/group_resource'\n\nexport type ConversationFiltersParams = {\n chat_group_graph_id?: GraphId\n group_source_app_name?: string\n show_direct_messages?: boolean\n show_archived?: boolean\n}\n\nexport type ConversationFiltersScreenProps = StaticScreenProps<ConversationFiltersParams>\n\nexport type ConversationFilterStackParamList = {\n Filters: ConversationFiltersParams\n GroupFilters: ConversationFiltersParams\n TeamFilters: ConversationFiltersParams\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ConversationFiltersScreenProps } from './conversation_filters/screen_props';
|
|
2
2
|
export declare const ConversationFiltersScreenOptions: () => import("@react-navigation/native-stack").NativeStackNavigationOptions;
|
|
3
3
|
export declare const ConversationFiltersScreen: (_props: ConversationFiltersScreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const ConversationFiltersHeader: () => import("react/jsx-runtime").JSX.Element;
|
|
4
5
|
//# sourceMappingURL=conversation_filters_screen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation_filters_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_filters_screen.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conversation_filters_screen.d.ts","sourceRoot":"","sources":["../../src/screens/conversation_filters_screen.tsx"],"names":[],"mappings":"AAgBA,OAAO,EACL,8BAA8B,EAE/B,MAAM,qCAAqC,CAAA;AAG5C,eAAO,MAAM,gCAAgC,6EAO3C,CAAA;AAuDF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,8BAA8B,4CAW/E,CAAA;AAED,eAAO,MAAM,yBAAyB,+CAqCrC,CAAA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
|
-
import { useHeaderHeight } from '@react-navigation/elements';
|
|
2
|
+
import { HeaderBackButton, useHeaderHeight } from '@react-navigation/elements';
|
|
3
3
|
import * as ReactNavigationNative from '@react-navigation/native';
|
|
4
|
-
import { useRoute } from '@react-navigation/native';
|
|
4
|
+
import { useNavigation, useRoute } from '@react-navigation/native';
|
|
5
5
|
import { createNativeStackNavigator } from '@react-navigation/native-stack';
|
|
6
6
|
import React, { useCallback } from 'react';
|
|
7
7
|
import { Platform, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
8
8
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
9
9
|
import FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet';
|
|
10
|
+
import { useTheme } from '../hooks';
|
|
10
11
|
import { useFilterDropdownEnabled } from '../hooks/use_filter_dropdown_enabled';
|
|
11
12
|
import { ConversationFilters } from './conversation_filters/components/conversation_filters';
|
|
12
13
|
import { FilterProvider, useFilterContext } from './conversation_filters/context/conversation_filter_context';
|
|
@@ -76,7 +77,7 @@ export const ConversationFiltersScreen = _props => {
|
|
|
76
77
|
let t0;
|
|
77
78
|
let t1;
|
|
78
79
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
79
|
-
t0 = /*#__PURE__*/_jsx(
|
|
80
|
+
t0 = /*#__PURE__*/_jsx(ConversationFiltersHeader, {});
|
|
80
81
|
t1 = /*#__PURE__*/_jsx(Filters, {});
|
|
81
82
|
$[0] = t0;
|
|
82
83
|
$[1] = t1;
|
|
@@ -100,15 +101,19 @@ export const ConversationFiltersScreen = _props => {
|
|
|
100
101
|
}
|
|
101
102
|
return t2;
|
|
102
103
|
};
|
|
103
|
-
const
|
|
104
|
-
const $ = _c(
|
|
104
|
+
export const ConversationFiltersHeader = () => {
|
|
105
|
+
const $ = _c(24);
|
|
105
106
|
const {
|
|
106
107
|
resetFilter,
|
|
107
108
|
applyFilters,
|
|
108
109
|
setFormSheetHeaderHeight
|
|
109
110
|
} = useFilterContext();
|
|
111
|
+
const navigation = useNavigation();
|
|
110
112
|
const route = useRoute();
|
|
111
113
|
const filterDropdownEnabled = useFilterDropdownEnabled();
|
|
114
|
+
const {
|
|
115
|
+
colors
|
|
116
|
+
} = useTheme();
|
|
112
117
|
const styles = useStyles();
|
|
113
118
|
let t0;
|
|
114
119
|
if ($[0] !== setFormSheetHeaderHeight) {
|
|
@@ -121,77 +126,94 @@ const FormSheetHeaderWithContext = () => {
|
|
|
121
126
|
t0 = $[1];
|
|
122
127
|
}
|
|
123
128
|
const handleFormSheetHeaderLayout = t0;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
let t1;
|
|
130
|
+
if ($[2] !== colors || $[3] !== navigation || $[4] !== styles.backButton) {
|
|
131
|
+
t1 = Platform.OS === "android" && /*#__PURE__*/_jsx(HeaderBackButton, {
|
|
132
|
+
displayMode: "minimal",
|
|
133
|
+
accessibilityLabel: "Back",
|
|
134
|
+
tintColor: colors.iconColorDefaultPrimary,
|
|
135
|
+
onPress: navigation.goBack,
|
|
136
|
+
style: styles.backButton
|
|
129
137
|
});
|
|
130
|
-
$[2] =
|
|
131
|
-
$[3] =
|
|
138
|
+
$[2] = colors;
|
|
139
|
+
$[3] = navigation;
|
|
140
|
+
$[4] = styles.backButton;
|
|
141
|
+
$[5] = t1;
|
|
132
142
|
} else {
|
|
133
|
-
|
|
143
|
+
t1 = $[5];
|
|
134
144
|
}
|
|
145
|
+
const t2 = filterDropdownEnabled ? "More filters" : "Filters";
|
|
135
146
|
let t3;
|
|
136
|
-
if ($[
|
|
137
|
-
t3 = /*#__PURE__*/_jsx(FormSheet.
|
|
138
|
-
|
|
139
|
-
children: "Reset"
|
|
147
|
+
if ($[6] !== t2) {
|
|
148
|
+
t3 = /*#__PURE__*/_jsx(FormSheet.HeaderTitle, {
|
|
149
|
+
children: t2
|
|
140
150
|
});
|
|
141
|
-
$[
|
|
142
|
-
$[
|
|
151
|
+
$[6] = t2;
|
|
152
|
+
$[7] = t3;
|
|
143
153
|
} else {
|
|
144
|
-
t3 = $[
|
|
154
|
+
t3 = $[7];
|
|
145
155
|
}
|
|
146
156
|
let t4;
|
|
147
|
-
if ($[
|
|
148
|
-
t4 = /*#__PURE__*/_jsx(FormSheet.
|
|
149
|
-
|
|
150
|
-
|
|
157
|
+
if ($[8] !== resetFilter) {
|
|
158
|
+
t4 = /*#__PURE__*/_jsx(FormSheet.HeaderTextButton, {
|
|
159
|
+
onPress: resetFilter,
|
|
160
|
+
children: "Reset"
|
|
151
161
|
});
|
|
152
|
-
$[
|
|
153
|
-
$[
|
|
154
|
-
$[8] = t4;
|
|
162
|
+
$[8] = resetFilter;
|
|
163
|
+
$[9] = t4;
|
|
155
164
|
} else {
|
|
156
|
-
t4 = $[
|
|
165
|
+
t4 = $[9];
|
|
157
166
|
}
|
|
158
167
|
let t5;
|
|
159
|
-
if ($[
|
|
160
|
-
t5 = /*#__PURE__*/
|
|
161
|
-
|
|
168
|
+
if ($[10] !== applyFilters || $[11] !== route.params) {
|
|
169
|
+
t5 = /*#__PURE__*/_jsx(FormSheet.HeaderButton, {
|
|
170
|
+
title: "Apply",
|
|
171
|
+
onPress: () => applyFilters(route.params)
|
|
162
172
|
});
|
|
163
|
-
$[
|
|
164
|
-
$[
|
|
165
|
-
$[
|
|
173
|
+
$[10] = applyFilters;
|
|
174
|
+
$[11] = route.params;
|
|
175
|
+
$[12] = t5;
|
|
166
176
|
} else {
|
|
167
|
-
t5 = $[
|
|
177
|
+
t5 = $[12];
|
|
168
178
|
}
|
|
169
179
|
let t6;
|
|
170
|
-
if ($[
|
|
171
|
-
t6 = /*#__PURE__*/_jsxs(FormSheet.
|
|
172
|
-
|
|
173
|
-
children: [t2, t5]
|
|
180
|
+
if ($[13] !== t4 || $[14] !== t5) {
|
|
181
|
+
t6 = /*#__PURE__*/_jsxs(FormSheet.HeaderActions, {
|
|
182
|
+
children: [t4, t5]
|
|
174
183
|
});
|
|
175
|
-
$[
|
|
176
|
-
$[13] = t2;
|
|
184
|
+
$[13] = t4;
|
|
177
185
|
$[14] = t5;
|
|
178
186
|
$[15] = t6;
|
|
179
187
|
} else {
|
|
180
188
|
t6 = $[15];
|
|
181
189
|
}
|
|
182
190
|
let t7;
|
|
183
|
-
if ($[16] !==
|
|
184
|
-
t7 = /*#__PURE__*/
|
|
191
|
+
if ($[16] !== styles.header || $[17] !== t1 || $[18] !== t3 || $[19] !== t6) {
|
|
192
|
+
t7 = /*#__PURE__*/_jsxs(FormSheet.Header, {
|
|
193
|
+
style: styles.header,
|
|
194
|
+
children: [t1, t3, t6]
|
|
195
|
+
});
|
|
196
|
+
$[16] = styles.header;
|
|
197
|
+
$[17] = t1;
|
|
198
|
+
$[18] = t3;
|
|
199
|
+
$[19] = t6;
|
|
200
|
+
$[20] = t7;
|
|
201
|
+
} else {
|
|
202
|
+
t7 = $[20];
|
|
203
|
+
}
|
|
204
|
+
let t8;
|
|
205
|
+
if ($[21] !== handleFormSheetHeaderLayout || $[22] !== t7) {
|
|
206
|
+
t8 = /*#__PURE__*/_jsx(View, {
|
|
185
207
|
onLayout: handleFormSheetHeaderLayout,
|
|
186
|
-
children:
|
|
208
|
+
children: t7
|
|
187
209
|
});
|
|
188
|
-
$[
|
|
189
|
-
$[
|
|
190
|
-
$[
|
|
210
|
+
$[21] = handleFormSheetHeaderLayout;
|
|
211
|
+
$[22] = t7;
|
|
212
|
+
$[23] = t8;
|
|
191
213
|
} else {
|
|
192
|
-
|
|
214
|
+
t8 = $[23];
|
|
193
215
|
}
|
|
194
|
-
return
|
|
216
|
+
return t8;
|
|
195
217
|
};
|
|
196
218
|
const useStyles = () => {
|
|
197
219
|
const $ = _c(4);
|
|
@@ -218,6 +240,10 @@ const useStyles = () => {
|
|
|
218
240
|
android: 20 + top
|
|
219
241
|
}),
|
|
220
242
|
borderBottomWidth: 0
|
|
243
|
+
},
|
|
244
|
+
backButton: {
|
|
245
|
+
marginLeft: -3,
|
|
246
|
+
marginRight: 8
|
|
221
247
|
}
|
|
222
248
|
});
|
|
223
249
|
$[0] = headerHeight;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation_filters_screen.js","names":["useHeaderHeight","ReactNavigationNative","useRoute","createNativeStackNavigator","React","useCallback","Platform","StyleSheet","useWindowDimensions","View","useSafeAreaInsets","FormSheet","getFormSheetScreenOptions","useFilterDropdownEnabled","ConversationFilters","FilterProvider","useFilterContext","GroupFilters","TeamFilters","jsx","_jsx","jsxs","_jsxs","ConversationFiltersScreenOptions","presentation","select","android","ios","sheetAllowedDetents","default","headerTitle","FilterNavigator","initialRouteName","screens","Filters","screen","options","headerShown","headerBackTitle","createStaticNavigationComponent","tree","name","getComponent","createComponentForStaticNavigation","ConversationFiltersScreen","_props","$","_c","styles","useStyles","t0","t1","Symbol","for","FormSheetHeaderWithContext","t2","contentContainer","children","Root","contentStyle","showAndroidSheetGrabber","resetFilter","applyFilters","setFormSheetHeaderHeight","route","filterDropdownEnabled","event","nativeEvent","layout","height","handleFormSheetHeaderLayout","HeaderTitle","t3","HeaderTextButton","t4","params","HeaderButton","title","onPress","t5","HeaderActions","t6","header","Header","style","t7","top","headerHeight","containerHeight","create","paddingTop","borderBottomWidth"],"sources":["../../src/screens/conversation_filters_screen.tsx"],"sourcesContent":["import { useHeaderHeight } from '@react-navigation/elements'\nimport * as ReactNavigationNative from '@react-navigation/native'\nimport { RouteProp, useRoute } from '@react-navigation/native'\nimport { createNativeStackNavigator } from '@react-navigation/native-stack'\nimport React, { useCallback } from 'react'\nimport { LayoutChangeEvent, Platform, StyleSheet, useWindowDimensions, View } from 'react-native'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useFilterDropdownEnabled } from '../hooks/use_filter_dropdown_enabled'\nimport { ConversationFilters } from './conversation_filters/components/conversation_filters'\nimport {\n FilterProvider,\n useFilterContext,\n} from './conversation_filters/context/conversation_filter_context'\nimport { GroupFilters } from './conversation_filters/group_filters'\nimport {\n ConversationFiltersScreenProps,\n ConversationFilterStackParamList,\n} from './conversation_filters/screen_props'\nimport { TeamFilters } from './conversation_filters/team_filters'\n\nexport const ConversationFiltersScreenOptions = getFormSheetScreenOptions({\n presentation: Platform.select({ android: 'modal', ios: 'formSheet' }),\n sheetAllowedDetents: Platform.select({\n ios: [0.75, 1],\n default: [1],\n }),\n headerTitle: 'Filters',\n})\n\nconst FilterNavigator = createNativeStackNavigator<ConversationFilterStackParamList>({\n initialRouteName: 'Filters',\n screens: {\n Filters: {\n screen: ConversationFilters,\n options: {\n headerShown: false,\n },\n },\n GroupFilters: {\n screen: GroupFilters,\n options: {\n headerTitle: Platform.select({\n android: 'Groups',\n ios: '',\n }),\n headerBackTitle: 'Groups',\n },\n },\n TeamFilters: {\n screen: TeamFilters,\n options: {\n headerTitle: Platform.select({\n android: 'Teams',\n ios: '',\n }),\n headerBackTitle: 'Teams',\n },\n },\n },\n})\n\n// tree.getComponent() doesn't exist on every host's installed\n// react-navigation/core — hosts on an older version would throw here.\n// Where it does exist, it's the real implementation (the \"deprecated\"\n// createComponentForStaticNavigation is just a console.warn wrapper around\n// the same call on current versions), so prefer it and only reach for the\n// old function on cores where getComponent() genuinely isn't there yet.\nfunction createStaticNavigationComponent<P extends object>(\n tree: { getComponent?: () => React.ComponentType<P> },\n name: string\n): React.ComponentType<P> {\n if (typeof tree.getComponent === 'function') return tree.getComponent()\n\n const { createComponentForStaticNavigation } = ReactNavigationNative as {\n createComponentForStaticNavigation: (tree: unknown, name: string) => React.ComponentType<P>\n }\n\n return createComponentForStaticNavigation(tree, name)\n}\n\nconst Filters = createStaticNavigationComponent(FilterNavigator, 'Filters')\n\nexport const ConversationFiltersScreen = (_props: ConversationFiltersScreenProps) => {\n const styles = useStyles()\n\n return (\n <FilterProvider>\n <FormSheet.Root contentStyle={styles.contentContainer} showAndroidSheetGrabber={false}>\n <FormSheetHeaderWithContext />\n <Filters />\n </FormSheet.Root>\n </FilterProvider>\n )\n}\n\nconst FormSheetHeaderWithContext = () => {\n const { resetFilter, applyFilters, setFormSheetHeaderHeight } = useFilterContext()\n const route = useRoute<RouteProp<ConversationFiltersScreenProps['route']>>()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const styles = useStyles()\n\n const handleFormSheetHeaderLayout = useCallback(\n (event: LayoutChangeEvent) => {\n setFormSheetHeaderHeight(event.nativeEvent.layout.height)\n },\n [setFormSheetHeaderHeight]\n )\n\n return (\n <View onLayout={handleFormSheetHeaderLayout}>\n <FormSheet.Header style={styles.header}>\n <FormSheet.HeaderTitle>\n {filterDropdownEnabled ? 'More filters' : 'Filters'}\n </FormSheet.HeaderTitle>\n <FormSheet.HeaderActions>\n <FormSheet.HeaderTextButton onPress={resetFilter}>Reset</FormSheet.HeaderTextButton>\n <FormSheet.HeaderButton title=\"Apply\" onPress={() => applyFilters(route.params)} />\n </FormSheet.HeaderActions>\n </FormSheet.Header>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { top } = useSafeAreaInsets()\n const { height } = useWindowDimensions()\n const headerHeight = useHeaderHeight()\n\n const containerHeight = Platform.select({\n android: height,\n ios: height - top - headerHeight,\n })\n\n return StyleSheet.create({\n contentContainer: {\n height: containerHeight,\n },\n header: {\n paddingTop: Platform.select({\n ios: 20,\n android: 20 + top,\n }),\n // The filter list scrolls under it, so the sheet header doesn't need a\n // separator the way the non-scrolling reaction sheet does.\n borderBottomWidth: 0,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"conversation_filters_screen.js","names":["HeaderBackButton","useHeaderHeight","ReactNavigationNative","useNavigation","useRoute","createNativeStackNavigator","React","useCallback","Platform","StyleSheet","useWindowDimensions","View","useSafeAreaInsets","FormSheet","getFormSheetScreenOptions","useTheme","useFilterDropdownEnabled","ConversationFilters","FilterProvider","useFilterContext","GroupFilters","TeamFilters","jsx","_jsx","jsxs","_jsxs","ConversationFiltersScreenOptions","presentation","select","android","ios","sheetAllowedDetents","default","headerTitle","FilterNavigator","initialRouteName","screens","Filters","screen","options","headerShown","headerBackTitle","createStaticNavigationComponent","tree","name","getComponent","createComponentForStaticNavigation","ConversationFiltersScreen","_props","$","_c","styles","useStyles","t0","t1","Symbol","for","ConversationFiltersHeader","t2","contentContainer","children","Root","contentStyle","showAndroidSheetGrabber","resetFilter","applyFilters","setFormSheetHeaderHeight","navigation","route","filterDropdownEnabled","colors","event","nativeEvent","layout","height","handleFormSheetHeaderLayout","backButton","OS","displayMode","accessibilityLabel","tintColor","iconColorDefaultPrimary","onPress","goBack","style","t3","HeaderTitle","t4","HeaderTextButton","t5","params","HeaderButton","title","t6","HeaderActions","t7","header","Header","t8","top","headerHeight","containerHeight","create","paddingTop","borderBottomWidth","marginLeft","marginRight"],"sources":["../../src/screens/conversation_filters_screen.tsx"],"sourcesContent":["import { HeaderBackButton, useHeaderHeight } from '@react-navigation/elements'\nimport * as ReactNavigationNative from '@react-navigation/native'\nimport { RouteProp, useNavigation, useRoute } from '@react-navigation/native'\nimport { createNativeStackNavigator } from '@react-navigation/native-stack'\nimport React, { useCallback } from 'react'\nimport { LayoutChangeEvent, Platform, StyleSheet, useWindowDimensions, View } from 'react-native'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useTheme } from '../hooks'\nimport { useFilterDropdownEnabled } from '../hooks/use_filter_dropdown_enabled'\nimport { ConversationFilters } from './conversation_filters/components/conversation_filters'\nimport {\n FilterProvider,\n useFilterContext,\n} from './conversation_filters/context/conversation_filter_context'\nimport { GroupFilters } from './conversation_filters/group_filters'\nimport {\n ConversationFiltersScreenProps,\n ConversationFilterStackParamList,\n} from './conversation_filters/screen_props'\nimport { TeamFilters } from './conversation_filters/team_filters'\n\nexport const ConversationFiltersScreenOptions = getFormSheetScreenOptions({\n presentation: Platform.select({ android: 'modal', ios: 'formSheet' }),\n sheetAllowedDetents: Platform.select({\n ios: [0.75, 1],\n default: [1],\n }),\n headerTitle: 'Filters',\n})\n\nconst FilterNavigator = createNativeStackNavigator<ConversationFilterStackParamList>({\n initialRouteName: 'Filters',\n screens: {\n Filters: {\n screen: ConversationFilters,\n options: {\n headerShown: false,\n },\n },\n GroupFilters: {\n screen: GroupFilters,\n options: {\n headerTitle: Platform.select({\n android: 'Groups',\n ios: '',\n }),\n headerBackTitle: 'Groups',\n },\n },\n TeamFilters: {\n screen: TeamFilters,\n options: {\n headerTitle: Platform.select({\n android: 'Teams',\n ios: '',\n }),\n headerBackTitle: 'Teams',\n },\n },\n },\n})\n\n// tree.getComponent() doesn't exist on every host's installed\n// react-navigation/core — hosts on an older version would throw here.\n// Where it does exist, it's the real implementation (the \"deprecated\"\n// createComponentForStaticNavigation is just a console.warn wrapper around\n// the same call on current versions), so prefer it and only reach for the\n// old function on cores where getComponent() genuinely isn't there yet.\nfunction createStaticNavigationComponent<P extends object>(\n tree: { getComponent?: () => React.ComponentType<P> },\n name: string\n): React.ComponentType<P> {\n if (typeof tree.getComponent === 'function') return tree.getComponent()\n\n const { createComponentForStaticNavigation } = ReactNavigationNative as {\n createComponentForStaticNavigation: (tree: unknown, name: string) => React.ComponentType<P>\n }\n\n return createComponentForStaticNavigation(tree, name)\n}\n\nconst Filters = createStaticNavigationComponent(FilterNavigator, 'Filters')\n\nexport const ConversationFiltersScreen = (_props: ConversationFiltersScreenProps) => {\n const styles = useStyles()\n\n return (\n <FilterProvider>\n <FormSheet.Root contentStyle={styles.contentContainer} showAndroidSheetGrabber={false}>\n <ConversationFiltersHeader />\n <Filters />\n </FormSheet.Root>\n </FilterProvider>\n )\n}\n\nexport const ConversationFiltersHeader = () => {\n const { resetFilter, applyFilters, setFormSheetHeaderHeight } = useFilterContext()\n const navigation = useNavigation()\n const route = useRoute<RouteProp<ConversationFiltersScreenProps['route']>>()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const { colors } = useTheme()\n const styles = useStyles()\n\n const handleFormSheetHeaderLayout = useCallback(\n (event: LayoutChangeEvent) => {\n setFormSheetHeaderHeight(event.nativeEvent.layout.height)\n },\n [setFormSheetHeaderHeight]\n )\n\n return (\n <View onLayout={handleFormSheetHeaderLayout}>\n <FormSheet.Header style={styles.header}>\n {Platform.OS === 'android' && (\n <HeaderBackButton\n displayMode=\"minimal\"\n accessibilityLabel=\"Back\"\n tintColor={colors.iconColorDefaultPrimary}\n onPress={navigation.goBack}\n style={styles.backButton}\n />\n )}\n <FormSheet.HeaderTitle>\n {filterDropdownEnabled ? 'More filters' : 'Filters'}\n </FormSheet.HeaderTitle>\n <FormSheet.HeaderActions>\n <FormSheet.HeaderTextButton onPress={resetFilter}>Reset</FormSheet.HeaderTextButton>\n <FormSheet.HeaderButton title=\"Apply\" onPress={() => applyFilters(route.params)} />\n </FormSheet.HeaderActions>\n </FormSheet.Header>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { top } = useSafeAreaInsets()\n const { height } = useWindowDimensions()\n const headerHeight = useHeaderHeight()\n\n const containerHeight = Platform.select({\n android: height,\n ios: height - top - headerHeight,\n })\n\n return StyleSheet.create({\n contentContainer: {\n height: containerHeight,\n },\n header: {\n paddingTop: Platform.select({\n ios: 20,\n android: 20 + top,\n }),\n // The filter list scrolls under it, so the sheet header doesn't need a\n // separator the way the non-scrolling reaction sheet does.\n borderBottomWidth: 0,\n },\n backButton: {\n marginLeft: -3,\n marginRight: 8,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter_dropdown_list_header_component.d.ts","sourceRoot":"","sources":["../../../../src/screens/conversations/components/filter_dropdown_list_header_component.tsx"],"names":[],"mappings":"AA6CA,eAAO,MAAM,iCAAiC,+CA6M7C,CAAA"}
|