diff --git a/src/components/views/settings/CrossSigningPanel.js b/src/components/views/settings/CrossSigningPanel.js
index f3a7a62e8f..06c4783c4a 100644
--- a/src/components/views/settings/CrossSigningPanel.js
+++ b/src/components/views/settings/CrossSigningPanel.js
@@ -102,28 +102,59 @@ export default class CrossSigningPanel extends React.PureComponent {
errorSection =
{error.toString()}
;
}
+ const enabled = (
+ crossSigningPublicKeysOnDevice &&
+ crossSigningPrivateKeysInStorage &&
+ secretStorageKeyInAccount
+ );
+
+ let summarisedStatus;
+ if (enabled) {
+ summarisedStatus = ✅ {_t(
+ "Cross-signing and secret storage are enabled.",
+ )}
;
+ } else if (crossSigningPrivateKeysInStorage) {
+ summarisedStatus = {_t(
+ "Your account has a cross-signing identity in secret storage, but it " +
+ "is not yet trusted by this device.",
+ )}
;
+ } else {
+ summarisedStatus = {_t(
+ "Cross-signing and secret storage are not yet set up.",
+ )}
;
+ }
+
+ let bootstrapButton;
+ if (!enabled) {
+ bootstrapButton =
+
+ {_t("Bootstrap cross-signing and secret storage")}
+
+
;
+ }
+
return (
-
-
- | {_t("Cross-signing public keys:")} |
- {crossSigningPublicKeysOnDevice ? _t("on device") : _t("not found")} |
-
-
- | {_t("Cross-signing private keys:")} |
- {crossSigningPrivateKeysInStorage ? _t("in secret storage") : _t("not found")} |
-
-
- | {_t("Secret storage public key:")} |
- {secretStorageKeyInAccount ? _t("in account data") : _t("not found")} |
-
-
-
-
- {_t("Bootstrap Secure Secret Storage")}
-
-
+ {summarisedStatus}
+
+ {_t("Advanced")}
+
+
+ | {_t("Cross-signing public keys:")} |
+ {crossSigningPublicKeysOnDevice ? _t("on device") : _t("not found")} |
+
+
+ | {_t("Cross-signing private keys:")} |
+ {crossSigningPrivateKeysInStorage ? _t("in secret storage") : _t("not found")} |
+
+
+ | {_t("Secret storage public key:")} |
+ {secretStorageKeyInAccount ? _t("in account data") : _t("not found")} |
+
+
+
{errorSection}
+ {bootstrapButton}
);
}
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index a12f98ebb5..f44d3d7b67 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -496,6 +496,10 @@
"New Password": "New Password",
"Confirm password": "Confirm password",
"Change Password": "Change Password",
+ "Cross-signing and secret storage are enabled.": "Cross-signing and secret storage are enabled.",
+ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.": "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this device.",
+ "Cross-signing and secret storage are not yet set up.": "Cross-signing and secret storage are not yet set up.",
+ "Bootstrap cross-signing and secret storage": "Bootstrap cross-signing and secret storage",
"Cross-signing public keys:": "Cross-signing public keys:",
"on device": "on device",
"not found": "not found",
@@ -503,7 +507,6 @@
"in secret storage": "in secret storage",
"Secret storage public key:": "Secret storage public key:",
"in account data": "in account data",
- "Bootstrap Secure Secret Storage": "Bootstrap Secure Secret Storage",
"Your homeserver does not support device management.": "Your homeserver does not support device management.",
"Unable to load device list": "Unable to load device list",
"Authentication": "Authentication",