Skip to content

Commit 7323ec5

Browse files
authored
Merge pull request Expensify#66088 from s77rt/date-order
Switch date modifiers order: On, After, Before
2 parents 8c0d91a + 3fcd382 commit 7323ec5

6 files changed

Lines changed: 32 additions & 32 deletions

File tree

src/CONST/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6398,8 +6398,8 @@ const CONST = {
63986398
},
63996399
DATE_MODIFIERS: {
64006400
ON: 'On',
6401-
BEFORE: 'Before',
64026401
AFTER: 'After',
6402+
BEFORE: 'Before',
64036403
},
64046404
DATE_PRESETS: {
64056405
NEVER: 'never',

src/components/Search/SearchDatePresetFilterBase.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ function SearchDatePresetFilterBase({defaultDateValues, selectedDateModifier, on
9090

9191
const dateDisplayValues = useMemo<SearchDateValues>(() => {
9292
const dateOn = dateValues[CONST.SEARCH.DATE_MODIFIERS.ON];
93-
const dateBefore = dateValues[CONST.SEARCH.DATE_MODIFIERS.BEFORE];
9493
const dateAfter = dateValues[CONST.SEARCH.DATE_MODIFIERS.AFTER];
94+
const dateBefore = dateValues[CONST.SEARCH.DATE_MODIFIERS.BEFORE];
9595

9696
return {
9797
// dateOn could be a preset e.g. Last month which should not be displayed as the On field
9898
[CONST.SEARCH.DATE_MODIFIERS.ON]: isSearchDatePreset(dateOn) ? undefined : dateOn,
99-
[CONST.SEARCH.DATE_MODIFIERS.BEFORE]: dateBefore,
10099
[CONST.SEARCH.DATE_MODIFIERS.AFTER]: dateAfter,
100+
[CONST.SEARCH.DATE_MODIFIERS.BEFORE]: dateBefore,
101101
};
102102
}, [dateValues]);
103103

@@ -176,16 +176,16 @@ function SearchDatePresetFilterBase({defaultDateValues, selectedDateModifier, on
176176
<MenuItem
177177
shouldShowRightIcon
178178
viewMode={CONST.OPTION_MODE.COMPACT}
179-
title={translate('common.before')}
180-
description={dateDisplayValues[CONST.SEARCH.DATE_MODIFIERS.BEFORE]}
181-
onPress={() => selectDateModifier(CONST.SEARCH.DATE_MODIFIERS.BEFORE)}
179+
title={translate('common.after')}
180+
description={dateDisplayValues[CONST.SEARCH.DATE_MODIFIERS.AFTER]}
181+
onPress={() => selectDateModifier(CONST.SEARCH.DATE_MODIFIERS.AFTER)}
182182
/>
183183
<MenuItem
184184
shouldShowRightIcon
185185
viewMode={CONST.OPTION_MODE.COMPACT}
186-
title={translate('common.after')}
187-
description={dateDisplayValues[CONST.SEARCH.DATE_MODIFIERS.AFTER]}
188-
onPress={() => selectDateModifier(CONST.SEARCH.DATE_MODIFIERS.AFTER)}
186+
title={translate('common.before')}
187+
description={dateDisplayValues[CONST.SEARCH.DATE_MODIFIERS.BEFORE]}
188+
onPress={() => selectDateModifier(CONST.SEARCH.DATE_MODIFIERS.BEFORE)}
189189
/>
190190
</>
191191
) : (

src/components/Search/SearchPageHeader/SearchFiltersBar.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -126,44 +126,44 @@ function SearchFiltersBar({queryJSON, headerButtonsOptions, isMobileSelectionMod
126126
const [date, displayDate] = useMemo(() => {
127127
const value: SearchDateValues = {
128128
[CONST.SEARCH.DATE_MODIFIERS.ON]: filterFormValues.dateOn,
129-
[CONST.SEARCH.DATE_MODIFIERS.BEFORE]: filterFormValues.dateBefore,
130129
[CONST.SEARCH.DATE_MODIFIERS.AFTER]: filterFormValues.dateAfter,
130+
[CONST.SEARCH.DATE_MODIFIERS.BEFORE]: filterFormValues.dateBefore,
131131
};
132132

133133
const displayText: string[] = [];
134134
if (value.On) {
135135
displayText.push(isSearchDatePreset(value.On) ? translate(`search.filters.date.presets.${value.On}`) : `${translate('common.on')} ${DateUtils.formatToReadableString(value.On)}`);
136136
}
137-
if (value.Before) {
138-
displayText.push(`${translate('common.before')} ${DateUtils.formatToReadableString(value.Before)}`);
139-
}
140137
if (value.After) {
141138
displayText.push(`${translate('common.after')} ${DateUtils.formatToReadableString(value.After)}`);
142139
}
140+
if (value.Before) {
141+
displayText.push(`${translate('common.before')} ${DateUtils.formatToReadableString(value.Before)}`);
142+
}
143143

144144
return [value, displayText];
145-
}, [filterFormValues.dateOn, filterFormValues.dateBefore, filterFormValues.dateAfter, translate]);
145+
}, [filterFormValues.dateOn, filterFormValues.dateAfter, filterFormValues.dateBefore, translate]);
146146

147147
const [posted, displayPosted] = useMemo(() => {
148148
const value: SearchDateValues = {
149149
[CONST.SEARCH.DATE_MODIFIERS.ON]: filterFormValues.postedOn,
150-
[CONST.SEARCH.DATE_MODIFIERS.BEFORE]: filterFormValues.postedBefore,
151150
[CONST.SEARCH.DATE_MODIFIERS.AFTER]: filterFormValues.postedAfter,
151+
[CONST.SEARCH.DATE_MODIFIERS.BEFORE]: filterFormValues.postedBefore,
152152
};
153153

154154
const displayText: string[] = [];
155155
if (value.On) {
156156
displayText.push(isSearchDatePreset(value.On) ? translate(`search.filters.date.presets.${value.On}`) : `${translate('common.on')} ${DateUtils.formatToReadableString(value.On)}`);
157157
}
158-
if (value.Before) {
159-
displayText.push(`${translate('common.before')} ${DateUtils.formatToReadableString(value.Before)}`);
160-
}
161158
if (value.After) {
162159
displayText.push(`${translate('common.after')} ${DateUtils.formatToReadableString(value.After)}`);
163160
}
161+
if (value.Before) {
162+
displayText.push(`${translate('common.before')} ${DateUtils.formatToReadableString(value.Before)}`);
163+
}
164164

165165
return [value, displayText];
166-
}, [filterFormValues.postedOn, filterFormValues.postedBefore, filterFormValues.postedAfter, translate]);
166+
}, [filterFormValues.postedOn, filterFormValues.postedAfter, filterFormValues.postedBefore, translate]);
167167

168168
const updateFilterForm = useCallback(
169169
(values: Partial<SearchAdvancedFiltersForm>) => {
@@ -243,8 +243,8 @@ function SearchFiltersBar({queryJSON, headerButtonsOptions, isMobileSelectionMod
243243
const onChange = (selectedDates: SearchDateValues) => {
244244
const dateFormValues = {
245245
postedOn: selectedDates[CONST.SEARCH.DATE_MODIFIERS.ON],
246-
postedBefore: selectedDates[CONST.SEARCH.DATE_MODIFIERS.BEFORE],
247246
postedAfter: selectedDates[CONST.SEARCH.DATE_MODIFIERS.AFTER],
247+
postedBefore: selectedDates[CONST.SEARCH.DATE_MODIFIERS.BEFORE],
248248
};
249249

250250
updateFilterForm(dateFormValues);
@@ -288,8 +288,8 @@ function SearchFiltersBar({queryJSON, headerButtonsOptions, isMobileSelectionMod
288288
const onChange = (selectedDates: SearchDateValues) => {
289289
const dateFormValues = {
290290
dateOn: selectedDates[CONST.SEARCH.DATE_MODIFIERS.ON],
291-
dateBefore: selectedDates[CONST.SEARCH.DATE_MODIFIERS.BEFORE],
292291
dateAfter: selectedDates[CONST.SEARCH.DATE_MODIFIERS.AFTER],
292+
dateBefore: selectedDates[CONST.SEARCH.DATE_MODIFIERS.BEFORE],
293293
};
294294

295295
updateFilterForm(dateFormValues);

src/libs/SearchQueryUtils.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,20 +110,20 @@ function sanitizeSearchValue(str: string) {
110110
*/
111111
function buildDateFilterQuery(filterValues: Partial<SearchAdvancedFiltersForm>, filterKey: SearchDateFilterKeys) {
112112
const dateOn = filterValues[`${filterKey}${CONST.SEARCH.DATE_MODIFIERS.ON}`];
113-
const dateBefore = filterValues[`${filterKey}${CONST.SEARCH.DATE_MODIFIERS.BEFORE}`];
114113
const dateAfter = filterValues[`${filterKey}${CONST.SEARCH.DATE_MODIFIERS.AFTER}`];
114+
const dateBefore = filterValues[`${filterKey}${CONST.SEARCH.DATE_MODIFIERS.BEFORE}`];
115115

116116
const dateFilters = [];
117117

118118
if (dateOn) {
119119
dateFilters.push(`${filterKey}:${dateOn}`);
120120
}
121-
if (dateBefore) {
122-
dateFilters.push(`${filterKey}<${dateBefore}`);
123-
}
124121
if (dateAfter) {
125122
dateFilters.push(`${filterKey}>${dateAfter}`);
126123
}
124+
if (dateBefore) {
125+
dateFilters.push(`${filterKey}<${dateBefore}`);
126+
}
127127

128128
return dateFilters.join(' ');
129129
}

src/pages/Search/AdvancedSearchFilters.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -382,25 +382,25 @@ function getFilterParticipantDisplayTitle(accountIDs: string[], personalDetails:
382382
function getFilterDisplayTitle(filters: Partial<SearchAdvancedFiltersForm>, filterKey: SearchFilterKey, translate: LocaleContextProps['translate']) {
383383
if (DATE_FILTER_KEYS.includes(filterKey as SearchDateFilterKeys)) {
384384
const keyOn = `${filterKey}${CONST.SEARCH.DATE_MODIFIERS.ON}` as `${SearchDateFilterKeys}${typeof CONST.SEARCH.DATE_MODIFIERS.ON}`;
385-
const keyBefore = `${filterKey}${CONST.SEARCH.DATE_MODIFIERS.BEFORE}` as `${SearchDateFilterKeys}${typeof CONST.SEARCH.DATE_MODIFIERS.BEFORE}`;
386385
const keyAfter = `${filterKey}${CONST.SEARCH.DATE_MODIFIERS.AFTER}` as `${SearchDateFilterKeys}${typeof CONST.SEARCH.DATE_MODIFIERS.AFTER}`;
386+
const keyBefore = `${filterKey}${CONST.SEARCH.DATE_MODIFIERS.BEFORE}` as `${SearchDateFilterKeys}${typeof CONST.SEARCH.DATE_MODIFIERS.BEFORE}`;
387387
const dateOn = filters[keyOn];
388-
const dateBefore = filters[keyBefore];
389388
const dateAfter = filters[keyAfter];
389+
const dateBefore = filters[keyBefore];
390390
const dateValue = [];
391391

392392
if (dateOn) {
393393
dateValue.push(isSearchDatePreset(dateOn) ? translate(`search.filters.date.presets.${dateOn}`) : translate('search.filters.date.on', {date: dateOn}));
394394
}
395395

396-
if (dateBefore) {
397-
dateValue.push(translate('search.filters.date.before', {date: dateBefore}));
398-
}
399-
400396
if (dateAfter) {
401397
dateValue.push(translate('search.filters.date.after', {date: dateAfter}));
402398
}
403399

400+
if (dateBefore) {
401+
dateValue.push(translate('search.filters.date.before', {date: dateBefore}));
402+
}
403+
404404
return dateValue.join(', ');
405405
}
406406

tests/unit/Search/SearchQueryUtilsTest.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ describe('SearchQueryUtils', () => {
176176
const result = buildQueryStringFromFilterFormValues(filterValues);
177177

178178
expect(result).toEqual(
179-
'sortBy:date sortOrder:desc type:expense from:user1@gmail.com,user2@gmail.com to:user3@gmail.com category:finance,insurance date<2025-03-10 date>2025-03-01 amount>1 amount<1000',
179+
'sortBy:date sortOrder:desc type:expense from:user1@gmail.com,user2@gmail.com to:user3@gmail.com category:finance,insurance date>2025-03-01 date<2025-03-10 amount>1 amount<1000',
180180
);
181181
expect(result).not.toMatch(CONST.VALIDATE_FOR_HTML_TAG_REGEX);
182182
});

0 commit comments

Comments
 (0)