RoomListViewModel: Reset primary and secondary filters on space change (#29672)

* Reset filters when space changes

* Write test
This commit is contained in:
R Midhun Suresh
2025-04-04 14:10:25 +05:30
committed by GitHub
parent d337106eed
commit c24a1baf38
2 changed files with 37 additions and 0 deletions

View File

@@ -13,6 +13,8 @@ import { _t, _td, type TranslationKey } from "../../../languageHandler";
import RoomListStoreV3 from "../../../stores/room-list-v3/RoomListStoreV3";
import { LISTS_UPDATE_EVENT } from "../../../stores/room-list/RoomListStore";
import { useEventEmitter } from "../../../hooks/useEventEmitter";
import SpaceStore from "../../../stores/spaces/SpaceStore";
import { UPDATE_SELECTED_SPACE } from "../../../stores/spaces";
/**
* Provides information about a primary filter.
@@ -119,6 +121,12 @@ export function useFilteredRooms(): FilteredRooms {
setRooms(newRooms);
}, []);
// Reset filters when active space changes
useEventEmitter(SpaceStore.instance, UPDATE_SELECTED_SPACE, () => {
setPrimaryFilter(undefined);
activateSecondaryFilter(SecondaryFilters.AllActivity);
});
const filterUndefined = (array: (FilterKey | undefined)[]): FilterKey[] =>
array.filter((f) => f !== undefined) as FilterKey[];