= ({ room, selected = [],
{_t("room_settings|security|join_rule_restricted_dialog_heading_other")}
-
{_t("room_settings|security|join_rule_restricted_dialog_heading_unknown")}
+
+ {_t("room_settings|security|join_rule_restricted_dialog_heading_unknown")}
{filteredOtherEntries.map((space) => {
return (
diff --git a/src/components/views/dialogs/RoomSettingsDialog.tsx b/src/components/views/dialogs/RoomSettingsDialog.tsx
index 7e7a26ed2d..9881d96cd7 100644
--- a/src/components/views/dialogs/RoomSettingsDialog.tsx
+++ b/src/components/views/dialogs/RoomSettingsDialog.tsx
@@ -10,6 +10,14 @@ Please see LICENSE files in the repository root for full details.
import React from "react";
import { RoomEvent, type Room, RoomStateEvent, type MatrixEvent, EventType } from "matrix-js-sdk/src/matrix";
+import {
+ AdminIcon,
+ GroupIcon,
+ LockSolidIcon,
+ PollsIcon,
+ SettingsSolidIcon,
+ VoiceCallSolidIcon,
+} from "@vector-im/compound-design-tokens/assets/web/icons";
import TabbedView, { Tab } from "../../structures/TabbedView";
import { _t, _td } from "../../../languageHandler";
@@ -31,6 +39,9 @@ import { type NonEmptyArray } from "../../../@types/common";
import { PollHistoryTab } from "../settings/tabs/room/PollHistoryTab";
import ErrorBoundary from "../elements/ErrorBoundary";
import { PeopleRoomSettingsTab } from "../settings/tabs/room/PeopleRoomSettingsTab";
+import { Icon as AdvancedIcon } from "../../../../res/img/element-icons/room/settings/advanced.svg";
+import { Icon as NotificationsIcon } from "../../../../res/img/element-icons/notifications.svg";
+import { Icon as BridgeIcon } from "../../../../res/img/feather-customised/bridge.svg";
export const enum RoomSettingsTab {
General = "ROOM_GENERAL_TAB",
@@ -129,7 +140,7 @@ class RoomSettingsDialog extends React.Component
{
new Tab(
RoomSettingsTab.General,
_td("common|general"),
- "mx_RoomSettingsDialog_settingsIcon",
+ ,
,
"RoomSettingsGeneral",
),
@@ -139,7 +150,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.People,
_td("common|people"),
- "mx_RoomSettingsDialog_peopleIcon",
+ ,
,
),
);
@@ -149,7 +160,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.Voip,
_td("settings|voip|title"),
- "mx_RoomSettingsDialog_voiceIcon",
+ ,
,
),
);
@@ -158,7 +169,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.Security,
_td("room_settings|security|title"),
- "mx_RoomSettingsDialog_securityIcon",
+ ,
this.props.onFinished(true)} />,
"RoomSettingsSecurityPrivacy",
),
@@ -167,7 +178,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.Roles,
_td("room_settings|permissions|title"),
- "mx_RoomSettingsDialog_rolesIcon",
+ ,
,
"RoomSettingsRolesPermissions",
),
@@ -176,7 +187,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.Notifications,
_td("notifications|enable_prompt_toast_title"),
- "mx_RoomSettingsDialog_notificationsIcon",
+ ,
this.props.onFinished(true)}
@@ -190,7 +201,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.Bridges,
_td("room_settings|bridges|title"),
- "mx_RoomSettingsDialog_bridgesIcon",
+ ,
,
"RoomSettingsBridges",
),
@@ -201,7 +212,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.PollHistory,
_td("right_panel|polls_button"),
- "mx_RoomSettingsDialog_pollsIcon",
+ ,
this.props.onFinished(true)} />,
),
);
@@ -211,7 +222,7 @@ class RoomSettingsDialog extends React.Component {
new Tab(
RoomSettingsTab.Advanced,
_td("common|advanced"),
- "mx_RoomSettingsDialog_warningIcon",
+ ,
this.props.onFinished(true)}
diff --git a/src/components/views/dialogs/SpacePreferencesDialog.tsx b/src/components/views/dialogs/SpacePreferencesDialog.tsx
index 3bb3416524..69fa897ec3 100644
--- a/src/components/views/dialogs/SpacePreferencesDialog.tsx
+++ b/src/components/views/dialogs/SpacePreferencesDialog.tsx
@@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details.
import React, { type ChangeEvent } from "react";
import { type Room } from "matrix-js-sdk/src/matrix";
+import { VisibilityOnIcon } from "@vector-im/compound-design-tokens/assets/web/icons";
import { _t, _td } from "../../../languageHandler";
import BaseDialog from "../dialogs/BaseDialog";
@@ -63,7 +64,7 @@ const SpacePreferencesDialog: React.FC = ({ space, onFinished }) => {
new Tab(
SpacePreferenceTab.Appearance,
_td("common|appearance"),
- "mx_SpacePreferencesDialog_appearanceIcon",
+ ,
,
),
];
diff --git a/src/components/views/dialogs/SpaceSettingsDialog.tsx b/src/components/views/dialogs/SpaceSettingsDialog.tsx
index 797622a271..336dee0c87 100644
--- a/src/components/views/dialogs/SpaceSettingsDialog.tsx
+++ b/src/components/views/dialogs/SpaceSettingsDialog.tsx
@@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details.
import React, { useMemo } from "react";
import { type Room, type MatrixClient } from "matrix-js-sdk/src/matrix";
+import { AdminIcon, SettingsSolidIcon, VisibilityOnIcon } from "@vector-im/compound-design-tokens/assets/web/icons";
import { _t, _td } from "../../../languageHandler";
import BaseDialog from "./BaseDialog";
@@ -22,6 +23,7 @@ import AdvancedRoomSettingsTab from "../settings/tabs/room/AdvancedRoomSettingsT
import RolesRoomSettingsTab from "../settings/tabs/room/RolesRoomSettingsTab";
import { Action } from "../../../dispatcher/actions";
import { type NonEmptyArray } from "../../../@types/common";
+import { Icon as AdvancedIcon } from "../../../../res/img/element-icons/room/settings/advanced.svg";
export enum SpaceSettingsTab {
General = "SPACE_GENERAL_TAB",
@@ -48,26 +50,26 @@ const SpaceSettingsDialog: React.FC = ({ matrixClient: cli, space, onFin
new Tab(
SpaceSettingsTab.General,
_td("common|general"),
- "mx_SpaceSettingsDialog_generalIcon",
+ ,
,
),
new Tab(
SpaceSettingsTab.Visibility,
_td("room_settings|visibility|title"),
- "mx_SpaceSettingsDialog_visibilityIcon",
+ ,
,
),
new Tab(
SpaceSettingsTab.Roles,
_td("room_settings|permissions|title"),
- "mx_RoomSettingsDialog_rolesIcon",
+ ,
,
),
SettingsStore.getValue(UIFeature.AdvancedSettings)
? new Tab(
SpaceSettingsTab.Advanced,
_td("common|advanced"),
- "mx_RoomSettingsDialog_warningIcon",
+ ,
,
)
: null,
diff --git a/src/components/views/elements/ExternalLink.tsx b/src/components/views/elements/ExternalLink.tsx
index 0e3856e132..7b6d2852ee 100644
--- a/src/components/views/elements/ExternalLink.tsx
+++ b/src/components/views/elements/ExternalLink.tsx
@@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details.
import React, { type DetailedHTMLProps, type AnchorHTMLAttributes } from "react";
import classNames from "classnames";
+import PopOutIcon from "@vector-im/compound-design-tokens/assets/web/icons/pop-out";
interface Props extends DetailedHTMLProps, HTMLAnchorElement> {}
@@ -17,7 +18,7 @@ interface Props extends DetailedHTMLProps = ({ children, className, ...rest }) => (
{children}
-
+
);
diff --git a/src/components/views/elements/JoinRuleDropdown.tsx b/src/components/views/elements/JoinRuleDropdown.tsx
index 860b87fa00..ac94112f2b 100644
--- a/src/components/views/elements/JoinRuleDropdown.tsx
+++ b/src/components/views/elements/JoinRuleDropdown.tsx
@@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details.
import React, { type ReactElement } from "react";
import { JoinRule } from "matrix-js-sdk/src/matrix";
+import { GroupIcon, LockSolidIcon, PublicIcon } from "@vector-im/compound-design-tokens/assets/web/icons";
import Dropdown from "./Dropdown";
import { type NonEmptyArray } from "../../../@types/common";
@@ -36,6 +37,7 @@ const JoinRuleDropdown: React.FC = ({
}) => {
const options = [
+
{labelInvite}
,
] as NonEmptyArray;
@@ -44,6 +46,7 @@ const JoinRuleDropdown: React.FC = ({
options.push(
(
) as ReactElement & { key: string },
@@ -65,6 +68,7 @@ const JoinRuleDropdown: React.FC = ({
options.unshift(
(
+
{labelRestricted}
) as ReactElement & { key: string },
diff --git a/src/components/views/rooms/ReplyPreview.tsx b/src/components/views/rooms/ReplyPreview.tsx
index db8f6f4a9e..13616b1fba 100644
--- a/src/components/views/rooms/ReplyPreview.tsx
+++ b/src/components/views/rooms/ReplyPreview.tsx
@@ -8,6 +8,7 @@ Please see LICENSE files in the repository root for full details.
import React, { type JSX } from "react";
import { type MatrixEvent } from "matrix-js-sdk/src/matrix";
+import { CloseIcon } from "@vector-im/compound-design-tokens/assets/web/icons";
import dis from "../../../dispatcher/dispatcher";
import { _t } from "../../../languageHandler";
@@ -44,7 +45,9 @@ export default class ReplyPreview extends React.Component {
cancelQuoting(this.context.timelineRenderingType)}
- />
+ >
+
+
diff --git a/test/unit-tests/__snapshots__/Terms-test.tsx.snap b/test/unit-tests/__snapshots__/Terms-test.tsx.snap
index 27354299dc..7c1bbaa5c0 100644
--- a/test/unit-tests/__snapshots__/Terms-test.tsx.snap
+++ b/test/unit-tests/__snapshots__/Terms-test.tsx.snap
@@ -74,9 +74,21 @@ exports[`dialogTermsInteractionCallback should render a dialog with the expected
target="_blank"
>
Terms
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
diff --git a/test/unit-tests/components/structures/TabbedView-test.tsx b/test/unit-tests/components/structures/TabbedView-test.tsx
index 38349e288a..ac1996ec95 100644
--- a/test/unit-tests/components/structures/TabbedView-test.tsx
+++ b/test/unit-tests/components/structures/TabbedView-test.tsx
@@ -8,15 +8,16 @@ Please see LICENSE files in the repository root for full details.
import React from "react";
import { act, fireEvent, render } from "jest-matrix-react";
+import { SettingsSolidIcon, VisibilityOnIcon, LabsIcon } from "@vector-im/compound-design-tokens/assets/web/icons";
import TabbedView, { Tab, TabLocation } from "../../../../src/components/structures/TabbedView";
import { type NonEmptyArray } from "../../../../src/@types/common";
import { _t } from "../../../../src/languageHandler";
describe(" ", () => {
- const generalTab = new Tab("GENERAL", "common|general", "general", general
);
- const labsTab = new Tab("LABS", "common|labs", "labs", labs
);
- const appearanceTab = new Tab("APPEARANCE", "common|appearance", "appearance", appearance
);
+ const generalTab = new Tab("GENERAL", "common|general", , general
);
+ const labsTab = new Tab("LABS", "common|labs", , labs
);
+ const appearanceTab = new Tab("APPEARANCE", "common|appearance", , appearance
);
const defaultProps = {
tabLocation: TabLocation.LEFT,
tabs: [generalTab, labsTab, appearanceTab] as NonEmptyArray>,
diff --git a/test/unit-tests/components/structures/__snapshots__/RoomStatusBar-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/RoomStatusBar-test.tsx.snap
index 6ff517c97d..78a5a19aed 100644
--- a/test/unit-tests/components/structures/__snapshots__/RoomStatusBar-test.tsx.snap
+++ b/test/unit-tests/components/structures/__snapshots__/RoomStatusBar-test.tsx.snap
@@ -33,9 +33,21 @@ exports[`RoomStatusBar unsent messages should render warning w
target="_blank"
>
our terms and conditions
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
.
@@ -50,10 +62,21 @@ exports[`RoomStatusBar unsent messages should render warning w
class="mx_RoomStatusBar_unsentButtonBar"
>
unsent messages should render warning w
role="button"
tabindex="0"
>
+
+
+
Retry all
@@ -106,10 +140,21 @@ exports[`RoomStatusBar unsent messages should render warning w
class="mx_RoomStatusBar_unsentButtonBar"
>
unsent messages should render warning w
role="button"
tabindex="0"
>
+
+
+
Retry all
diff --git a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
index ff0d232455..b7b3034415 100644
--- a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
+++ b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
@@ -218,10 +218,21 @@ exports[`RoomView for a local room in state ERROR should match the snapshot 1`]
class="mx_RoomStatusBar_unsentButtonBar"
>
diff --git a/test/unit-tests/components/structures/__snapshots__/SpaceHierarchy-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/SpaceHierarchy-test.tsx.snap
index 14143cccfa..fac0319a1a 100644
--- a/test/unit-tests/components/structures/__snapshots__/SpaceHierarchy-test.tsx.snap
+++ b/test/unit-tests/components/structures/__snapshots__/SpaceHierarchy-test.tsx.snap
@@ -17,7 +17,19 @@ exports[`SpaceHierarchy renders 1`] = `
class="mx_AccessibleButton mx_SearchBox_closeButton"
role="button"
tabindex="-1"
- />
+ >
+
+
+
+
should not render cycles 1`] = `
class="mx_AccessibleButton mx_SearchBox_closeButton"
role="button"
tabindex="-1"
- />
+ >
+
+
+
+
renders tabs 1`] = `
role="tab"
tabindex="0"
>
-
+
+
+
renders tabs 1`] = `
role="tab"
tabindex="-1"
>
-
+
+
+
+
+
renders tabs 1`] = `
role="tab"
tabindex="-1"
>
-
+
+
+
Learn more
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
@@ -245,9 +257,21 @@ exports[`CompleteSecurity Allows verifying with recovery key if one is available
target="_blank"
>
Learn more
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
diff --git a/test/unit-tests/components/views/dialogs/__snapshots__/CreateRoomDialog-test.tsx.snap b/test/unit-tests/components/views/dialogs/__snapshots__/CreateRoomDialog-test.tsx.snap
index cacad8d47d..d7e41df814 100644
--- a/test/unit-tests/components/views/dialogs/__snapshots__/CreateRoomDialog-test.tsx.snap
+++ b/test/unit-tests/components/views/dialogs/__snapshots__/CreateRoomDialog-test.tsx.snap
@@ -83,6 +83,17 @@ exports[` for a private room should create a private room 1`
+
+
+
Private room (invite only)
@@ -309,6 +320,17 @@ exports[` for a private room should render not the advanced
+
+
+
Private room (invite only)
diff --git a/test/unit-tests/components/views/dialogs/__snapshots__/FeedbackDialog-test.tsx.snap b/test/unit-tests/components/views/dialogs/__snapshots__/FeedbackDialog-test.tsx.snap
index aad267eeb2..dc954a45e7 100644
--- a/test/unit-tests/components/views/dialogs/__snapshots__/FeedbackDialog-test.tsx.snap
+++ b/test/unit-tests/components/views/dialogs/__snapshots__/FeedbackDialog-test.tsx.snap
@@ -45,9 +45,21 @@ exports[`FeedbackDialog should respect feedback config 1`] = `
target="_blank"
>
existing bugs on Github
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
first. No match?
Start a new one
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
.
diff --git a/test/unit-tests/components/views/dialogs/__snapshots__/ManageRestrictedJoinRuleDialog-test.tsx.snap b/test/unit-tests/components/views/dialogs/__snapshots__/ManageRestrictedJoinRuleDialog-test.tsx.snap
index 63495b949d..e8a7773166 100644
--- a/test/unit-tests/components/views/dialogs/__snapshots__/ManageRestrictedJoinRuleDialog-test.tsx.snap
+++ b/test/unit-tests/components/views/dialogs/__snapshots__/ManageRestrictedJoinRuleDialog-test.tsx.snap
@@ -48,7 +48,19 @@ exports[` should list spaces which are not par
class="mx_AccessibleButton mx_SearchBox_closeButton"
role="button"
tabindex="-1"
- />
+ >
+
+
+
+
should list spaces which are not par
+
+
+
You're removing all spaces. Access will default to invite only
should render empty state 1`] = `
class="mx_AccessibleButton mx_SearchBox_closeButton"
role="button"
tabindex="-1"
- />
+ >
+
+
+
+
should render empty state 1`] = `
+
+
+
You're removing all spaces. Access will default to invite only
-
+
+
+
-
+
+
+
-
+
+
+
-
+
-
+
+
+
should render dialog 1`] = `
target="_blank"
>
About homeservers
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
renders link correctly 1`] = `
children
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
`;
@@ -32,9 +44,21 @@ exports[` renders plain text link correctly 1`] = `
target="_blank"
>
test
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
`;
diff --git a/test/unit-tests/components/views/settings/__snapshots__/EventIndexPanel-test.tsx.snap b/test/unit-tests/components/views/settings/__snapshots__/EventIndexPanel-test.tsx.snap
index aab56e28f7..e26a581e6e 100644
--- a/test/unit-tests/components/views/settings/__snapshots__/EventIndexPanel-test.tsx.snap
+++ b/test/unit-tests/components/views/settings/__snapshots__/EventIndexPanel-test.tsx.snap
@@ -31,9 +31,21 @@ exports[` when event indexing is not supported renders link t
target="_blank"
>
Element Desktop
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
for encrypted messages to appear in search results.
@@ -55,9 +67,21 @@ exports[` when event indexing is supported but not installed
target="_blank"
>
search components added
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
.
diff --git a/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SecurityUserSettingsTab-test.tsx.snap b/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SecurityUserSettingsTab-test.tsx.snap
index 146277e9f2..2bf0bb846c 100644
--- a/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SecurityUserSettingsTab-test.tsx.snap
+++ b/test/unit-tests/components/views/settings/tabs/user/__snapshots__/SecurityUserSettingsTab-test.tsx.snap
@@ -145,9 +145,21 @@ exports[` renders security section 1`] = `
target="_blank"
>
Element Desktop
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
for encrypted messages to appear in search results.
diff --git a/test/unit-tests/components/views/spaces/__snapshots__/AddExistingToSpaceDialog-test.tsx.snap b/test/unit-tests/components/views/spaces/__snapshots__/AddExistingToSpaceDialog-test.tsx.snap
index 36ebccb871..0019095223 100644
--- a/test/unit-tests/components/views/spaces/__snapshots__/AddExistingToSpaceDialog-test.tsx.snap
+++ b/test/unit-tests/components/views/spaces/__snapshots__/AddExistingToSpaceDialog-test.tsx.snap
@@ -75,7 +75,19 @@ exports[`
looks as expected 1`] = `
class="mx_AccessibleButton mx_SearchBox_closeButton"
role="button"
tabindex="-1"
- />
+ >
+
+
+
+
homeserver's SSL certificate
-
+ fill="currentColor"
+ height="1em"
+ viewBox="0 0 24 24"
+ width="1em"
+ xmlns="http://www.w3.org/2000/svg"
+ >
+
+
+
is trusted, and that a browser extension is not blocking requests.