diff --git a/package.json b/package.json
index f0ba0fa7..33395b98 100644
--- a/package.json
+++ b/package.json
@@ -48,7 +48,7 @@
"@sentry/tracing": "^6.13.3",
"@use-gesture/react": "^10.2.11",
"@vector-im/compound-design-tokens": "^0.0.5",
- "@vector-im/compound-web": "^0.2.15",
+ "@vector-im/compound-web": "^0.4.0",
"@vitejs/plugin-basic-ssl": "^1.0.1",
"@vitejs/plugin-react": "^4.0.1",
"classnames": "^2.3.1",
diff --git a/public/locales/en-GB/app.json b/public/locales/en-GB/app.json
index 6fe6020f..c3899a65 100644
--- a/public/locales/en-GB/app.json
+++ b/public/locales/en-GB/app.json
@@ -1,8 +1,11 @@
{
- "{{count}} stars|one": "{{count}} star",
+ "{{count, number}}|one": "{{count, number}}",
+ "{{count, number}}|other": "{{count, number}}",
+ "{{count}} stars|one": "{{count}} stars",
"{{count}} stars|other": "{{count}} stars",
"{{displayName}} is presenting": "{{displayName}} is presenting",
"{{displayName}}, your call has ended.": "{{displayName}}, your call has ended.",
+ "{{names, list(style: short;)}}": "{{names, list(style: short;)}}",
"<0>0><1>1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0>0><1>1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.",
"<0>Already have an account?0><1><0>Log in0> Or <2>Access as a guest2>1>": "<0>Already have an account?0><1><0>Log in0> Or <2>Access as a guest2>1>",
"<0>Create an account0> Or <2>Access as a guest2>": "<0>Create an account0> Or <2>Access as a guest2>",
@@ -21,7 +24,6 @@
"Call link copied": "Call link copied",
"Call type menu": "Call type menu",
"Camera": "Camera",
- "Change layout": "Change layout",
"Close": "Close",
"Confirm password": "Confirm password",
"Connectivity to the server has been lost.": "Connectivity to the server has been lost.",
@@ -38,22 +40,20 @@
"Element Call Home": "Element Call Home",
"Element Call is temporarily not end-to-end encrypted while we test scalability.": "Element Call is temporarily not end-to-end encrypted while we test scalability.",
"Enable end-to-end encryption (password protected calls)": "Enable end-to-end encryption (password protected calls)",
+ "Encrypted": "Encrypted",
"End call": "End call",
"End-to-end encryption isn't supported on your browser.": "End-to-end encryption isn't supported on your browser.",
"Exit full screen": "Exit full screen",
"Expose developer settings in the settings window.": "Expose developer settings in the settings window.",
"Feedback": "Feedback",
- "Freedom": "Freedom",
"Full screen": "Full screen",
"Go": "Go",
- "Grid layout menu": "Grid layout menu",
+ "Grid": "Grid",
"Home": "Home",
"How did it go?": "How did it go?",
"If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.",
"Include debug logs": "Include debug logs",
"Inspector": "Inspector",
- "Invite": "Invite",
- "Invite people": "Invite people",
"Join call": "Join call",
"Join call now": "Join call now",
"Join existing call?": "Join existing call?",
@@ -67,6 +67,7 @@
"Microphone on": "Microphone on",
"More": "More",
"No": "No",
+ "Not encrypted": "Not encrypted",
"Not now, return to home screen": "Not now, return to home screen",
"Not registered yet? <2>Create an account2>": "Not registered yet? <2>Create an account2>",
"Password": "Password",
@@ -85,7 +86,9 @@
"Sending debug logs…": "Sending debug logs…",
"Sending…": "Sending…",
"Settings": "Settings",
+ "Share": "Share",
"Share screen": "Share screen",
+ "Share this call": "Share this call",
"Sharing screen": "Sharing screen",
"Show call inspector": "Show call inspector",
"Show connection stats": "Show connection stats",
@@ -100,7 +103,6 @@
"Thanks, we received your feedback!": "Thanks, we received your feedback!",
"Thanks!": "Thanks!",
"This call already exists, would you like to join?": "This call already exists, would you like to join?",
- "This call is not end-to-end encrypted.": "This call is not end-to-end encrypted.",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy2> and <6>Terms of Service6> apply.<9>9>By clicking \"Register\", you agree to our <12>End User Licensing Agreement (EULA)12>": "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy2> and <6>Terms of Service6> apply.<9>9>By clicking \"Register\", you agree to our <12>End User Licensing Agreement (EULA)12>",
"User menu": "User menu",
"Username": "Username",
diff --git a/src/E2EELock.tsx b/src/E2EELock.tsx
deleted file mode 100644
index 9a9a55e9..00000000
--- a/src/E2EELock.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Copyright 2023 New Vector Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-import { useTranslation } from "react-i18next";
-import { useCallback } from "react";
-import { useObjectRef } from "@react-aria/utils";
-import { useButton } from "@react-aria/button";
-
-import styles from "./E2EELock.module.css";
-import { ReactComponent as LockOffIcon } from "./icons/LockOff.svg";
-import { TooltipTrigger } from "./Tooltip";
-
-export const E2EELock = () => {
- const { t } = useTranslation();
- const tooltip = useCallback(
- () => t("This call is not end-to-end encrypted."),
- [t]
- );
-
- return (
-
-
-
- );
-};
-
-/**
- * This component is a bit of hack - for some reason for the TooltipTrigger to
- * work, it needs to contain a component which uses the useButton hook; please
- * note that for some reason this also needs to be a separate component and we
- * cannot just use the useButton hook inside the E2EELock.
- */
-const Icon = () => {
- const buttonRef = useObjectRef();
- const { buttonProps } = useButton({}, buttonRef);
-
- return (
-