@@ -92,6 +92,7 @@ export const ListingBrowse = (props: ListingBrowseProps) => {
9292 useEffect ( ( ) => {
9393 const filterData = decodeQueryToFilterData ( router . query )
9494 setFilterState ( filterData )
95+ setIsLoading ( false )
9596 } , [ router . asPath , router . query ] )
9697
9798 const saveFavoriteFn = ( listingId : string ) => {
@@ -141,6 +142,17 @@ export const ListingBrowse = (props: ListingBrowseProps) => {
141142 }
142143 }
143144
145+ const onFilterClear = ( resetFilters : ( data : FilterData ) => void ) => {
146+ if ( Object . keys ( filterState ) . length > 0 ) {
147+ setIsLoading ( true )
148+ router . pathname . includes ( "listings-closed" )
149+ ? void router . push ( `/listings-closed` )
150+ : void router . push ( `/listings` )
151+ }
152+ resetFilters ( { name : "" , monthlyRent : { minRent : "" , maxRent : "" } } )
153+ setFilterState ( { } )
154+ }
155+
144156 const onShowAll = useCallback ( async ( ) => {
145157 await router . replace ( router . pathname )
146158 } , [ router ] )
@@ -168,6 +180,7 @@ export const ListingBrowse = (props: ListingBrowseProps) => {
168180 filterState = { filterState }
169181 multiselectData = { props . multiselectData }
170182 activeFeatureFlags = { jurisdictionActiveFeatureFlags }
183+ onClear = { onFilterClear }
171184 />
172185 < LoadingState loading = { isLoading } >
173186 < div className = { styles [ "listing-directory" ] } >
0 commit comments