Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2713 from matrix-org/dbkr/fix_logout_dialog_backup
Browse files Browse the repository at this point in the history
Fix backup button in logout dialog
  • Loading branch information
dbkr authored Feb 27, 2019
2 parents c4db9dc + 98402e7 commit 6cdb318
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions src/components/views/dialogs/LogoutDialog.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,15 @@ export default class LogoutDialog extends React.Component {
this._onSetRecoveryMethodClick = this._onSetRecoveryMethodClick.bind(this);
this._onLogoutConfirm = this._onLogoutConfirm.bind(this);

const shouldLoadBackupStatus = !MatrixClientPeg.get().getKeyBackupEnabled();

this.state = {
loading: false,
loading: shouldLoadBackupStatus,
backupInfo: null,
error: null,
};

if (!MatrixClientPeg.get().getKeyBackupEnabled()) {
if (shouldLoadBackupStatus) {
this._loadBackupStatus();
}
}
Expand Down Expand Up @@ -84,9 +86,17 @@ export default class LogoutDialog extends React.Component {
}

_onSetRecoveryMethodClick() {
Modal.createTrackedDialogAsync('Key Backup', 'Key Backup',
import('../../../async-components/views/dialogs/keybackup/CreateKeyBackupDialog'),
);
if (this.state.backupInfo) {
// A key backup exists for this account, but the creating device is not
// verified, so restore the backup which will give us the keys from it and
// allow us to trust it (ie. upload keys to it)
const RestoreKeyBackupDialog = sdk.getComponent('dialogs.keybackup.RestoreKeyBackupDialog');
Modal.createTrackedDialog('Restore Backup', '', RestoreKeyBackupDialog, {});
} else {
Modal.createTrackedDialogAsync("Key Backup", "Key Backup",
import("../../../async-components/views/dialogs/keybackup/CreateKeyBackupDialog"),
);
}

// close dialog
this.props.onFinished();
Expand Down

0 comments on commit 6cdb318

Please sign in to comment.