@@ -255,11 +255,16 @@ export default function FiltersPanel({
255
255
const [ recommendedToggle , setRecommendedToggle ] = useState ( false ) ;
256
256
257
257
useEffect ( ( ) => {
258
- if ( recommendedToggle ) {
259
- const types = _ . union ( filterState . types , [ 'REC' ] ) ;
260
- setFilterState ( { ..._ . clone ( filterState ) , types } ) ;
258
+ if ( ! isFilterEmpty ( filterState , past ? 'past' : '' , activeBucket )
259
+ && recommendedToggle
260
+ && filterState . types . length !== _ . uniq ( filterState . types ) . length
261
+ ) {
262
+ setFilterState ( {
263
+ ...filterState ,
264
+ types : _ . uniq ( filterState . types ) ,
265
+ } ) ;
261
266
}
262
- } , [ ] ) ;
267
+ } , [ filterState ] ) ;
263
268
264
269
const onSwitchRecommendedChallenge = ( on ) => {
265
270
const { types } = filterState ;
@@ -270,8 +275,8 @@ export default function FiltersPanel({
270
275
setSort ( 'openForRegistration' , 'bestMatch' ) ;
271
276
setFilterState ( { ..._ . clone ( filterState ) , types } ) ;
272
277
} else {
273
- setFilterState ( { ..._ . clone ( filterState ) , types : [ 'TSK' , 'CH' , 'F2F' ] } ) ;
274
278
setSort ( 'openForRegistration' , 'startDate' ) ;
279
+ setFilterState ( { ..._ . clone ( filterState ) , types : types . filter ( item => item !== 'REC' ) } ) ;
275
280
}
276
281
} ;
277
282
@@ -284,13 +289,12 @@ export default function FiltersPanel({
284
289
}
285
290
286
291
if ( recommendedToggle ) {
287
- types = [ ... types , 'REC' ] ;
292
+ types = _ . union ( types , [ 'REC' ] ) ;
288
293
} else {
289
294
types = types . filter ( type => type !== 'REC' ) ;
295
+ setSort ( 'openForRegistration' , 'startDate' ) ;
290
296
}
291
-
292
297
setFilterState ( { ..._ . clone ( filterState ) , types } ) ;
293
- setSort ( 'openForRegistration' , 'startDate' ) ;
294
298
} ;
295
299
296
300
const recommendedCheckboxTip = (
@@ -618,6 +622,8 @@ export default function FiltersPanel({
618
622
composeContextTheme = { COMPOSE . SOFT }
619
623
disabled = { disableClearFilterButtons }
620
624
onClick = { ( ) => {
625
+ setRecommendedToggle ( false ) ;
626
+ setSort ( 'openForRegistration' , 'startDate' ) ;
621
627
setFilterState ( {
622
628
tracks : {
623
629
Dev : true ,
@@ -638,7 +644,6 @@ export default function FiltersPanel({
638
644
} ) ;
639
645
selectCommunity ( defaultCommunityId ) ;
640
646
setSearchText ( '' ) ;
641
- setRecommendedToggle ( false ) ;
642
647
// localStorage.setItem('trackStatus', JSON.stringify({}));
643
648
} }
644
649
size = "sm"
0 commit comments