diff --git a/packages/shared-components/src/composer/Banner/Banner.tsx b/packages/shared-components/src/composer/Banner/Banner.tsx index 392b2a2610..86b23d829b 100644 --- a/packages/shared-components/src/composer/Banner/Banner.tsx +++ b/packages/shared-components/src/composer/Banner/Banner.tsx @@ -12,6 +12,7 @@ import React, { type ReactNode, type PropsWithChildren, useMemo, + HTMLAttributes, } from "react"; import { Button } from "@vector-im/compound-web"; import CheckCircleIcon from "@vector-im/compound-design-tokens/assets/web/icons/check-circle"; @@ -32,8 +33,6 @@ interface BannerProps { */ avatar?: React.ReactNode; - className?: string; - /** * Actions presented to the user in the right-hand side of the banner alongside the dismiss button. */ @@ -60,19 +59,19 @@ export function Banner({ actions, onClose, ...props -}: PropsWithChildren): ReactElement { +}: PropsWithChildren>): ReactElement { const classes = classNames(styles.banner, className); - const icon = useMemo(() => { + const icon = useMemo((): ReactElement => { switch (type) { case "critical": - return ; + return ; case "info": - return ; + return ; case "success": - return ; + return ; default: - return ; + return ; } }, [type, props]); diff --git a/packages/shared-components/src/room/RoomStatusBar/RoomStatusBarView.tsx b/packages/shared-components/src/room/RoomStatusBar/RoomStatusBarView.tsx index 28c76e1749..eefe25b68b 100644 --- a/packages/shared-components/src/room/RoomStatusBar/RoomStatusBarView.tsx +++ b/packages/shared-components/src/room/RoomStatusBar/RoomStatusBarView.tsx @@ -5,7 +5,7 @@ * Please see LICENSE files in the repository root for full details. */ -import React, { useCallback, type JSX } from "react"; +import React, { useCallback, useId, type JSX } from "react"; import styles from "./RoomStatusBarView.module.css"; import { useViewModel } from "../../useViewModel"; @@ -85,6 +85,7 @@ interface RoomStatusBarViewProps { export function RoomStatusBarView({ vm }: Readonly): JSX.Element { const { translate: _t } = useI18n(); const { state } = useViewModel(vm); + const bannerTitleId = useId(); const deleteAllClick = useCallback>( (ev) => { @@ -117,9 +118,9 @@ export function RoomStatusBarView({ vm }: Readonly): JSX if ("connectionLost" in state) { return ( - +
- {_t("room|status_bar|server_connectivity_lost_title")} + {_t("room|status_bar|server_connectivity_lost_title")} {_t("room|status_bar|server_connectivity_lost_description")} @@ -132,6 +133,8 @@ export function RoomStatusBarView({ vm }: Readonly): JSX return ( ): JSX target="_blank" rel="noreferrer noopener" > - View Terms and Conditions + {_t("terms|tac_button")} } >
- {_t("room|status_bar|requires_consent_agreement_title")} + {_t("room|status_bar|requires_consent_agreement_title")}
); @@ -162,6 +165,8 @@ export function RoomStatusBarView({ vm }: Readonly): JSX return ( ): JSX } >
- {title} + {title} {_t("room|status_bar|exceeded_resource_limit_description")} @@ -190,7 +195,9 @@ export function RoomStatusBarView({ vm }: Readonly): JSX if ("isRetryingRoomCreation" in state) { return ( ): JSX } > - {_t("room|status_bar|failed_to_create_room_title")} + {_t("room|status_bar|failed_to_create_room_title")} ); } @@ -240,9 +247,9 @@ export function RoomStatusBarView({ vm }: Readonly): JSX ); return ( - +
- {_t("room|status_bar|some_messages_not_sent")} + {_t("room|status_bar|some_messages_not_sent")} {_t("room|status_bar|select_messages_to_retry")}