* Refine `SettingsSection` & `SettingsTab` * Add encryption tab * Add recovery section * Add device verification * Rename `Panel` into `State` * Update & add tests to user settings common * Add tests to `RecoveryPanel` * Add tests to `ChangeRecoveryKey` * Update CreateSecretStorageDialog-test snapshot * Add tests to `EncryptionUserSettingsTab` * Update existing screenshots of e2e tests * Add new encryption tab ownership to `@element-hq/element-crypto-web-reviewers` * Add e2e tests * Fix monospace font and add figma link to hardcoded value * Add unit to Icon * Improve e2e doc * Assert that the crypto module is defined * Add classname doc * Fix typo * Use `good` state instead of default * Rename `ChangeRecoveryKey.isSetupFlow` into `ChangeRecoveryKey.userHasKeyBackup` * Move `deleteCachedSecrets` fixture in `recovery.spec.ts` * Use one callback instead of two in `RecoveryPanel` * Fix docs and naming of `utils.createBot` * Fix typo in `RecoveryPanel` * Add more doc to the state of the `EncryptionUserSettingsTab` * Rename `verification_required` into `set_up_encryption` * Update test * ADd new license * Update comments and doc * Assert that `recoveryKey.encodedPrivateKey` is always defined * Add comments to explain how the secrets could be uncached * Use `matrixClient.secretStorage.getDefaultKeyId` instead of `matrixClient.getCrypto().checkKeyBackupAndEnable` to know if we need to set up a recovery key * Update existing screenshot to add encryption tab. * Update tests * Use new labels when changing the recovery key * Fix docs * Don't reset key backup when creating a recovery key * Fix doc
91 lines
1.9 KiB
Plaintext
91 lines
1.9 KiB
Plaintext
/*
|
|
Copyright 2019-2024 New Vector Ltd.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
.mx_SettingsTab {
|
|
--SettingsTab_tooltip-max-width: 120px; /* So it fits in the space provided by the page */
|
|
|
|
color: $primary-content;
|
|
|
|
a {
|
|
color: $links;
|
|
}
|
|
|
|
form:not(.mx_EncryptionUserSettingsTab form) {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: $spacing-8;
|
|
flex-grow: 1;
|
|
}
|
|
// never want full width buttons
|
|
// event when other content is 100% width
|
|
.mx_AccessibleButton {
|
|
align-self: flex-start;
|
|
justify-self: flex-start;
|
|
}
|
|
|
|
.mx_Field {
|
|
margin: 0;
|
|
flex: 1;
|
|
}
|
|
}
|
|
|
|
.mx_SettingsTab_warningText {
|
|
color: $alert;
|
|
}
|
|
|
|
.mx_SettingsTab_subsectionText {
|
|
color: $secondary-content;
|
|
font: var(--cpd-font-body-md-regular);
|
|
display: block;
|
|
margin-top: 10px;
|
|
margin-inline-end: 80px; /* Align with the rest of the view */
|
|
margin-bottom: 10px;
|
|
margin-inline-start: 0;
|
|
}
|
|
|
|
.mx_SettingsTab_section {
|
|
$end-gutter: 80px;
|
|
|
|
margin-bottom: $spacing-24;
|
|
|
|
.mx_SettingsFlag {
|
|
margin-inline-end: $end-gutter;
|
|
margin-bottom: 10px;
|
|
|
|
.mx_SettingsFlag_label {
|
|
vertical-align: middle;
|
|
display: inline-block;
|
|
max-width: calc(100% - $font-48px); /* Force word wrap instead of colliding with the switch */
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.mx_ToggleSwitch {
|
|
float: inline-end;
|
|
}
|
|
}
|
|
|
|
> p {
|
|
margin-inline-end: $end-gutter;
|
|
}
|
|
|
|
&.mx_SettingsTab_subsectionText .mx_SettingsFlag {
|
|
margin-inline-end: 0 !important;
|
|
}
|
|
}
|
|
|
|
.mx_SettingsTab_toggleWithDescription {
|
|
margin-top: $spacing-24;
|
|
}
|
|
|
|
.mx_SettingsTab_sections {
|
|
display: grid;
|
|
grid-template-columns: 1fr;
|
|
grid-gap: $spacing-32;
|
|
|
|
padding-bottom: $spacing-16;
|
|
}
|