diff --git a/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/change-key-2-encryption-tab-linux.png b/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/change-key-2-encryption-tab-linux.png index ec0207a227..a9f601e822 100644 Binary files a/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/change-key-2-encryption-tab-linux.png and b/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/change-key-2-encryption-tab-linux.png differ diff --git a/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/set-up-key-3-encryption-tab-linux.png b/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/set-up-key-3-encryption-tab-linux.png index cb0bc78e00..526797f712 100644 Binary files a/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/set-up-key-3-encryption-tab-linux.png and b/playwright/snapshots/settings/encryption-user-tab/recovery.spec.ts/set-up-key-3-encryption-tab-linux.png differ diff --git a/res/css/views/settings/encryption/_ChangeRecoveryKey.pcss b/res/css/views/settings/encryption/_ChangeRecoveryKey.pcss index ceacb22c27..872decadc8 100644 --- a/res/css/views/settings/encryption/_ChangeRecoveryKey.pcss +++ b/res/css/views/settings/encryption/_ChangeRecoveryKey.pcss @@ -68,5 +68,28 @@ display: flex; flex-direction: column; gap: var(--cpd-space-8x); + + .mx_KeyForm_password { + > input[name="recoveryKey"] { + /* + * From figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77506&t=d82NdRBDoKsUe1C9-4 + */ + height: 70px; + padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-4x); + border: var(--cpd-border-width-1) solid; + border-radius: 8px; + margin: 0px; + } + + > button { + /* + * See figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77506&t=d82NdRBDoKsUe1C9-4 + * Avoid stretching the hide/show symbol to the height of the input, and centre it vertically. + */ + height: 24.5px; + padding: var(--cpd-space-1x); + align-self: center; + } + } } } diff --git a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx index b096708947..3eb9875df6 100644 --- a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx +++ b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx @@ -13,9 +13,9 @@ import { Field, IconButton, Label, + PasswordControl, Root, Text, - TextControl, } from "@vector-im/compound-web"; import CopyIcon from "@vector-im/compound-design-tokens/assets/web/icons/copy"; import KeyIcon from "@vector-im/compound-design-tokens/assets/web/icons/key-solid"; @@ -350,7 +350,11 @@ function KeyForm({ onCancelClick, onSubmit, recoveryKey, submitButtonLabel }: Ke - + {isKeyInvalidAndFilled && ( {_t("settings|encryption|recovery|enter_key_error")} )} diff --git a/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx b/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx index 3286e943b4..a058c6c887 100644 --- a/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx +++ b/test/unit-tests/components/views/settings/encryption/ChangeRecoveryKey-test.tsx @@ -96,7 +96,7 @@ describe("", () => { const finishButton = screen.getByRole("button", { name: "Finish set up" }); expect(finishButton).toHaveAttribute("aria-disabled", "true"); - const input = screen.getByRole("textbox"); + const input = screen.getByTitle("Enter recovery key"); // If the user enters an incorrect recovery key, the finish button should be disabled // and we display an error message await userEvent.type(input, "wrong recovery key"); @@ -130,7 +130,7 @@ describe("", () => { await waitFor(() => expect(screen.getByText("Enter your recovery key to confirm")).toBeInTheDocument()); const finishButton = screen.getByRole("button", { name: "Finish set up" }); - const input = screen.getByRole("textbox"); + const input = screen.getByTitle("Enter recovery key"); await userEvent.type(input, "encoded private key"); await user.click(finishButton); diff --git a/test/unit-tests/components/views/settings/encryption/__snapshots__/ChangeRecoveryKey-test.tsx.snap b/test/unit-tests/components/views/settings/encryption/__snapshots__/ChangeRecoveryKey-test.tsx.snap index 6330a01c05..f732184548 100644 --- a/test/unit-tests/components/views/settings/encryption/__snapshots__/ChangeRecoveryKey-test.tsx.snap +++ b/test/unit-tests/components/views/settings/encryption/__snapshots__/ChangeRecoveryKey-test.tsx.snap @@ -260,13 +260,38 @@ exports[` flow to set up a recovery key should ask the user > Enter recovery key - +
+ + +
flow to set up a recovery key should ask the user > Enter recovery key - +
+ + +