dispatch for user screen

pull/21833/head
Bruno Windels 2019-04-17 18:26:07 +02:00
parent d5cc835a93
commit 190143ca6c
1 changed files with 8 additions and 4 deletions

View File

@ -566,7 +566,7 @@ export default React.createClass({
});
break;
case 'view_user_info':
this._viewUser(payload.userId);
this._viewUser(payload.userId, payload.subAction);
break;
case 'view_room':
// Takes either a room ID or room alias: if switching to a room the client is already
@ -922,13 +922,13 @@ export default React.createClass({
this.notifyNewScreen('home');
},
_viewUser: function(userId, action) {
_viewUser: function(userId, subAction) {
// Wait for the first sync so that `getRoom` gives us a room object if it's
// in the sync response
const waitForSync = this.firstSyncPromise ?
this.firstSyncPromise.promise : Promise.resolve();
waitForSync.then(() => {
if (action === 'chat') {
if (subAction === 'chat') {
this._chatCreateOrReuse(userId);
return;
}
@ -1631,7 +1631,11 @@ export default React.createClass({
dis.dispatch(payload);
} else if (screen.indexOf('user/') == 0) {
const userId = screen.substring(5);
this._viewUser(userId, params.action);
dis.dispatch({
action: 'view_user_info',
userId: userId,
subAction: params.action,
});
} else if (screen.indexOf('group/') == 0) {
const groupId = screen.substring(6);