@@ -16,7 +16,9 @@ import {getTypeOptions} from '@libs/SearchUIUtils';
1616import CONST from '@src/CONST' ;
1717import ONYXKEYS from '@src/ONYXKEYS' ;
1818import ROUTES from '@src/ROUTES' ;
19+ import type { SearchAdvancedFiltersForm } from '@src/types/form' ;
1920import type { SearchDataTypes } from '@src/types/onyx/SearchResults' ;
21+ import type Nullable from '@src/types/utils/Nullable' ;
2022
2123function SearchFiltersTypePage ( ) {
2224 const styles = useThemeStyles ( ) ;
@@ -44,16 +46,26 @@ function SearchFiltersTypePage() {
4446
4547 const applyChanges = useCallback ( ( ) => {
4648 const hasTypeChanged = selectedItem !== searchAdvancedFiltersForm ?. type ;
47- const updatedFilters = {
49+ const updatedFilters : Partial < Nullable < SearchAdvancedFiltersForm > > = {
4850 type : selectedItem ,
49- ...( hasTypeChanged && {
50- groupBy : null ,
51- status : CONST . SEARCH . STATUS . EXPENSE . ALL ,
52- } ) ,
5351 } ;
52+
53+ if ( hasTypeChanged ) {
54+ Object . keys ( searchAdvancedFiltersForm ?? { } )
55+ . filter ( ( key ) => key !== CONST . SEARCH . SYNTAX_FILTER_KEYS . TYPE )
56+ . forEach ( ( key ) => {
57+ if ( key === CONST . SEARCH . SYNTAX_FILTER_KEYS . STATUS ) {
58+ updatedFilters [ key ] = CONST . SEARCH . STATUS . EXPENSE . ALL ;
59+ return ;
60+ }
61+
62+ updatedFilters [ key as keyof SearchAdvancedFiltersForm ] = null ;
63+ } ) ;
64+ }
65+
5466 updateAdvancedFilters ( updatedFilters ) ;
5567 Navigation . goBack ( ROUTES . SEARCH_ADVANCED_FILTERS ) ;
56- } , [ searchAdvancedFiltersForm ?. type , selectedItem ] ) ;
68+ } , [ searchAdvancedFiltersForm , selectedItem ] ) ;
5769
5870 return (
5971 < ScreenWrapper
0 commit comments