From f7083ac332ff3e45f1ad917b6c42930f57bca2f6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 19 Aug 2019 18:09:37 +0100 Subject: [PATCH] Clarify that device names are publicly visible And also a bunch of other UI fixes in the devices table: * It's the devices table, don't need 'device' in all the headers * Not really necessary to label checkboxes with 'select' * Stop table from moving down when the delete button appears Fixes https://github.com/vector-im/riot-web/issues/10216 --- res/css/views/settings/_DevicesPanel.scss | 5 +++++ src/components/views/settings/DevicesPanel.js | 10 +++++----- .../settings/tabs/user/SecurityUserSettingsTab.js | 1 + src/i18n/strings/en_EN.json | 7 ++++--- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/res/css/views/settings/_DevicesPanel.scss b/res/css/views/settings/_DevicesPanel.scss index 4113fc4ebcc..581ff47fc1c 100644 --- a/res/css/views/settings/_DevicesPanel.scss +++ b/res/css/views/settings/_DevicesPanel.scss @@ -26,8 +26,13 @@ limitations under the License. font-weight: bold; } +.mx_DevicesPanel_header > .mx_DevicesPanel_deviceButtons { + height: 48px; // make this tall so the table doesn't move down when the delete button appears +} + .mx_DevicesPanel_header > div { display: table-cell; + vertical-align: bottom; } .mx_DevicesPanel_header .mx_DevicesPanel_deviceLastSeen { diff --git a/src/components/views/settings/DevicesPanel.js b/src/components/views/settings/DevicesPanel.js index 1f502fac2f0..30f507ea183 100644 --- a/src/components/views/settings/DevicesPanel.js +++ b/src/components/views/settings/DevicesPanel.js @@ -1,5 +1,6 @@ /* Copyright 2016 OpenMarket Ltd +Copyright 2019 The Matrix.org Foundation C.I.C. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -186,7 +187,7 @@ export default class DevicesPanel extends React.Component { const deleteButton = this.state.deleting ? : - + { _t("Delete %(count)s devices", {count: this.state.selectedDevices.length}) } ; @@ -194,11 +195,11 @@ export default class DevicesPanel extends React.Component { return (
-
{ _t("Device ID") }
-
{ _t("Device Name") }
+
{ _t("ID") }
+
{ _t("Public Name") }
{ _t("Last seen") }
- { this.state.selectedDevices.length > 0 ? deleteButton : _t('Select devices') } + { this.state.selectedDevices.length > 0 ? deleteButton : null }
{ devices.map(this._renderDevice) } @@ -207,7 +208,6 @@ export default class DevicesPanel extends React.Component { } } -DevicesPanel.displayName = 'MemberDeviceInfo'; DevicesPanel.propTypes = { className: PropTypes.string, }; diff --git a/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js b/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js index c18f5bda536..e619791b014 100644 --- a/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js +++ b/src/components/views/settings/tabs/user/SecurityUserSettingsTab.js @@ -258,6 +258,7 @@ export default class SecurityUserSettingsTab extends React.Component {
{_t("Devices")}
+ {_t("A device's public name is visible to people you communicate with")}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index b93d1e1ee26..0c2e018c773 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -476,10 +476,9 @@ "Authentication": "Authentication", "Delete %(count)s devices|other": "Delete %(count)s devices", "Delete %(count)s devices|one": "Delete device", - "Device ID": "Device ID", - "Device Name": "Device Name", + "ID": "ID", + "Public Name": "Public Name", "Last seen": "Last seen", - "Select devices": "Select devices", "Failed to set display name": "Failed to set display name", "Disable Notifications": "Disable Notifications", "Enable Notifications": "Enable Notifications", @@ -628,6 +627,7 @@ "Key backup": "Key backup", "Security & Privacy": "Security & Privacy", "Devices": "Devices", + "A device's public name is visible to people you communicate with": "A device'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.", "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.", "Learn more about how we use analytics.": "Learn more about how we use analytics.", @@ -1211,6 +1211,7 @@ "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:": "To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:", "Use two-way text verification": "Use two-way text verification", "Device name": "Device name", + "Device ID": "Device ID", "Device key": "Device key", "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.": "If it matches, press the verify button below. If it doesn't, then someone else is intercepting this device and you probably want to press the blacklist button instead.", "I verify that the keys match": "I verify that the keys match",