Add a link from settings / devices to your user profile

Temporarily until you can verify devices in settings

Fixes https://github.com/vector-im/riot-web/issues/13401
This commit is contained in:
David Baker 2020-04-27 14:25:47 +01:00
parent b3f19086f2
commit ca0cede1aa
3 changed files with 14 additions and 1 deletions

View File

@ -89,7 +89,7 @@ export default class UserSettingsDialog extends React.Component {
tabs.push(new Tab( tabs.push(new Tab(
_td("Security & Privacy"), _td("Security & Privacy"),
"mx_UserSettingsDialog_securityIcon", "mx_UserSettingsDialog_securityIcon",
<SecurityUserSettingsTab />, <SecurityUserSettingsTab closeSettingsFn={this.props.onFinished} />,
)); ));
if (SdkConfig.get()['showLabsSettings'] || SettingsStore.getLabsFeatures().length > 0) { if (SdkConfig.get()['showLabsSettings'] || SettingsStore.getLabsFeatures().length > 0) {
tabs.push(new Tab( tabs.push(new Tab(

View File

@ -52,6 +52,10 @@ export class IgnoredUser extends React.Component {
} }
export default class SecurityUserSettingsTab extends React.Component { export default class SecurityUserSettingsTab extends React.Component {
static propTypes = {
closeSettingsFn: PropTypes.func.isRequired,
};
constructor() { constructor() {
super(); super();
@ -107,6 +111,11 @@ export default class SecurityUserSettingsTab extends React.Component {
); );
}; };
_onGoToUserProfileClick = () => {
// close the settings dialog & let the default action run (ie. navigate to the link)
this.props.closeSettingsFn();
}
_onUserUnignored = async (userId) => { _onUserUnignored = async (userId) => {
const {ignoredUserIds, waitingUnignored} = this.state; const {ignoredUserIds, waitingUnignored} = this.state;
const currentlyIgnoredUserIds = ignoredUserIds.filter(e => !waitingUnignored.includes(e)); const currentlyIgnoredUserIds = ignoredUserIds.filter(e => !waitingUnignored.includes(e));
@ -311,6 +320,9 @@ export default class SecurityUserSettingsTab extends React.Component {
return ( return (
<div className="mx_SettingsTab mx_SecurityUserSettingsTab"> <div className="mx_SettingsTab mx_SecurityUserSettingsTab">
<div className="mx_SettingsTab_heading">{_t("Security & Privacy")}</div> <div className="mx_SettingsTab_heading">{_t("Security & Privacy")}</div>
<a href={"#/user/" + MatrixClientPeg.get().getUserId()} onClick={this._onGoToUserProfileClick}>
{_t("Verify your devices in your User Profile")}
</a>
<div className="mx_SettingsTab_section"> <div className="mx_SettingsTab_section">
<span className="mx_SettingsTab_subheading">{_t("Sessions")}</span> <span className="mx_SettingsTab_subheading">{_t("Sessions")}</span>
<div className='mx_SettingsTab_subsectionText'> <div className='mx_SettingsTab_subsectionText'>

View File

@ -845,6 +845,7 @@
"Message search": "Message search", "Message search": "Message search",
"Cross-signing": "Cross-signing", "Cross-signing": "Cross-signing",
"Security & Privacy": "Security & Privacy", "Security & Privacy": "Security & Privacy",
"Verify your devices in your User Profile": "Verify your devices in your User Profile",
"Sessions": "Sessions", "Sessions": "Sessions",
"A session's public name is visible to people you communicate with": "A session's public name is visible to people you communicate with", "A session's public name is visible to people you communicate with": "A session's public name is visible to people you communicate with",
"Riot collects anonymous analytics to allow us to improve the application.": "Riot collects anonymous analytics to allow us to improve the application.", "Riot collects anonymous analytics to allow us to improve the application.": "Riot collects anonymous analytics to allow us to improve the application.",