Disconnect from IS button
This commit is contained in:
parent
bc088e4472
commit
384f07adb2
2 changed files with 52 additions and 0 deletions
|
@ -22,6 +22,7 @@ import sdk from '../../../index';
|
||||||
import MatrixClientPeg from "../../../MatrixClientPeg";
|
import MatrixClientPeg from "../../../MatrixClientPeg";
|
||||||
import SdkConfig from "../../../SdkConfig";
|
import SdkConfig from "../../../SdkConfig";
|
||||||
import Field from "../elements/Field";
|
import Field from "../elements/Field";
|
||||||
|
import Modal from '../../../Modal';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If a url has no path component, etc. abbreviate it to just the hostname
|
* If a url has no path component, etc. abbreviate it to just the hostname
|
||||||
|
@ -148,7 +149,39 @@ export default class SetIdServer extends React.Component {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_onDisconnectClicked = () => {
|
||||||
|
const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
|
||||||
|
Modal.createTrackedDialog('ID Server Disconnect Warning', '', QuestionDialog, {
|
||||||
|
title: _t("Disconnect ID Server"),
|
||||||
|
description:
|
||||||
|
<div>
|
||||||
|
{_t(
|
||||||
|
"Disconnect from the ID Server <idserver></idserver>?", {},
|
||||||
|
{idserver: sub => <b>{abbreviateUrl(this.state.currentClientIdServer)}</b>},
|
||||||
|
)},
|
||||||
|
</div>,
|
||||||
|
button: _t("Disconnect"),
|
||||||
|
onFinished: (confirmed) => {
|
||||||
|
if (confirmed) {
|
||||||
|
this._disconnectIdServer();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
_disconnectIdServer = () => {
|
||||||
|
MatrixClientPeg.get().setIdentityServerUrl(null);
|
||||||
|
localStorage.removeItem("mx_is_url");
|
||||||
|
this.setState({
|
||||||
|
busy: false,
|
||||||
|
error: null,
|
||||||
|
currentClientIdServer: MatrixClientPeg.get().getIdentityServerUrl(),
|
||||||
|
idServer: '',
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
const AccessibleButton = sdk.getComponent('views.elements.AccessibleButton');
|
||||||
const idServerUrl = this.state.currentClientIdServer;
|
const idServerUrl = this.state.currentClientIdServer;
|
||||||
let sectionTitle;
|
let sectionTitle;
|
||||||
let bodyText;
|
let bodyText;
|
||||||
|
@ -169,6 +202,20 @@ export default class SetIdServer extends React.Component {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let discoSection;
|
||||||
|
if (idServerUrl) {
|
||||||
|
discoSection = <div>
|
||||||
|
<span className="mx_SettingsTab_subsectionText">{_t(
|
||||||
|
"Disconnecting from your identity server will mean you " +
|
||||||
|
"won’t be discoverable by other users and you won’t be " +
|
||||||
|
"able to invite others by email or phone.",
|
||||||
|
)}</span>
|
||||||
|
<AccessibleButton onClick={this._onDisconnectClicked} kind="danger">
|
||||||
|
{_t("Disconnect")}
|
||||||
|
</AccessibleButton>
|
||||||
|
</div>;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<form className="mx_SettingsTab_section mx_SetIdServer" onSubmit={this._saveIdServer}>
|
<form className="mx_SettingsTab_section mx_SetIdServer" onSubmit={this._saveIdServer}>
|
||||||
<span className="mx_SettingsTab_subheading">
|
<span className="mx_SettingsTab_subheading">
|
||||||
|
@ -187,6 +234,7 @@ export default class SetIdServer extends React.Component {
|
||||||
type="submit" value={_t("Change")}
|
type="submit" value={_t("Change")}
|
||||||
disabled={!this._idServerChangeEnabled()}
|
disabled={!this._idServerChangeEnabled()}
|
||||||
/>
|
/>
|
||||||
|
{discoSection}
|
||||||
</form>
|
</form>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -541,10 +541,14 @@
|
||||||
"Could not connect to ID Server": "Could not connect to ID Server",
|
"Could not connect to ID Server": "Could not connect to ID Server",
|
||||||
"Not a valid ID Server (status code %(code)s)": "Not a valid ID Server (status code %(code)s)",
|
"Not a valid ID Server (status code %(code)s)": "Not a valid ID Server (status code %(code)s)",
|
||||||
"Checking Server": "Checking Server",
|
"Checking Server": "Checking Server",
|
||||||
|
"Disconnect ID Server": "Disconnect ID Server",
|
||||||
|
"Disconnect from the ID Server %(idserver)s?": "Disconnect from the ID Server %(idserver)s?",
|
||||||
|
"Disconnect": "Disconnect",
|
||||||
"Identity Server (%(server)s)": "Identity Server (%(server)s)",
|
"Identity Server (%(server)s)": "Identity Server (%(server)s)",
|
||||||
"You are currently using <server></server> to discover and be discoverable by existing contacts you know. You can change your identity server below.": "You are currently using <server></server> to discover and be discoverable by existing contacts you know. You can change your identity server below.",
|
"You are currently using <server></server> to discover and be discoverable by existing contacts you know. You can change your identity server below.": "You are currently using <server></server> to discover and be discoverable by existing contacts you know. You can change your identity server below.",
|
||||||
"Identity Server": "Identity Server",
|
"Identity Server": "Identity Server",
|
||||||
"You are not currently using an Identity Server. To discover and be discoverable by existing contacts you know, add one below": "You are not currently using an Identity Server. To discover and be discoverable by existing contacts you know, add one below",
|
"You are not currently using an Identity Server. To discover and be discoverable by existing contacts you know, add one below": "You are not currently using an Identity Server. To discover and be discoverable by existing contacts you know, add one below",
|
||||||
|
"Disconnecting from your identity server will mean you won’t be discoverable by other users and you won’t be able to invite others by email or phone.": "Disconnecting from your identity server will mean you won’t be discoverable by other users and you won’t be able to invite others by email or phone.",
|
||||||
"Change": "Change",
|
"Change": "Change",
|
||||||
"Flair": "Flair",
|
"Flair": "Flair",
|
||||||
"Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
|
"Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
|
||||||
|
|
Loading…
Reference in a new issue