11import React , { useCallback , useEffect , useMemo , useState } from 'react' ;
22import { View } from 'react-native' ;
33import { useOnyx } from 'react-native-onyx' ;
4- import Button from '@components/Button' ;
54import HeaderWithBackButton from '@components/HeaderWithBackButton' ;
65import { usePersonalDetails } from '@components/OnyxProvider' ;
76import ScreenWrapper from '@components/ScreenWrapper' ;
7+ import SearchFilterPageFooterButtons from '@components/Search/SearchFilterPageFooterButtons' ;
88import SelectionList from '@components/SelectionList' ;
99import CardListItem from '@components/SelectionList/Search/CardListItem' ;
1010import useDebouncedState from '@hooks/useDebouncedState' ;
@@ -25,10 +25,10 @@ function SearchFiltersCardPage() {
2525 const { translate} = useLocalize ( ) ;
2626 const illustrations = useThemeIllustrations ( ) ;
2727
28- const [ userCardList , userCardListMetadata ] = useOnyx ( ONYXKEYS . CARD_LIST ) ;
29- const [ workspaceCardFeeds , workspaceCardFeedsMetadata ] = useOnyx ( ONYXKEYS . COLLECTION . WORKSPACE_CARDS_LIST ) ;
28+ const [ userCardList , userCardListMetadata ] = useOnyx ( ONYXKEYS . CARD_LIST , { canBeMissing : true } ) ;
29+ const [ workspaceCardFeeds , workspaceCardFeedsMetadata ] = useOnyx ( ONYXKEYS . COLLECTION . WORKSPACE_CARDS_LIST , { canBeMissing : true } ) ;
3030 const [ searchTerm , debouncedSearchTerm , setSearchTerm ] = useDebouncedState ( '' ) ;
31- const [ searchAdvancedFiltersForm , searchAdvancedFiltersFormMetadata ] = useOnyx ( ONYXKEYS . FORMS . SEARCH_ADVANCED_FILTERS_FORM ) ;
31+ const [ searchAdvancedFiltersForm , searchAdvancedFiltersFormMetadata ] = useOnyx ( ONYXKEYS . FORMS . SEARCH_ADVANCED_FILTERS_FORM , { canBeMissing : true } ) ;
3232 const personalDetails = usePersonalDetails ( ) ;
3333
3434 const [ selectedCards , setSelectedCards ] = useState < string [ ] > ( [ ] ) ;
@@ -147,17 +147,18 @@ function SearchFiltersCardPage() {
147147
148148 const headerMessage = debouncedSearchTerm . trim ( ) && sections . every ( ( section ) => ! section . data . length ) ? translate ( 'common.noResultsFound' ) : '' ;
149149
150+ const resetChanges = useCallback ( ( ) => {
151+ setSelectedCards ( [ ] ) ;
152+ } , [ setSelectedCards ] ) ;
153+
150154 const footerContent = useMemo (
151155 ( ) => (
152- < Button
153- success
154- text = { translate ( 'common.save' ) }
155- pressOnEnter
156- onPress = { handleConfirmSelection }
157- large
156+ < SearchFilterPageFooterButtons
157+ applyChanges = { handleConfirmSelection }
158+ resetChanges = { resetChanges }
158159 />
159160 ) ,
160- [ translate , handleConfirmSelection ] ,
161+ [ resetChanges , handleConfirmSelection ] ,
161162 ) ;
162163
163164 return (
0 commit comments