RoomListViewModel: Reset any primary filter on secondary filter change (#29562)

* Reset primary filter when secondary filter is applied

* Add test
This commit is contained in:
R Midhun Suresh
2025-03-21 16:16:20 +05:30
committed by GitHub
parent 0dc295e3b8
commit 3a39486468
2 changed files with 29 additions and 14 deletions

View File

@@ -145,22 +145,14 @@ export function useFilteredRooms(): FilteredRooms {
// SecondaryFilter is an enum for the UI, let's convert it to something
// that the store will understand.
const secondary = secondaryFiltersToFilterKeyMap.get(filter);
// Active primary filter may need to be toggled off when applying this secondary filer.
let primary = primaryFilter;
if (
primaryFilter !== undefined &&
secondary !== undefined &&
!isPrimaryFilterCompatible(primaryFilter, secondary)
) {
primary = undefined;
}
setActiveSecondaryFilter(filter);
setPrimaryFilter(primary);
updateRoomsFromStore(filterUndefined([primary, secondary]));
// Reset any active primary filters.
setPrimaryFilter(undefined);
updateRoomsFromStore(filterUndefined([secondary]));
},
[activeSecondaryFilter, primaryFilter, updateRoomsFromStore],
[activeSecondaryFilter, updateRoomsFromStore],
);
/**