Skip to content

Commit e0f17df

Browse files
authored
Merge pull request #46477 from software-mansion-labs/@szymczak/create-description-merchant-reportID-filters
Create description, merchant and reportID filters
2 parents 864c69f + a80c186 commit e0f17df

17 files changed

+311
-5
lines changed

src/ROUTES.ts

+6
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ const ROUTES = {
4747

4848
SEARCH_ADVANCED_FILTERS_STATUS: 'search/filters/status',
4949

50+
SEARCH_ADVANCED_FILTERS_MERCHANT: 'search/filters/merchant',
51+
52+
SEARCH_ADVANCED_FILTERS_DESCRIPTION: 'search/filters/description',
53+
54+
SEARCH_ADVANCED_FILTERS_REPORT_ID: 'search/filters/reportID',
55+
5056
SEARCH_ADVANCED_FILTERS_CATEGORY: 'search/filters/category',
5157

5258
SEARCH_REPORT: {

src/SCREENS.ts

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ const SCREENS = {
3535
ADVANCED_FILTERS_DATE_RHP: 'Search_Advanced_Filters_Date_RHP',
3636
ADVANCED_FILTERS_TYPE_RHP: 'Search_Advanced_Filters_Type_RHP',
3737
ADVANCED_FILTERS_STATUS_RHP: 'Search_Advanced_Filters_Status_RHP',
38+
ADVANCED_FILTERS_DESCRIPTION_RHP: 'Search_Advanced_Filters_Description_RHP',
39+
ADVANCED_FILTERS_MERCHANT_RHP: 'Search_Advanced_Filters_Merchant_RHP',
40+
ADVANCED_FILTERS_REPORT_ID_RHP: 'Search_Advanced_Filters_ReportID_RHP',
3841
ADVANCED_FILTERS_CATEGORY_RHP: 'Search_Advanced_Filters_Category_RHP',
3942
TRANSACTION_HOLD_REASON_RHP: 'Search_Transaction_Hold_Reason_RHP',
4043
BOTTOM_TAB: 'Search_Bottom_Tab',

src/languages/en.ts

+1
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,7 @@ export default {
370370
value: 'Value',
371371
downloadFailedTitle: 'Download failed',
372372
downloadFailedDescription: "Your download couldn't be completed. Please try again later.",
373+
reportID: 'Report ID',
373374
},
374375
location: {
375376
useCurrent: 'Use current location',

src/languages/es.ts

+1
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,7 @@ export default {
360360
value: 'Valor',
361361
downloadFailedTitle: 'Error en la descarga',
362362
downloadFailedDescription: 'No se pudo completar la descarga. Por favor, inténtalo más tarde.',
363+
reportID: 'ID del informe',
363364
},
364365
connectionComplete: {
365366
title: 'Conexión completa',

src/libs/Navigation/AppNavigator/ModalStackNavigators/index.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,9 @@ const SearchAdvancedFiltersModalStackNavigator = createModalStackNavigator<Searc
514514
[SCREENS.SEARCH.ADVANCED_FILTERS_DATE_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchFiltersDatePage').default,
515515
[SCREENS.SEARCH.ADVANCED_FILTERS_TYPE_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchFiltersTypePage').default,
516516
[SCREENS.SEARCH.ADVANCED_FILTERS_STATUS_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchFiltersStatusPage').default,
517+
[SCREENS.SEARCH.ADVANCED_FILTERS_DESCRIPTION_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchFiltersDescriptionPage').default,
518+
[SCREENS.SEARCH.ADVANCED_FILTERS_MERCHANT_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchFiltersMerchantPage').default,
519+
[SCREENS.SEARCH.ADVANCED_FILTERS_REPORT_ID_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchFiltersReportIDPage').default,
517520
[SCREENS.SEARCH.ADVANCED_FILTERS_CATEGORY_RHP]: () => require<ReactComponentModule>('../../../../pages/Search/SearchFiltersCategoryPage').default,
518521
});
519522

src/libs/Navigation/linkingConfig/CENTRAL_PANE_TO_RHP_MAPPING.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,18 @@ const CENTRAL_PANE_TO_RHP_MAPPING: Partial<Record<CentralPaneName, string[]>> =
3838
[SCREENS.SETTINGS.ABOUT]: [SCREENS.SETTINGS.APP_DOWNLOAD_LINKS],
3939
[SCREENS.SETTINGS.SAVE_THE_WORLD]: [SCREENS.I_KNOW_A_TEACHER, SCREENS.INTRO_SCHOOL_PRINCIPAL, SCREENS.I_AM_A_TEACHER],
4040
[SCREENS.SETTINGS.TROUBLESHOOT]: [SCREENS.SETTINGS.CONSOLE],
41-
[SCREENS.SEARCH.CENTRAL_PANE]: [SCREENS.SEARCH.REPORT_RHP, SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP, SCREENS.SEARCH.ADVANCED_FILTERS_RHP],
41+
[SCREENS.SEARCH.CENTRAL_PANE]: [
42+
SCREENS.SEARCH.REPORT_RHP,
43+
SCREENS.SEARCH.TRANSACTION_HOLD_REASON_RHP,
44+
SCREENS.SEARCH.ADVANCED_FILTERS_RHP,
45+
SCREENS.SEARCH.ADVANCED_FILTERS_DATE_RHP,
46+
SCREENS.SEARCH.ADVANCED_FILTERS_TYPE_RHP,
47+
SCREENS.SEARCH.ADVANCED_FILTERS_STATUS_RHP,
48+
SCREENS.SEARCH.ADVANCED_FILTERS_DESCRIPTION_RHP,
49+
SCREENS.SEARCH.ADVANCED_FILTERS_MERCHANT_RHP,
50+
SCREENS.SEARCH.ADVANCED_FILTERS_REPORT_ID_RHP,
51+
SCREENS.SEARCH.ADVANCED_FILTERS_CATEGORY_RHP,
52+
],
4253
[SCREENS.SETTINGS.SUBSCRIPTION.ROOT]: [
4354
SCREENS.SETTINGS.SUBSCRIPTION.ADD_PAYMENT_CARD,
4455
SCREENS.SETTINGS.SUBSCRIPTION.SIZE,

src/libs/Navigation/linkingConfig/config.ts

+3
Original file line numberDiff line numberDiff line change
@@ -1017,6 +1017,9 @@ const config: LinkingOptions<RootStackParamList>['config'] = {
10171017
[SCREENS.SEARCH.ADVANCED_FILTERS_DATE_RHP]: ROUTES.SEARCH_ADVANCED_FILTERS_DATE,
10181018
[SCREENS.SEARCH.ADVANCED_FILTERS_TYPE_RHP]: ROUTES.SEARCH_ADVANCED_FILTERS_TYPE,
10191019
[SCREENS.SEARCH.ADVANCED_FILTERS_STATUS_RHP]: ROUTES.SEARCH_ADVANCED_FILTERS_STATUS,
1020+
[SCREENS.SEARCH.ADVANCED_FILTERS_MERCHANT_RHP]: ROUTES.SEARCH_ADVANCED_FILTERS_MERCHANT,
1021+
[SCREENS.SEARCH.ADVANCED_FILTERS_DESCRIPTION_RHP]: ROUTES.SEARCH_ADVANCED_FILTERS_DESCRIPTION,
1022+
[SCREENS.SEARCH.ADVANCED_FILTERS_REPORT_ID_RHP]: ROUTES.SEARCH_ADVANCED_FILTERS_REPORT_ID,
10201023
[SCREENS.SEARCH.ADVANCED_FILTERS_CATEGORY_RHP]: ROUTES.SEARCH_ADVANCED_FILTERS_CATEGORY,
10211024
},
10221025
},

src/libs/SearchUtils.ts

+12
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,18 @@ function buildQueryStringFromFilters(filterValues: Partial<SearchAdvancedFilters
409409
return `${CONST.SEARCH.SYNTAX_ROOT_KEYS.STATUS}:${filterValue as string}`;
410410
}
411411

412+
if (filterKey === INPUT_IDS.MERCHANT && filterValue) {
413+
return `${CONST.SEARCH.SYNTAX_FILTER_KEYS.MERCHANT}:${filterValue as string}`;
414+
}
415+
416+
if (filterKey === INPUT_IDS.DESCRIPTION && filterValue) {
417+
return `${CONST.SEARCH.SYNTAX_FILTER_KEYS.DESCRIPTION}:${filterValue as string}`;
418+
}
419+
420+
if (filterKey === INPUT_IDS.REPORT_ID && filterValue) {
421+
return `${CONST.SEARCH.SYNTAX_FILTER_KEYS.REPORT_ID}:${filterValue as string}`;
422+
}
423+
412424
if (filterKey === INPUT_IDS.CATEGORY && filterValues[filterKey]) {
413425
const categories = filterValues[filterKey] ?? [];
414426
return `${CONST.SEARCH.SYNTAX_FILTER_KEYS.CATEGORY}:${categories.map(sanitizeString).join(',')}`;

src/pages/Search/AdvancedSearchFilters.tsx

+15
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,21 @@ function AdvancedSearchFilters() {
7373
description: 'common.date' as const,
7474
route: ROUTES.SEARCH_ADVANCED_FILTERS_DATE,
7575
},
76+
{
77+
title: getFilterDisplayTitle(searchAdvancedFilters, CONST.SEARCH.SYNTAX_FILTER_KEYS.MERCHANT, translate),
78+
description: 'common.merchant' as const,
79+
route: ROUTES.SEARCH_ADVANCED_FILTERS_MERCHANT,
80+
},
81+
{
82+
title: getFilterDisplayTitle(searchAdvancedFilters, CONST.SEARCH.SYNTAX_FILTER_KEYS.DESCRIPTION, translate),
83+
description: 'common.description' as const,
84+
route: ROUTES.SEARCH_ADVANCED_FILTERS_DESCRIPTION,
85+
},
86+
{
87+
title: getFilterDisplayTitle(searchAdvancedFilters, CONST.SEARCH.SYNTAX_FILTER_KEYS.REPORT_ID, translate),
88+
description: 'common.reportID' as const,
89+
route: ROUTES.SEARCH_ADVANCED_FILTERS_REPORT_ID,
90+
},
7691
{
7792
title: getFilterDisplayTitle(searchAdvancedFilters, CONST.SEARCH.SYNTAX_FILTER_KEYS.CATEGORY, translate),
7893
description: 'common.category' as const,

src/pages/Search/SearchFiltersCategoryPage.tsx

+7-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import type {OptionData} from '@libs/ReportUtils';
1717
import Navigation from '@navigation/Navigation';
1818
import * as SearchActions from '@userActions/Search';
1919
import ONYXKEYS from '@src/ONYXKEYS';
20+
import ROUTES from '@src/ROUTES';
2021

2122
function SearchFiltersCategoryPage() {
2223
const styles = useThemeStyles();
@@ -127,7 +128,12 @@ function SearchFiltersCategoryPage() {
127128
offlineIndicatorStyle={styles.mtAuto}
128129
>
129130
<FullPageNotFoundView shouldShow={false}>
130-
<HeaderWithBackButton title={translate('common.category')} />
131+
<HeaderWithBackButton
132+
title={translate('common.category')}
133+
onBackButtonPress={() => {
134+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
135+
}}
136+
/>
131137
<View style={[styles.flex1]}>
132138
<SelectionList
133139
sections={sections}

src/pages/Search/SearchFiltersDatePage.tsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ function SearchFiltersDatePage() {
3636
offlineIndicatorStyle={styles.mtAuto}
3737
>
3838
<FullPageNotFoundView shouldShow={false}>
39-
<HeaderWithBackButton title={translate('common.date')} />
39+
<HeaderWithBackButton
40+
title={translate('common.date')}
41+
onBackButtonPress={() => {
42+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
43+
}}
44+
/>
4045
<FormProvider
4146
style={[styles.flex1, styles.ph5]}
4247
formID={ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import React from 'react';
2+
import {View} from 'react-native';
3+
import {useOnyx} from 'react-native-onyx';
4+
import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
5+
import FormProvider from '@components/Form/FormProvider';
6+
import InputWrapper from '@components/Form/InputWrapper';
7+
import type {FormOnyxValues} from '@components/Form/types';
8+
import HeaderWithBackButton from '@components/HeaderWithBackButton';
9+
import ScreenWrapper from '@components/ScreenWrapper';
10+
import TextInput from '@components/TextInput';
11+
import useAutoFocusInput from '@hooks/useAutoFocusInput';
12+
import useLocalize from '@hooks/useLocalize';
13+
import useThemeStyles from '@hooks/useThemeStyles';
14+
import {updateAdvancedFilters} from '@libs/actions/Search';
15+
import Navigation from '@libs/Navigation/Navigation';
16+
import CONST from '@src/CONST';
17+
import ONYXKEYS from '@src/ONYXKEYS';
18+
import ROUTES from '@src/ROUTES';
19+
import INPUT_IDS from '@src/types/form/SearchAdvancedFiltersForm';
20+
21+
function SearchFiltersDescriptionPage() {
22+
const styles = useThemeStyles();
23+
const {translate} = useLocalize();
24+
25+
const [searchAdvancedFiltersForm] = useOnyx(ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM);
26+
const description = searchAdvancedFiltersForm?.[INPUT_IDS.DESCRIPTION];
27+
const {inputCallbackRef} = useAutoFocusInput();
28+
29+
const updateDescriptionFilter = (values: FormOnyxValues<typeof ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM>) => {
30+
updateAdvancedFilters(values);
31+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
32+
};
33+
34+
return (
35+
<ScreenWrapper
36+
testID={SearchFiltersDescriptionPage.displayName}
37+
shouldShowOfflineIndicatorInWideScreen
38+
offlineIndicatorStyle={styles.mtAuto}
39+
>
40+
<FullPageNotFoundView shouldShow={false}>
41+
<HeaderWithBackButton
42+
title={translate('common.description')}
43+
onBackButtonPress={() => {
44+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
45+
}}
46+
/>
47+
<FormProvider
48+
style={[styles.flex1, styles.ph5]}
49+
formID={ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM}
50+
onSubmit={updateDescriptionFilter}
51+
submitButtonText={translate('common.save')}
52+
enabledWhenOffline
53+
>
54+
<View style={styles.mb4}>
55+
<InputWrapper
56+
InputComponent={TextInput}
57+
inputID={INPUT_IDS.DESCRIPTION}
58+
name={INPUT_IDS.DESCRIPTION}
59+
defaultValue={description}
60+
maxLength={CONST.DESCRIPTION_LIMIT}
61+
label={translate('common.description')}
62+
accessibilityLabel={translate('common.description')}
63+
role={CONST.ROLE.PRESENTATION}
64+
ref={inputCallbackRef}
65+
/>
66+
</View>
67+
</FormProvider>
68+
</FullPageNotFoundView>
69+
</ScreenWrapper>
70+
);
71+
}
72+
73+
SearchFiltersDescriptionPage.displayName = 'SearchFiltersDescriptionPage';
74+
75+
export default SearchFiltersDescriptionPage;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import React from 'react';
2+
import {View} from 'react-native';
3+
import {useOnyx} from 'react-native-onyx';
4+
import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
5+
import FormProvider from '@components/Form/FormProvider';
6+
import InputWrapper from '@components/Form/InputWrapper';
7+
import type {FormOnyxValues} from '@components/Form/types';
8+
import HeaderWithBackButton from '@components/HeaderWithBackButton';
9+
import ScreenWrapper from '@components/ScreenWrapper';
10+
import TextInput from '@components/TextInput';
11+
import useAutoFocusInput from '@hooks/useAutoFocusInput';
12+
import useLocalize from '@hooks/useLocalize';
13+
import useThemeStyles from '@hooks/useThemeStyles';
14+
import {updateAdvancedFilters} from '@libs/actions/Search';
15+
import Navigation from '@libs/Navigation/Navigation';
16+
import CONST from '@src/CONST';
17+
import ONYXKEYS from '@src/ONYXKEYS';
18+
import ROUTES from '@src/ROUTES';
19+
import INPUT_IDS from '@src/types/form/SearchAdvancedFiltersForm';
20+
21+
function SearchFiltersMerchantPage() {
22+
const styles = useThemeStyles();
23+
const {translate} = useLocalize();
24+
25+
const [searchAdvancedFiltersForm] = useOnyx(ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM);
26+
const merchant = searchAdvancedFiltersForm?.[INPUT_IDS.MERCHANT];
27+
const {inputCallbackRef} = useAutoFocusInput();
28+
29+
const updateMerchantFilter = (values: FormOnyxValues<typeof ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM>) => {
30+
updateAdvancedFilters(values);
31+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
32+
};
33+
34+
return (
35+
<ScreenWrapper
36+
testID={SearchFiltersMerchantPage.displayName}
37+
shouldShowOfflineIndicatorInWideScreen
38+
offlineIndicatorStyle={styles.mtAuto}
39+
>
40+
<FullPageNotFoundView shouldShow={false}>
41+
<HeaderWithBackButton
42+
title={translate('common.merchant')}
43+
onBackButtonPress={() => {
44+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
45+
}}
46+
/>
47+
<FormProvider
48+
style={[styles.flex1, styles.ph5]}
49+
formID={ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM}
50+
onSubmit={updateMerchantFilter}
51+
submitButtonText={translate('common.save')}
52+
enabledWhenOffline
53+
>
54+
<View style={styles.mb4}>
55+
<InputWrapper
56+
InputComponent={TextInput}
57+
inputID={INPUT_IDS.MERCHANT}
58+
name={INPUT_IDS.MERCHANT}
59+
defaultValue={merchant}
60+
maxLength={CONST.MERCHANT_NAME_MAX_LENGTH}
61+
label={translate('common.merchant')}
62+
accessibilityLabel={translate('common.merchant')}
63+
role={CONST.ROLE.PRESENTATION}
64+
ref={inputCallbackRef}
65+
/>
66+
</View>
67+
</FormProvider>
68+
</FullPageNotFoundView>
69+
</ScreenWrapper>
70+
);
71+
}
72+
73+
SearchFiltersMerchantPage.displayName = 'SearchFiltersMerchantPage';
74+
75+
export default SearchFiltersMerchantPage;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import React from 'react';
2+
import {View} from 'react-native';
3+
import {useOnyx} from 'react-native-onyx';
4+
import FullPageNotFoundView from '@components/BlockingViews/FullPageNotFoundView';
5+
import FormProvider from '@components/Form/FormProvider';
6+
import InputWrapper from '@components/Form/InputWrapper';
7+
import type {FormOnyxValues} from '@components/Form/types';
8+
import HeaderWithBackButton from '@components/HeaderWithBackButton';
9+
import ScreenWrapper from '@components/ScreenWrapper';
10+
import TextInput from '@components/TextInput';
11+
import useAutoFocusInput from '@hooks/useAutoFocusInput';
12+
import useLocalize from '@hooks/useLocalize';
13+
import useThemeStyles from '@hooks/useThemeStyles';
14+
import {updateAdvancedFilters} from '@libs/actions/Search';
15+
import Navigation from '@libs/Navigation/Navigation';
16+
import CONST from '@src/CONST';
17+
import ONYXKEYS from '@src/ONYXKEYS';
18+
import ROUTES from '@src/ROUTES';
19+
import INPUT_IDS from '@src/types/form/SearchAdvancedFiltersForm';
20+
21+
function SearchFiltersReportIDPage() {
22+
const styles = useThemeStyles();
23+
const {translate} = useLocalize();
24+
25+
const [searchAdvancedFiltersForm] = useOnyx(ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM);
26+
const reportID = searchAdvancedFiltersForm?.[INPUT_IDS.REPORT_ID];
27+
const {inputCallbackRef} = useAutoFocusInput();
28+
29+
const updateReportIDFilter = (values: FormOnyxValues<typeof ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM>) => {
30+
updateAdvancedFilters(values);
31+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
32+
};
33+
34+
return (
35+
<ScreenWrapper
36+
testID={SearchFiltersReportIDPage.displayName}
37+
shouldShowOfflineIndicatorInWideScreen
38+
offlineIndicatorStyle={styles.mtAuto}
39+
>
40+
<FullPageNotFoundView shouldShow={false}>
41+
<HeaderWithBackButton
42+
title={translate('common.reportID')}
43+
onBackButtonPress={() => {
44+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
45+
}}
46+
/>
47+
<FormProvider
48+
style={[styles.flex1, styles.ph5]}
49+
formID={ONYXKEYS.FORMS.SEARCH_ADVANCED_FILTERS_FORM}
50+
onSubmit={updateReportIDFilter}
51+
submitButtonText={translate('common.save')}
52+
enabledWhenOffline
53+
>
54+
<View style={styles.mb4}>
55+
<InputWrapper
56+
InputComponent={TextInput}
57+
inputID={INPUT_IDS.REPORT_ID}
58+
name={INPUT_IDS.REPORT_ID}
59+
defaultValue={reportID}
60+
label={translate('common.reportID')}
61+
accessibilityLabel={translate('common.reportID')}
62+
role={CONST.ROLE.PRESENTATION}
63+
ref={inputCallbackRef}
64+
/>
65+
</View>
66+
</FormProvider>
67+
</FullPageNotFoundView>
68+
</ScreenWrapper>
69+
);
70+
}
71+
72+
SearchFiltersReportIDPage.displayName = 'SearchFiltersReportIDPage';
73+
74+
export default SearchFiltersReportIDPage;

src/pages/Search/SearchFiltersStatusPage.tsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,12 @@ function SearchFiltersStatusPage() {
6565
offlineIndicatorStyle={styles.mtAuto}
6666
>
6767
<FullPageNotFoundView shouldShow={false}>
68-
<HeaderWithBackButton title={translate('search.filters.status')} />
68+
<HeaderWithBackButton
69+
title={translate('search.filters.status')}
70+
onBackButtonPress={() => {
71+
Navigation.goBack(ROUTES.SEARCH_ADVANCED_FILTERS);
72+
}}
73+
/>
6974
<View style={[styles.flex1]}>
7075
<SelectionList
7176
sections={[{data: filterStatusItems}]}

0 commit comments

Comments
 (0)