Show both bootstrap and reset cross-signing where appropriate

For cases like having keys on your account but not on the current device, this
ensures we offer both bootstrap and reset as possible paths.
pull/21833/head
J. Ryan Stinnett 2020-02-25 11:23:51 +00:00
parent 866fdd6185
commit 12e8ad8f6b
1 changed files with 20 additions and 12 deletions

View File

@ -158,18 +158,27 @@ export default class CrossSigningPanel extends React.PureComponent {
)}</p>; )}</p>;
} }
let bootstrapButton; let resetButton;
if (enabledForAccount) { if (enabledForAccount) {
bootstrapButton = ( resetButton = (
<AccessibleButton kind="danger" onClick={this._destroySecureSecretStorage}> <div className="mx_CrossSigningPanel_buttonRow">
{_t("Reset cross-signing and secret storage")} <AccessibleButton kind="danger" onClick={this._destroySecureSecretStorage}>
</AccessibleButton> {_t("Reset cross-signing and secret storage")}
</AccessibleButton>
</div>
); );
} else if (!enabledForAccount && homeserverSupportsCrossSigning) { }
let bootstrapButton;
if (
(!enabledForAccount || !crossSigningPublicKeysOnDevice) &&
homeserverSupportsCrossSigning
) {
bootstrapButton = ( bootstrapButton = (
<AccessibleButton kind="primary" onClick={this._bootstrapSecureSecretStorage}> <div className="mx_CrossSigningPanel_buttonRow">
{_t("Bootstrap cross-signing and secret storage")} <AccessibleButton kind="primary" onClick={this._bootstrapSecureSecretStorage}>
</AccessibleButton> {_t("Bootstrap cross-signing and secret storage")}
</AccessibleButton>
</div>
); );
} }
@ -198,9 +207,8 @@ export default class CrossSigningPanel extends React.PureComponent {
</tbody></table> </tbody></table>
</details> </details>
{errorSection} {errorSection}
<div className="mx_CrossSigningPanel_buttonRow"> {bootstrapButton}
{bootstrapButton} {resetButton}
</div>
</div> </div>
); );
} }