Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Adjust recovery key button sizes depending on text width #7134

Merged
merged 1 commit into from
Nov 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions res/css/views/dialogs/security/_CreateSecretStorageDialog.scss
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,11 @@ limitations under the License.
.mx_CreateSecretStorageDialog_primaryContainer {
/* FIXME: plinth colour in new theme(s). background-color: $accent-color; */
padding-top: 20px;

&.mx_CreateSecretStorageDialog_recoveryKeyPrimarycontainer {
display: flex;
justify-content: center;
}
}

.mx_CreateSecretStorageDialog_primaryContainer::after {
Expand Down Expand Up @@ -127,9 +132,7 @@ limitations under the License.
}

.mx_CreateSecretStorageDialog_recoveryKeyContainer {
width: 380px;
margin-left: auto;
margin-right: auto;
display: inline-block;
}

.mx_CreateSecretStorageDialog_recoveryKey {
Expand All @@ -141,18 +144,29 @@ limitations under the License.
border-radius: 6px;
word-spacing: 1em;
margin-bottom: 20px;

code {
display: inline-block;
width: 30rem;
}
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons {
display: flex;
justify-content: space-between;
align-items: center;
display: flex;
gap: 16px;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons_copyBtn {
flex-direction: column;
}

.mx_CreateSecretStorageDialog_recoveryKeyCopyButtonText {
overflow-y: hidden;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons .mx_AccessibleButton {
width: 160px;
padding-left: 0px;
padding-right: 0px;
flex-grow: 1;
white-space: nowrap;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -714,12 +714,13 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
<InlineSpinner />
</div>;
}

return <div>
<p>{ _t(
"Store your Security Key somewhere safe, like a password manager or a safe, " +
"as it’s used to safeguard your encrypted data.",
) }</p>
<div className="mx_CreateSecretStorageDialog_primaryContainer">
<div className="mx_CreateSecretStorageDialog_primaryContainer mx_CreateSecretStorageDialog_recoveryKeyPrimarycontainer">
<div className="mx_CreateSecretStorageDialog_recoveryKeyContainer">
<div className="mx_CreateSecretStorageDialog_recoveryKey">
<code ref={this.recoveryKeyNode}>{ this.recoveryKey.encodedPrivateKey }</code>
Expand All @@ -739,7 +740,20 @@ export default class CreateSecretStorageDialog extends React.PureComponent<IProp
onClick={this.onCopyClick}
disabled={this.state.phase === Phase.Storing}
>
{ this.state.copied ? _t("Copied!") : _t("Copy") }
<span
className="mx_CreateSecretStorageDialog_recoveryKeyCopyButtonText"
style={{ height: this.state.copied ? '0' : 'auto' }}
aria-hidden={this.state.copied}
>
{ _t("Copy") }
</span>
<span
className="mx_CreateSecretStorageDialog_recoveryKeyCopyButtonText"
style={{ height: this.state.copied ? 'auto' : '0' }}
aria-hidden={!this.state.copied}
>
{ _t("Copied!") }
</span>
</AccessibleButton>
</div>
</div>
Expand Down