Space Panel use SettingsStore instead of SpaceStore as source of truth (#7404)

This commit is contained in:
Michael Telatynski 2021-12-17 16:41:39 +00:00 committed by GitHub
parent 63e69d9fa8
commit 6761ef9540
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View file

@ -97,9 +97,7 @@ export const HomeButtonContextMenu = ({
hideHeader,
...props
}: ComponentProps<typeof SpaceContextMenu>) => {
const allRoomsInHome = useEventEmitterState(SpaceStore.instance, UPDATE_HOME_BEHAVIOUR, () => {
return SpaceStore.instance.allRoomsInHome;
});
const allRoomsInHome = useSettingValue<boolean>("Spaces.allRoomsInHome");
return <IconizedContextMenu
{...props}

View file

@ -109,8 +109,9 @@ export class SpaceStoreClass extends AsyncStoreWithClient<IState> {
private _invitedSpaces = new Set<Room>();
private spaceOrderLocalEchoMap = new Map<string, string>();
private _restrictedJoinRuleSupport?: IRoomCapability;
private _allRoomsInHome: boolean = SettingsStore.getValue("Spaces.allRoomsInHome");
private _enabledMetaSpaces: MetaSpace[] = []; // set by onReady
// The following properties are set by onReady as they live in account_data
private _allRoomsInHome = false;
private _enabledMetaSpaces: MetaSpace[] = [];
constructor() {
super(defaultDispatcher, {});
@ -1042,6 +1043,8 @@ export class SpaceStoreClass extends AsyncStoreWithClient<IState> {
const enabledMetaSpaces = SettingsStore.getValue("Spaces.enabledMetaSpaces");
this._enabledMetaSpaces = metaSpaceOrder.filter(k => enabledMetaSpaces[k]) as MetaSpace[];
this._allRoomsInHome = SettingsStore.getValue("Spaces.allRoomsInHome");
this.rebuildSpaceHierarchy(); // trigger an initial update
// restore selected state from last session if any and still valid