From 6b360337a372fb290a3fcaa3586e2c06bbd7420b Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 21 Dec 2023 09:55:40 +0000 Subject: [PATCH 01/30] Avoid using AccessibleTooltipButton with no tooltip Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/toasts/IncomingCallToast.tsx | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/toasts/IncomingCallToast.tsx b/src/toasts/IncomingCallToast.tsx index 1bd8dad4cc2..a87c364f95e 100644 --- a/src/toasts/IncomingCallToast.tsx +++ b/src/toasts/IncomingCallToast.tsx @@ -35,7 +35,7 @@ import { LiveContentType, } from "../components/views/rooms/LiveContentSummary"; import { useCall, useJoinCallButtonDisabledTooltip } from "../hooks/useCall"; -import { ButtonEvent } from "../components/views/elements/AccessibleButton"; +import AccessibleButton, { ButtonEvent } from "../components/views/elements/AccessibleButton"; import { useDispatcher } from "../hooks/useDispatcher"; import { ActionPayload } from "../dispatcher/payloads"; import { Call } from "../models/Call"; @@ -178,13 +178,9 @@ export function IncomingCallToast({ notifyEvent }: Props): JSX.Element { {call ? ( ) : ( - + {_t("action|join")} - + )} Date: Thu, 21 Dec 2023 10:34:06 +0000 Subject: [PATCH 02/30] Switch AccessibleTooltipButton to using Compound Tooltips Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../rooms/_MessageComposerFormatBar.pcss | 5 -- res/css/views/rooms/_RoomBreadcrumbs.pcss | 5 -- .../components/_FormattingButtons.pcss | 17 ------- src/components/structures/SpaceHierarchy.tsx | 8 +-- .../auth/InteractiveAuthEntryComponents.tsx | 3 +- src/components/views/beta/BetaCard.tsx | 9 +--- .../views/dialogs/ForwardDialog.tsx | 13 +++-- .../elements/AccessibleTooltipButton.tsx | 49 +++++++------------ src/components/views/messages/CallEvent.tsx | 2 +- .../views/messages/MessageActionBar.tsx | 23 +-------- src/components/views/messages/TextualBody.tsx | 11 +---- src/components/views/pips/WidgetPip.tsx | 8 +-- .../views/right_panel/HeaderButton.tsx | 3 +- .../views/rooms/LegacyRoomHeader.tsx | 24 +++++---- .../views/rooms/MessageComposerFormatBar.tsx | 12 +---- .../views/rooms/RoomBreadcrumbs.tsx | 1 - .../components/FormattingButtons.tsx | 41 ++++++---------- src/components/views/spaces/SpacePanel.tsx | 21 +++----- src/components/views/voip/CallView.tsx | 7 ++- .../LegacyCallView/LegacyCallViewButtons.tsx | 14 ++---- src/i18n/strings/en_EN.json | 1 - src/toasts/IncomingCallToast.tsx | 2 +- 22 files changed, 78 insertions(+), 201 deletions(-) diff --git a/res/css/views/rooms/_MessageComposerFormatBar.pcss b/res/css/views/rooms/_MessageComposerFormatBar.pcss index 182e03fed07..3d4af9f8140 100644 --- a/res/css/views/rooms/_MessageComposerFormatBar.pcss +++ b/res/css/views/rooms/_MessageComposerFormatBar.pcss @@ -102,9 +102,4 @@ limitations under the License. font-weight: var(--cpd-font-weight-semibold); min-width: 54px; text-align: center; - - .mx_MessageComposerFormatBar_tooltipShortcut { - font-size: $font-9px; - opacity: 0.7; - } } diff --git a/res/css/views/rooms/_RoomBreadcrumbs.pcss b/res/css/views/rooms/_RoomBreadcrumbs.pcss index f502c3f4709..73c4b274329 100644 --- a/res/css/views/rooms/_RoomBreadcrumbs.pcss +++ b/res/css/views/rooms/_RoomBreadcrumbs.pcss @@ -49,8 +49,3 @@ limitations under the License. height: 32px; } } - -.mx_RoomBreadcrumbs_Tooltip { - margin-left: -42px; - margin-top: -42px; -} diff --git a/res/css/views/rooms/wysiwyg_composer/components/_FormattingButtons.pcss b/res/css/views/rooms/wysiwyg_composer/components/_FormattingButtons.pcss index 8f23227c803..79cc32d23eb 100644 --- a/res/css/views/rooms/wysiwyg_composer/components/_FormattingButtons.pcss +++ b/res/css/views/rooms/wysiwyg_composer/components/_FormattingButtons.pcss @@ -63,20 +63,3 @@ limitations under the License. color: $tertiary-content; } } - -.mx_FormattingButtons_Tooltip { - padding: 0 2px 0 2px; - - .mx_FormattingButtons_Tooltip_KeyboardShortcut { - color: $tertiary-content; - - kbd { - margin-top: 2px; - text-align: center; - display: inline-block; - text-transform: capitalize; - font-size: 12px; - font-family: Inter, sans-serif; - } - } -} diff --git a/src/components/structures/SpaceHierarchy.tsx b/src/components/structures/SpaceHierarchy.tsx index feeacb45818..48d50a2cbe1 100644 --- a/src/components/structures/SpaceHierarchy.tsx +++ b/src/components/structures/SpaceHierarchy.tsx @@ -16,6 +16,7 @@ limitations under the License. import React, { ComponentProps, + ComponentType, Dispatch, KeyboardEvent, KeyboardEventHandler, @@ -73,7 +74,6 @@ import { ViewRoomPayload } from "../../dispatcher/payloads/ViewRoomPayload"; import { JoinRoomReadyPayload } from "../../dispatcher/payloads/JoinRoomReadyPayload"; import { KeyBindingAction } from "../../accessibility/KeyboardShortcuts"; import { getKeyBindingsManager } from "../../KeyBindingsManager"; -import { Alignment } from "../views/elements/Tooltip"; import { getTopic } from "../../hooks/room/useTopic"; import { SdkContextClass } from "../../contexts/SDKContext"; import { getDisplayAliasForAliasSet } from "../../Rooms"; @@ -664,13 +664,13 @@ const ManageButtons: React.FC = ({ hierarchy, selected, set const disabled = !selectedRelations.length || removing || saving; - let Button: React.ComponentType> = AccessibleButton; + let Button: ComponentType> = AccessibleButton; let props: Partial> = {}; if (!selectedRelations.length) { Button = AccessibleTooltipButton; props = { - tooltip: _t("space|select_room_below"), - alignment: Alignment.Top, + title: _t("space|select_room_below"), + side: "top", }; } diff --git a/src/components/views/auth/InteractiveAuthEntryComponents.tsx b/src/components/views/auth/InteractiveAuthEntryComponents.tsx index 0a7ed19b2ab..a5d322a9119 100644 --- a/src/components/views/auth/InteractiveAuthEntryComponents.tsx +++ b/src/components/views/auth/InteractiveAuthEntryComponents.tsx @@ -29,7 +29,6 @@ import AccessibleButton, { AccessibleButtonKind, ButtonEvent } from "../elements import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import Field from "../elements/Field"; import Spinner from "../elements/Spinner"; -import { Alignment } from "../elements/Tooltip"; import CaptchaForm from "./CaptchaForm"; /* This file contains a collection of components which are used by the @@ -509,7 +508,7 @@ export class EmailIdentityAuthEntry extends React.Component< title={ this.state.requested ? _t("auth|uia|email_resent") : _t("action|resend") } - alignment={Alignment.Right} + side="right" onHideTooltip={ this.state.requested ? () => this.setState({ requested: false }) diff --git a/src/components/views/beta/BetaCard.tsx b/src/components/views/beta/BetaCard.tsx index 84c7a27fe0f..2921f3c986d 100644 --- a/src/components/views/beta/BetaCard.tsx +++ b/src/components/views/beta/BetaCard.tsx @@ -52,13 +52,8 @@ export const BetaPill: React.FC = ({ return ( -
{tooltipTitle}
-
{tooltipCaption}
- - } + title={tooltipTitle} + caption={tooltipCaption} onClick={onClick} > {_t("common|beta")} diff --git a/src/components/views/dialogs/ForwardDialog.tsx b/src/components/views/dialogs/ForwardDialog.tsx index a21acd7b717..2a310f273fe 100644 --- a/src/components/views/dialogs/ForwardDialog.tsx +++ b/src/components/views/dialogs/ForwardDialog.tsx @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -import React, { useEffect, useMemo, useState } from "react"; +import React, { ReactNode, useEffect, useMemo, useState } from "react"; import classnames from "classnames"; import { IContent, @@ -39,7 +39,6 @@ import { avatarUrlForUser } from "../../../Avatar"; import EventTile from "../rooms/EventTile"; import SearchBox from "../../structures/SearchBox"; import DecoratedRoomAvatar from "../avatars/DecoratedRoomAvatar"; -import { Alignment } from "../elements/Tooltip"; import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import AutoHideScrollbar from "../../structures/AutoHideScrollbar"; import { StaticNotificationState } from "../../../stores/notifications/StaticNotificationState"; @@ -107,10 +106,10 @@ const Entry: React.FC = ({ room, type, content, matrixClient: cli, } }; - let className; + let className: string; let disabled = false; - let title; - let icon; + let title: string | undefined; + let icon: ReactNode | undefined; if (sendState === SendState.CanSend) { className = "mx_ForwardList_canSend"; if (!room.maySendMessage()) { @@ -140,7 +139,7 @@ const Entry: React.FC = ({ room, type, content, matrixClient: cli, className="mx_ForwardList_roomButton" onClick={jumpToRoom} title={_t("forward|open_room")} - alignment={Alignment.Top} + side="top" > {room.name} @@ -152,7 +151,7 @@ const Entry: React.FC = ({ room, type, content, matrixClient: cli, onClick={send} disabled={disabled} title={title} - alignment={Alignment.Top} + side="top" >
{_t("forward|send_label")}
{icon} diff --git a/src/components/views/elements/AccessibleTooltipButton.tsx b/src/components/views/elements/AccessibleTooltipButton.tsx index 0af5cc9625f..4efc99d2a47 100644 --- a/src/components/views/elements/AccessibleTooltipButton.tsx +++ b/src/components/views/elements/AccessibleTooltipButton.tsx @@ -16,9 +16,9 @@ limitations under the License. */ import React, { SyntheticEvent, FocusEvent, forwardRef, useEffect, Ref, useState, ComponentProps } from "react"; +import { Tooltip } from "@vector-im/compound-web"; import AccessibleButton from "./AccessibleButton"; -import Tooltip, { Alignment } from "./Tooltip"; /** * Type of props accepted by {@link AccessibleTooltipButton}. @@ -27,29 +27,17 @@ import Tooltip, { Alignment } from "./Tooltip"; */ type Props = ComponentProps> & { /** - * Title to show in the tooltip and use as aria-label + * Title to show in the tooltip */ title?: string; - /** - * Tooltip node to show in the tooltip, takes precedence over `title` - */ - tooltip?: React.ReactNode; /** * Trigger label to render */ label?: string; - /** - * Classname to apply to the tooltip - */ - tooltipClassName?: string; /** * Force the tooltip to be hidden */ forceHide?: boolean; - /** - * Alignment to render the tooltip with - */ - alignment?: Alignment; /** * Function to call when the children are hovered over */ @@ -58,10 +46,10 @@ type Props = ComponentProps, "caption" | "side" | "align">; const AccessibleTooltipButton = forwardRef(function ( - { title, tooltip, children, forceHide, alignment, onHideTooltip, tooltipClassName, ...props }: Props, + { title, children, forceHide, side, align, onHideTooltip, caption, ...props }: Props, ref: Ref, ) { const [hover, setHover] = useState(false); @@ -91,23 +79,20 @@ const AccessibleTooltipButton = forwardRef(function - ); return ( - - {children} - {props.label} - {(tooltip || title) && tip} - + + + {children} + {props.label} + + ); }); diff --git a/src/components/views/messages/CallEvent.tsx b/src/components/views/messages/CallEvent.tsx index dd2e29f51c8..ac130a0c630 100644 --- a/src/components/views/messages/CallEvent.tsx +++ b/src/components/views/messages/CallEvent.tsx @@ -83,7 +83,7 @@ const ActiveCallEvent = forwardRef( kind={buttonKind} disabled={onButtonClick === null || buttonDisabledTooltip !== undefined} onClick={onButtonClick} - tooltip={buttonDisabledTooltip} + title={buttonDisabledTooltip} > {buttonText}
diff --git a/src/components/views/messages/MessageActionBar.tsx b/src/components/views/messages/MessageActionBar.tsx index 9cf35922089..8cdf4ca77c7 100644 --- a/src/components/views/messages/MessageActionBar.tsx +++ b/src/components/views/messages/MessageActionBar.tsx @@ -233,15 +233,6 @@ const ReplyInThreadButton: React.FC = ({ mxEvent }) => { -
- {!hasARelation - ? _t("action|reply_in_thread") - : _t("threads|error_start_thread_existing_relation")} -
- - } title={!hasARelation ? _t("action|reply_in_thread") : _t("threads|error_start_thread_existing_relation")} onClick={onClick} onContextMenu={onClick} @@ -509,18 +500,6 @@ export default class MessageActionBar extends React.PureComponent -
- {this.props.isQuoteExpanded - ? _t("timeline|mab|collapse_reply_chain") - : _t("timeline|mab|expand_reply_chain")} -
-
- {_t(ALTERNATE_KEY_NAME[Key.SHIFT]) + " + " + _t("action|click")} -
- - ); toolbarOpts.push( diff --git a/src/components/views/messages/TextualBody.tsx b/src/components/views/messages/TextualBody.tsx index 4ffb6ce02c8..d1cf1b8ed42 100644 --- a/src/components/views/messages/TextualBody.tsx +++ b/src/components/views/messages/TextualBody.tsx @@ -521,19 +521,12 @@ export default class TextualBody extends React.Component { const date = this.props.mxEvent.replacingEventDate(); const dateString = date && formatDate(date); - const tooltip = ( -
-
{_t("timeline|edits|tooltip_title", { date: dateString })}
-
{_t("timeline|edits|tooltip_sub")}
-
- ); - return ( {`(${_t("common|edited")})`} diff --git a/src/components/views/pips/WidgetPip.tsx b/src/components/views/pips/WidgetPip.tsx index 8a9bae1cdec..dc700132c40 100644 --- a/src/components/views/pips/WidgetPip.tsx +++ b/src/components/views/pips/WidgetPip.tsx @@ -34,7 +34,6 @@ import { WidgetType } from "../../../widgets/WidgetType"; import { WidgetMessagingStore } from "../../../stores/widgets/WidgetMessagingStore"; import WidgetUtils from "../../../utils/WidgetUtils"; import { ElementWidgetActions } from "../../../stores/widgets/ElementWidgetActions"; -import { Alignment } from "../elements/Tooltip"; interface Props { widgetId: string; @@ -125,12 +124,7 @@ export const WidgetPip: FC = ({ widgetId, room, viewingRoom, onStartMovin /> {(call !== null || WidgetType.JITSI.matches(widget?.type)) && ( - + diff --git a/src/components/views/right_panel/HeaderButton.tsx b/src/components/views/right_panel/HeaderButton.tsx index 4fb8c1b5136..f2dfa2b8226 100644 --- a/src/components/views/right_panel/HeaderButton.tsx +++ b/src/components/views/right_panel/HeaderButton.tsx @@ -23,7 +23,6 @@ import classNames from "classnames"; import AccessibleTooltipButton from "../elements/AccessibleTooltipButton"; import { ButtonEvent } from "../elements/AccessibleButton"; -import { Alignment } from "../elements/Tooltip"; interface IProps { // Whether this button is highlighted @@ -56,7 +55,7 @@ export default class HeaderButton extends React.Component { {...props} aria-current={isHighlighted ? "true" : "false"} title={title} - alignment={Alignment.Bottom} + side="bottom" className={classes} onClick={onClick} /> diff --git a/src/components/views/rooms/LegacyRoomHeader.tsx b/src/components/views/rooms/LegacyRoomHeader.tsx index 6729ba118fe..a92ba52bf33 100644 --- a/src/components/views/rooms/LegacyRoomHeader.tsx +++ b/src/components/views/rooms/LegacyRoomHeader.tsx @@ -114,9 +114,8 @@ const VoiceCallButton: FC = ({ room, busy, setBusy, behavi ); @@ -237,9 +236,8 @@ const VideoCallButton: FC = ({ room, busy, setBusy, behavi ref={buttonRef} className="mx_LegacyRoomHeader_button mx_LegacyRoomHeader_videoCallButton" onClick={onClick} - title={_t("voip|video_call")} - tooltip={tooltip ?? _t("voip|video_call")} - alignment={Alignment.Bottom} + title={tooltip ?? _t("voip|video_call")} + side="bottom" disabled={disabled || busy} /> {menu} @@ -446,7 +444,7 @@ const CallLayoutSelector: FC = ({ call }) => { })} onClick={onClick} title={_t("room|header|video_call_ec_change_layout")} - alignment={Alignment.Bottom} + side="bottom" key="layout" /> {menu} @@ -600,7 +598,7 @@ export default class RoomHeader extends React.Component { className="mx_LegacyRoomHeader_button mx_LegacyRoomHeader_forgetButton" onClick={this.props.onForgetClick} title={_t("room|header|forget_room_button")} - alignment={Alignment.Bottom} + side="bottom" key="forget" />, ); @@ -619,7 +617,7 @@ export default class RoomHeader extends React.Component { : _t("room|header|show_widgets_button") } aria-checked={this.props.appsShown} - alignment={Alignment.Bottom} + side="bottom" key="apps" />, ); @@ -631,7 +629,7 @@ export default class RoomHeader extends React.Component { className="mx_LegacyRoomHeader_button mx_LegacyRoomHeader_searchButton" onClick={this.props.onSearchClick} title={_t("action|search")} - alignment={Alignment.Bottom} + side="bottom" key="search" />, ); @@ -643,7 +641,7 @@ export default class RoomHeader extends React.Component { className="mx_LegacyRoomHeader_button mx_LegacyRoomHeader_inviteButton" onClick={this.props.onInviteClick} title={_t("action|invite")} - alignment={Alignment.Bottom} + side="bottom" key="invite" />, ); @@ -667,7 +665,7 @@ export default class RoomHeader extends React.Component { className="mx_LegacyRoomHeader_button mx_LegacyRoomHeader_minimiseButton" onClick={this.onHideCallClick} title={_t("room|header|video_room_view_chat_button")} - alignment={Alignment.Bottom} + side="bottom" key="minimise" />, ); @@ -750,7 +748,7 @@ export default class RoomHeader extends React.Component { onClick={this.onContextMenuOpenClick} isExpanded={!!this.state.contextMenuPosition} title={_t("room|context_menu|title")} - alignment={Alignment.Bottom} + side="bottom" > {roomName} {this.props.room &&
} diff --git a/src/components/views/rooms/MessageComposerFormatBar.tsx b/src/components/views/rooms/MessageComposerFormatBar.tsx index 0d737c40016..80453dedb0d 100644 --- a/src/components/views/rooms/MessageComposerFormatBar.tsx +++ b/src/components/views/rooms/MessageComposerFormatBar.tsx @@ -127,16 +127,6 @@ interface IFormatButtonProps { class FormatButton extends React.PureComponent { public render(): React.ReactNode { const className = `mx_MessageComposerFormatBar_button mx_MessageComposerFormatBar_buttonIcon${this.props.icon}`; - let shortcut; - if (this.props.shortcut) { - shortcut =
{this.props.shortcut}
; - } - const tooltip = ( -
-
{this.props.label}
-
{shortcut}
-
- ); // element="button" and type="button" are necessary for the buttons to work on WebKit, // otherwise the text is deselected before onClick can ever be called @@ -146,7 +136,7 @@ class FormatButton extends React.PureComponent { type="button" onClick={this.props.onClick} title={this.props.label} - tooltip={tooltip} + caption={this.props.shortcut} className={className} /> ); diff --git a/src/components/views/rooms/RoomBreadcrumbs.tsx b/src/components/views/rooms/RoomBreadcrumbs.tsx index eca8da46240..1ade82cfab9 100644 --- a/src/components/views/rooms/RoomBreadcrumbs.tsx +++ b/src/components/views/rooms/RoomBreadcrumbs.tsx @@ -52,7 +52,6 @@ const RoomBreadcrumbTile: React.FC<{ room: Room; onClick: (ev: ButtonEvent) => v onClick={onClick} aria-label={_t("a11y|room_name", { name: room.name })} title={room.name} - tooltipClassName="mx_RoomBreadcrumbs_Tooltip" onFocus={onFocus} ref={ref} tabIndex={isActive ? 0 : -1} diff --git a/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx b/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx index bf0ad48cf56..71d2f2f9f7f 100644 --- a/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx +++ b/src/components/views/rooms/wysiwyg_composer/components/FormattingButtons.tsx @@ -31,37 +31,22 @@ import { Icon as CodeBlockIcon } from "../../../../../../res/img/element-icons/r import { Icon as IndentIcon } from "../../../../../../res/img/element-icons/room/composer/indent_increase.svg"; import { Icon as UnIndentIcon } from "../../../../../../res/img/element-icons/room/composer/indent_decrease.svg"; import AccessibleTooltipButton from "../../../elements/AccessibleTooltipButton"; -import { Alignment } from "../../../elements/Tooltip"; -import { KeyboardShortcut } from "../../../settings/KeyboardShortcut"; -import { KeyCombo } from "../../../../../KeyBindingsManager"; import { _t } from "../../../../../languageHandler"; import { ButtonEvent } from "../../../elements/AccessibleButton"; import { openLinkModal } from "./LinkModal"; import { useComposerContext } from "../ComposerContext"; +import { IS_MAC, Key } from "../../../../../Keyboard"; +import { ALTERNATE_KEY_NAME } from "../../../../../accessibility/KeyboardShortcuts"; -interface TooltipProps { +interface ButtonProps { label: string; - keyCombo?: KeyCombo; -} - -function Tooltip({ label, keyCombo }: TooltipProps): JSX.Element { - return ( -
- {label} - {keyCombo && ( - - )} -
- ); -} - -interface ButtonProps extends TooltipProps { + shortcut?: string; icon: ReactNode; actionState: ActionState; onClick: MouseEventHandler; } -function Button({ label, keyCombo, onClick, actionState, icon }: ButtonProps): JSX.Element { +function Button({ label, shortcut, onClick, actionState, icon }: ButtonProps): JSX.Element { return ( } + caption={shortcut} forceHide={actionState === "disabled"} - alignment={Alignment.Top} + side="top" > {icon} @@ -86,6 +71,10 @@ interface FormattingButtonsProps { actionStates: AllActionStates; } +function ctrlShortcutLabel(key: string): string { + return (IS_MAC ? "⌘" : _t(ALTERNATE_KEY_NAME[Key.CONTROL])) + "+" + key; +} + export function FormattingButtons({ composer, actionStates }: FormattingButtonsProps): JSX.Element { const composerContext = useComposerContext(); const isInList = actionStates.unorderedList === "reversed" || actionStates.orderedList === "reversed"; @@ -94,21 +83,21 @@ export function FormattingButtons({ composer, actionStates }: FormattingButtonsP
); diff --git a/src/components/views/voip/LegacyCallView/LegacyCallViewButtons.tsx b/src/components/views/voip/LegacyCallView/LegacyCallViewButtons.tsx index 2f6d9c2ea50..37080951d15 100644 --- a/src/components/views/voip/LegacyCallView/LegacyCallViewButtons.tsx +++ b/src/components/views/voip/LegacyCallView/LegacyCallViewButtons.tsx @@ -23,7 +23,6 @@ import { MatrixCall } from "matrix-js-sdk/src/webrtc/call"; import AccessibleTooltipButton from "../../elements/AccessibleTooltipButton"; import LegacyCallContextMenu from "../../context_menus/LegacyCallContextMenu"; import DialpadContextMenu from "../../context_menus/DialpadContextMenu"; -import { Alignment } from "../../elements/Tooltip"; import { alwaysMenuProps, alwaysAboveRightOf, @@ -62,12 +61,7 @@ const LegacyCallViewToggleButton: React.FC = ({ }); return ( - + {children} ); @@ -269,7 +263,7 @@ export default class LegacyCallViewButtons extends React.Component )} )} ); diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index fe43e73b540..169f01bf7ab 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -3197,7 +3197,6 @@ "download_action_decrypting": "Decrypting", "download_action_downloading": "Downloading", "edits": { - "tooltip_label": "Edited at %(date)s. Click to view edits.", "tooltip_sub": "Click to view edits", "tooltip_title": "Edited at %(date)s" }, diff --git a/src/toasts/IncomingCallToast.tsx b/src/toasts/IncomingCallToast.tsx index a87c364f95e..4f29c4911e8 100644 --- a/src/toasts/IncomingCallToast.tsx +++ b/src/toasts/IncomingCallToast.tsx @@ -58,7 +58,7 @@ function JoinCallButtonWithCall({ onClick, call }: JoinCallButtonWithCallProps): className="mx_IncomingCallToast_joinButton" onClick={onClick} disabled={disabledTooltip !== null} - tooltip={disabledTooltip ?? undefined} + title={disabledTooltip ?? undefined} kind="primary" > {_t("action|join")} From 98ce60e2cec3536c6ee6f2965651dcaff7da2fd1 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 21 Dec 2023 11:23:38 +0000 Subject: [PATCH 03/30] Update snapshots Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- .../__snapshots__/RoomView-test.tsx.snap | 36 +++++----- .../SpaceHierarchy-test.tsx.snap | 2 + .../BeaconListItem-test.tsx.snap | 2 +- .../__snapshots__/DialogSidebar-test.tsx.snap | 2 +- .../ShareLatestLocation-test.tsx.snap | 2 +- .../DevtoolsDialog-test.tsx.snap | 10 +-- .../LocationShareMenu-test.tsx.snap | 1 + .../__snapshots__/DateSeparator-test.tsx.snap | 2 +- .../LegacyRoomHeaderButtons-test.tsx.snap | 6 +- .../EventTileThreadToolbar-test.tsx.snap | 4 +- .../__snapshots__/RoomTile-test.tsx.snap | 16 ++--- .../FormattingButtons-test.tsx.snap | 20 +++--- .../__snapshots__/Notifications-test.tsx.snap | 1 + .../CurrentDeviceSection-test.tsx.snap | 2 + .../DeviceExpandDetailsButton-test.tsx.snap | 2 + .../Notifications2-test.tsx.snap | 8 +++ .../AdvancedRoomSettingsTab-test.tsx.snap | 2 +- .../GeneralUserSettingsTab-test.tsx.snap | 1 + .../PreferencesUserSettingsTab-test.tsx.snap | 69 ++++++++++--------- .../SecurityUserSettingsTab-test.tsx.snap | 4 +- .../SessionManagerTab-test.tsx.snap | 2 + .../QuickSettingsButton-test.tsx.snap | 2 +- .../SpaceSettingsVisibilityTab-test.tsx.snap | 2 + .../SpaceTreeLevel-test.tsx.snap | 2 +- .../VoiceBroadcastHeader-test.tsx.snap | 8 +-- .../VoiceBroadcastPlaybackBody-test.tsx.snap | 14 ++-- ...oiceBroadcastPreRecordingPip-test.tsx.snap | 2 +- .../VoiceBroadcastRecordingBody-test.tsx.snap | 4 +- .../VoiceBroadcastRecordingPip-test.tsx.snap | 4 +- ...ceBroadcastSmallPlaybackBody-test.tsx.snap | 10 +-- 30 files changed, 132 insertions(+), 110 deletions(-) diff --git a/test/components/structures/__snapshots__/RoomView-test.tsx.snap b/test/components/structures/__snapshots__/RoomView-test.tsx.snap index 1f29fc76bb8..f7f8075615c 100644 --- a/test/components/structures/__snapshots__/RoomView-test.tsx.snap +++ b/test/components/structures/__snapshots__/RoomView-test.tsx.snap @@ -395,43 +395,43 @@ exports[`RoomView for a local room in state NEW should match the snapshot 1`] = role="toolbar" >