diff --git a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx index 6ed109ebb2..ad8d644174 100644 --- a/src/components/views/settings/encryption/ChangeRecoveryKey.tsx +++ b/src/components/views/settings/encryption/ChangeRecoveryKey.tsx @@ -18,6 +18,7 @@ import { 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"; import { logger } from "matrix-js-sdk/src/logger"; import { _t } from "../../../../languageHandler"; @@ -132,7 +133,12 @@ export function ChangeRecoveryKey({ pages={pages} onPageClick={onCancelClick} /> - + {content} diff --git a/src/components/views/settings/encryption/EncryptionCard.tsx b/src/components/views/settings/encryption/EncryptionCard.tsx index 8a10802cc3..6f9ddd651a 100644 --- a/src/components/views/settings/encryption/EncryptionCard.tsx +++ b/src/components/views/settings/encryption/EncryptionCard.tsx @@ -5,9 +5,8 @@ * Please see LICENSE files in the repository root for full details. */ -import React, { JSX, PropsWithChildren } from "react"; +import React, { JSX, PropsWithChildren, ComponentType, SVGAttributes } from "react"; import { BigIcon, Heading } from "@vector-im/compound-web"; -import KeyIcon from "@vector-im/compound-design-tokens/assets/web/icons/key-solid"; import classNames from "classnames"; interface EncryptionCardProps { @@ -22,7 +21,15 @@ interface EncryptionCardProps { /** * The description of the card. */ - description: string; + description?: string; + /** + * Whether this icon shows a destructive action. + */ + destructive?: boolean; + /** + * The icon to display. + */ + Icon: ComponentType>; } /** @@ -32,18 +39,20 @@ export function EncryptionCard({ title, description, className, + destructive = false, + Icon, children, }: PropsWithChildren): JSX.Element { return (
- - + + {title} - {description} + {description && {description}}
{children}
diff --git a/test/unit-tests/components/views/settings/encryption/EncryptionCard-test.tsx b/test/unit-tests/components/views/settings/encryption/EncryptionCard-test.tsx index d51fcb840b..e6d9618a43 100644 --- a/test/unit-tests/components/views/settings/encryption/EncryptionCard-test.tsx +++ b/test/unit-tests/components/views/settings/encryption/EncryptionCard-test.tsx @@ -7,13 +7,14 @@ import React from "react"; import { render } from "jest-matrix-react"; +import KeyIcon from "@vector-im/compound-design-tokens/assets/web/icons/key-solid"; import { EncryptionCard } from "../../../../../../src/components/views/settings/encryption/EncryptionCard"; describe("", () => { it("should render", () => { const { asFragment } = render( - + Encryption card children , );