+ {timestamp}
+ >
);
}
@@ -131,11 +133,12 @@ export const RoomPredecessorTile: React.FC = ({ mxEvent, timestamp }) =>
return (
}
- className="mx_CreateEvent"
+ className="mx_EventTileBubble mx_CreateEvent"
title={_t("timeline|m.room.create|continuation")}
subtitle={link}
- timestamp={timestamp}
- />
+ >
+ {timestamp}
+
);
function createLinkWithRoom(room: Room, roomId: string, eventId?: string): string {
diff --git a/src/components/views/rooms/EventTile.tsx b/src/components/views/rooms/EventTile.tsx
index 93225a43dc..6d1ed70a06 100644
--- a/src/components/views/rooms/EventTile.tsx
+++ b/src/components/views/rooms/EventTile.tsx
@@ -117,7 +117,7 @@ export interface IEventTileOps {
unhideWidget(): void;
}
-export interface IEventTileType extends React.Component {
+export interface IEventTileType extends React.Component {
getEventTileOps?(): IEventTileOps;
getMediaHelper(): MediaEventHelper | undefined;
}
diff --git a/src/components/views/rooms/HistoryTile.tsx b/src/components/views/rooms/HistoryTile.tsx
index 0701122c56..0f34609e29 100644
--- a/src/components/views/rooms/HistoryTile.tsx
+++ b/src/components/views/rooms/HistoryTile.tsx
@@ -9,8 +9,8 @@ Please see LICENSE files in the repository root for full details.
import React from "react";
import { EventTimeline } from "matrix-js-sdk/src/matrix";
import { VisibilityOffIcon } from "@vector-im/compound-design-tokens/assets/web/icons";
+import { EventTileBubble } from "@element-hq/web-shared-components";
-import EventTileBubble from "../messages/EventTileBubble";
import { _t } from "../../../languageHandler";
import { useScopedRoomContext } from "../../../contexts/ScopedRoomContext.tsx";
@@ -30,7 +30,7 @@ const HistoryTile: React.FC = () => {
return (
}
- className="mx_HistoryTile"
+ className="mx_EventTileBubble mx_HistoryTile"
title={_t("timeline|historical_messages_unavailable")}
subtitle={subtitle}
/>
diff --git a/src/components/views/rooms/NewRoomIntro.tsx b/src/components/views/rooms/NewRoomIntro.tsx
index e8dfbd5d1b..b486b5e059 100644
--- a/src/components/views/rooms/NewRoomIntro.tsx
+++ b/src/components/views/rooms/NewRoomIntro.tsx
@@ -10,6 +10,7 @@ import React, { type JSX, useContext } from "react";
import { EventType, type Room, type User, type MatrixClient } from "matrix-js-sdk/src/matrix";
import { KnownMembership } from "matrix-js-sdk/src/types";
import { ErrorSolidIcon, UserAddIcon } from "@vector-im/compound-design-tokens/assets/web/icons";
+import { EventTileBubble } from "@element-hq/web-shared-components";
import MatrixClientContext from "../../../contexts/MatrixClientContext";
import DMRoomMap from "../../../utils/DMRoomMap";
@@ -22,7 +23,6 @@ import { type ViewUserPayload } from "../../../dispatcher/payloads/ViewUserPaylo
import { Action } from "../../../dispatcher/actions";
import SpaceStore from "../../../stores/spaces/SpaceStore";
import { showSpaceInvite } from "../../../utils/space";
-import EventTileBubble from "../messages/EventTileBubble";
import { RoomSettingsTab } from "../dialogs/RoomSettingsDialog";
import { MatrixClientPeg } from "../../../MatrixClientPeg";
import { shouldShowComponent } from "../../../customisations/helpers/UIComponents";
@@ -296,7 +296,7 @@ const NewRoomIntro: React.FC = () => {
{!hasExpectedEncryptionSettings(cli, room) && (
}
- className="mx_cryptoEvent"
+ className="mx_EventTileBubble mx_cryptoEvent"
title={_t("room|intro|unencrypted_warning")}
subtitle={subtitle}
/>
diff --git a/src/events/EventTileFactory.tsx b/src/events/EventTileFactory.tsx
index 3bec221c7a..3c3735ab81 100644
--- a/src/events/EventTileFactory.tsx
+++ b/src/events/EventTileFactory.tsx
@@ -21,7 +21,7 @@ import { TextualEventView } from "@element-hq/web-shared-components";
import SettingsStore from "../settings/SettingsStore";
import type LegacyCallEventGrouper from "../components/structures/LegacyCallEventGrouper";
-import { type EventTileProps } from "../components/views/rooms/EventTile";
+import { type IEventTileType, type EventTileProps } from "../components/views/rooms/EventTile";
import { TimelineRenderingType } from "../contexts/RoomContext";
import MessageEvent from "../components/views/messages/MessageEvent";
import LegacyCallEvent from "../components/views/messages/LegacyCallEvent";
@@ -61,7 +61,7 @@ export interface EventTileTypeProps extends Pick<
| "isSeeingThroughMessageHiddenForModeration"
| "inhibitInteraction"
> {
- ref?: React.RefObject; // `any` because it's effectively impossible to convince TS of a reasonable type
+ ref?: React.RefObject;
maxImageHeight?: number; // pixels
overrideBodyTypes?: Record>;
overrideEventTypes?: Record>;
diff --git a/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap b/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap
index 77540f0b86..716b0e7257 100644
--- a/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap
+++ b/test/unit-tests/components/structures/__snapshots__/MessagePanel-test.tsx.snap
@@ -61,7 +61,7 @@ exports[`MessagePanel should handle lots of membership events quickly 1`] = `
You can't see earlier messages
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 4465fa474d..8db7b094f5 100644
--- a/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
+++ b/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap
@@ -152,7 +152,7 @@ exports[`RoomView for a local room in state ERROR should match the snapshot 1`]
class="mx_NewRoomIntro"
>
End-to-end encryption isn't enabled
@@ -342,7 +342,7 @@ exports[`RoomView for a local room in state NEW should match the snapshot 1`] =
class="mx_NewRoomIntro"
>
End-to-end encryption isn't enabled
@@ -717,7 +717,7 @@ exports[`RoomView for a local room in state NEW that is encrypted should match t
style="height: 400px;"
>
Encryption enabled
Messages in this chat will be end-to-end encrypted.