import cons from '../../../client/state/cons';
import navigation from '../../../client/state/navigation';
+import settings from '../../../client/state/settings';
import Welcome from '../welcome/Welcome';
import RoomView from './RoomView';
function Room() {
const [selectedRoomId, changeSelectedRoomId] = useState(null);
- const [isDrawerVisible, toggleDrawerVisiblity] = useState(navigation.isPeopleDrawerVisible);
+ const [isDrawerVisible, toggleDrawerVisiblity] = useState(settings.isPeopleDrawer);
useEffect(() => {
const handleRoomSelected = (roomId) => {
changeSelectedRoomId(roomId);
toggleDrawerVisiblity(visiblity);
};
navigation.on(cons.events.navigation.ROOM_SELECTED, handleRoomSelected);
- navigation.on(cons.events.navigation.PEOPLE_DRAWER_TOGGLED, handleDrawerToggling);
+ settings.on(cons.events.settings.PEOPLE_DRAWER_TOGGLED, handleDrawerToggling);
return () => {
navigation.removeListener(cons.events.navigation.ROOM_SELECTED, handleRoomSelected);
- navigation.removeListener(cons.events.navigation.PEOPLE_DRAWER_TOGGLED, handleDrawerToggling);
+ settings.removeListener(cons.events.settings.PEOPLE_DRAWER_TOGGLED, handleDrawerToggling);
};
}, []);
import PropTypes from 'prop-types';
import initMatrix from '../../../client/initMatrix';
-import { togglePeopleDrawer, openRoomOptions } from '../../../client/action/navigation';
+import { openRoomOptions } from '../../../client/action/navigation';
+import { togglePeopleDrawer } from '../../../client/action/settings';
import colorMXID from '../../../util/colorMXID';
import { getEventCords } from '../../../util/common';
});
}
-function togglePeopleDrawer() {
- appDispatcher.dispatch({
- type: cons.actions.navigation.TOGGLE_PEOPLE_DRAWER,
- });
-}
-
function openInviteList() {
appDispatcher.dispatch({
type: cons.actions.navigation.OPEN_INVITE_LIST,
selectTab,
selectSpace,
selectRoom,
- togglePeopleDrawer,
openInviteList,
openPublicRooms,
openCreateRoom,
});
}
+function togglePeopleDrawer() {
+ appDispatcher.dispatch({
+ type: cons.actions.settings.TOGGLE_PEOPLE_DRAWER,
+ });
+}
+
export {
toggleMarkdown,
+ togglePeopleDrawer,
};
},
settings: {
TOGGLE_MARKDOWN: 'TOGGLE_MARKDOWN',
+ TOGGLE_PEOPLE_DRAWER: 'TOGGLE_PEOPLE_DRAWER',
},
},
events: {
},
settings: {
MARKDOWN_TOGGLED: 'MARKDOWN_TOGGLED',
+ PEOPLE_DRAWER_TOGGLED: 'PEOPLE_DRAWER_TOGGLED',
},
},
};
this.selectedSpacePath = [cons.tabs.HOME];
this.selectedRoomId = null;
- this.isPeopleDrawerVisible = true;
}
_setSpacePath(roomId) {
this.selectedRoomId = action.roomId;
this.emit(cons.events.navigation.ROOM_SELECTED, this.selectedRoomId, prevSelectedRoomId);
},
- [cons.actions.navigation.TOGGLE_PEOPLE_DRAWER]: () => {
- this.isPeopleDrawerVisible = !this.isPeopleDrawerVisible;
- this.emit(cons.events.navigation.PEOPLE_DRAWER_TOGGLED, this.isPeopleDrawerVisible);
- },
[cons.actions.navigation.OPEN_INVITE_LIST]: () => {
this.emit(cons.events.navigation.INVITE_LIST_OPENED);
},
this.themeIndex = this.getThemeIndex();
this.isMarkdown = this.getIsMarkdown();
+ this.isPeopleDrawer = this.getIsPeopleDrawer();
this.isTouchScreenDevice = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0);
}
return settings.isMarkdown;
}
+ getIsPeopleDrawer() {
+ if (typeof this.isPeopleDrawer === 'boolean') return this.isPeopleDrawer;
+
+ const settings = getSettings();
+ if (settings === null) return true;
+ if (typeof settings.isPeopleDrawer === 'undefined') return true;
+ return settings.isPeopleDrawer;
+ }
+
setter(action) {
const actions = {
[cons.actions.settings.TOGGLE_MARKDOWN]: () => {
setSettings('isMarkdown', this.isMarkdown);
this.emit(cons.events.settings.MARKDOWN_TOGGLED, this.isMarkdown);
},
+ [cons.actions.settings.TOGGLE_PEOPLE_DRAWER]: () => {
+ this.isPeopleDrawer = !this.isPeopleDrawer;
+ setSettings('isPeopleDrawer', this.isPeopleDrawer);
+ this.emit(cons.events.settings.PEOPLE_DRAWER_TOGGLED, this.isPeopleDrawer);
+ },
};
actions[action.type]?.();