Merge pull request #4498 from matrix-org/dbkr/link_from_settings_to_userprofile
Add a link from settings / devices to your user profile
This commit is contained in:
commit
b608c6925c
3 changed files with 25 additions and 3 deletions
src
components/views
i18n/strings
|
@ -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(
|
||||||
|
|
|
@ -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));
|
||||||
|
@ -312,7 +321,18 @@ export default class SecurityUserSettingsTab extends React.Component {
|
||||||
<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>
|
||||||
<div className="mx_SettingsTab_section">
|
<div className="mx_SettingsTab_section">
|
||||||
<span className="mx_SettingsTab_subheading">{_t("Sessions")}</span>
|
<span className="mx_SettingsTab_subheading">{_t("Where you’re logged in")}</span>
|
||||||
|
<span>
|
||||||
|
{_t(
|
||||||
|
"Manage the names of and sign out of your sessions below or " +
|
||||||
|
"<a>verify them in your User Profile</a>.", {},
|
||||||
|
{
|
||||||
|
a: sub => <a href={"#/user/" + MatrixClientPeg.get().getUserId()}
|
||||||
|
onClick={this._onGoToUserProfileClick}
|
||||||
|
>{sub}</a>,
|
||||||
|
},
|
||||||
|
)}
|
||||||
|
</span>
|
||||||
<div className='mx_SettingsTab_subsectionText'>
|
<div className='mx_SettingsTab_subsectionText'>
|
||||||
{_t("A session's public name is visible to people you communicate with")}
|
{_t("A session's public name is visible to people you communicate with")}
|
||||||
<DevicesPanel />
|
<DevicesPanel />
|
||||||
|
|
|
@ -845,7 +845,8 @@
|
||||||
"Message search": "Message search",
|
"Message search": "Message search",
|
||||||
"Cross-signing": "Cross-signing",
|
"Cross-signing": "Cross-signing",
|
||||||
"Security & Privacy": "Security & Privacy",
|
"Security & Privacy": "Security & Privacy",
|
||||||
"Sessions": "Sessions",
|
"Where you’re logged in": "Where you’re logged in",
|
||||||
|
"Manage the names of and sign out of your sessions below or <a>verify them in your User Profile</a>.": "Manage the names of and sign out of your sessions below or <a>verify them in your User Profile</a>.",
|
||||||
"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.",
|
||||||
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.",
|
"Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.": "Privacy is important to us, so we don't collect any personal or identifiable data for our analytics.",
|
||||||
|
@ -1030,6 +1031,7 @@
|
||||||
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.",
|
"You will not be able to undo this change as you are promoting the user to have the same power level as yourself.": "You will not be able to undo this change as you are promoting the user to have the same power level as yourself.",
|
||||||
"Are you sure?": "Are you sure?",
|
"Are you sure?": "Are you sure?",
|
||||||
"No sessions with registered encryption keys": "No sessions with registered encryption keys",
|
"No sessions with registered encryption keys": "No sessions with registered encryption keys",
|
||||||
|
"Sessions": "Sessions",
|
||||||
"Jump to read receipt": "Jump to read receipt",
|
"Jump to read receipt": "Jump to read receipt",
|
||||||
"Mention": "Mention",
|
"Mention": "Mention",
|
||||||
"Invite": "Invite",
|
"Invite": "Invite",
|
||||||
|
|
Loading…
Reference in a new issue