From fc23fcad471d5006bc555dd13994461d96961faa Mon Sep 17 00:00:00 2001 From: rbondesson Date: Mon, 1 Jun 2026 07:47:59 +0200 Subject: [PATCH] Make shared-components tiles render identically outside Element Web - #4 (#33622) * Use shared MessageTimestampView in edit history * Move timestamp typography into shared component * Updated snapshots * Update comments after clean up * Fixed sonar issue and added tests for improved coverage * Fix Prettier issue * Fix font-size on timestamps and toolbar button sizing * Updated snapshots * Updated Storybook screenshots * Updated screenshots * Clean up app/web unused/redundant styling for disambiguated profile * Fix merge error * Fixes after merge * Fixes after merge --- apps/web/res/css/_common.pcss | 20 +- apps/web/res/css/structures/_FilePanel.pcss | 2 - .../views/messages/_DisambiguatedProfile.pcss | 20 -- .../css/views/right_panel/_ThreadPanel.pcss | 4 - .../res/css/views/rooms/_EventBubbleTile.pcss | 10 +- .../views/messages/EditHistoryMessage.tsx | 41 +-- .../views/dialogs/EditHistoryMessage-test.tsx | 273 ++++++++++++++++++ .../MessageEditHistoryDialog-test.tsx.snap | 12 +- .../__snapshots__/HTMLExport-test.ts.snap | 2 +- .../default-auto.png | Bin 20270 -> 6438 bytes .../has-actions-auto.png | Bin 17284 -> 4115 bytes .../has-href-auto.png | Bin 17284 -> 4115 bytes .../has-inhibit-tooltip-auto.png | Bin 17284 -> 4115 bytes .../has-ts-received-at-auto.png | Bin 24114 -> 9467 bytes .../MessageTimestampView.module.css | 2 +- .../MessageTimestampView.tsx | 6 +- 16 files changed, 322 insertions(+), 70 deletions(-) create mode 100644 apps/web/test/unit-tests/components/views/dialogs/EditHistoryMessage-test.tsx diff --git a/apps/web/res/css/_common.pcss b/apps/web/res/css/_common.pcss index 58bebb609b..63a9c98c7e 100644 --- a/apps/web/res/css/_common.pcss +++ b/apps/web/res/css/_common.pcss @@ -163,10 +163,10 @@ b { font-weight: bold; } -/* Keep the legacy link colour without overriding Compound anchors. */ -a:where(:not([data-kind])):hover, -a:where(:not([data-kind])):link, -a:where(:not([data-kind])):visited { +/* Keep the legacy link colour without overriding Compound anchors or shared timestamp styling. */ +a:where(:not([data-kind]):not(.mx_MessageTimestamp)):hover, +a:where(:not([data-kind]):not(.mx_MessageTimestamp)):link, +a:where(:not([data-kind]):not(.mx_MessageTimestamp)):visited { color: $accent-alt; } @@ -600,6 +600,8 @@ legend { .mx_InviteDialog_section button, .mx_InviteDialog_editor button, .mx_UnknownIdentityUsersWarningDialog button, + .mx_ThreadActionBar button, + .mx_HistoryActionBar button, [class|="maplibregl"] ), .mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton), @@ -907,16 +909,8 @@ legend { overflow: hidden; } -/* This class is used extensively in element-web and are included here for compatibility with the existing timeline and layout. -/* TODO: Review mx_MessageTimestamp usage after finishing migration of timeline tiles to shared components. */ -/* https://github.com/element-hq/element-web/issues/31651 */ +/* Layout compatibility hook for timestamp placement in existing app/web timeline surfaces. */ .mx_MessageTimestamp { - color: var(--cpd-color-text-secondary) !important; /* override anchor color */ - font-size: $font-10px; - font-variant-numeric: tabular-nums; display: block; /* enable the width setting below */ width: var(--MessageTimestamp-width); - white-space: nowrap; - user-select: none; - text-decoration: none; } diff --git a/apps/web/res/css/structures/_FilePanel.pcss b/apps/web/res/css/structures/_FilePanel.pcss index 3261c26a1c..f9396bf048 100644 --- a/apps/web/res/css/structures/_FilePanel.pcss +++ b/apps/web/res/css/structures/_FilePanel.pcss @@ -67,8 +67,6 @@ Please see LICENSE files in the repository root for full details. .mx_MessageTimestamp { margin-left: auto; - font: var(--cpd-font-body-xs-regular); - color: var(--cpd-color-text-secondary); } } } diff --git a/apps/web/res/css/views/messages/_DisambiguatedProfile.pcss b/apps/web/res/css/views/messages/_DisambiguatedProfile.pcss index 4758bb5407..f2d63b7a1e 100644 --- a/apps/web/res/css/views/messages/_DisambiguatedProfile.pcss +++ b/apps/web/res/css/views/messages/_DisambiguatedProfile.pcss @@ -7,26 +7,6 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -.mx_DisambiguatedProfile { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - cursor: pointer; - - .mx_DisambiguatedProfile_displayName { - font: var(--cpd-font-body-md-semibold); - margin-inline-end: 0; - /* keeps the height in check, important for the bubble apperance */ - line-height: 1; - } - - .mx_DisambiguatedProfile_mxid { - color: $secondary-content; - font-size: var(--cpd-font-size-body-sm); - margin-inline-start: 5px; - } -} - /** Disambiguated profile needs to have a different layout in the member tile */ .mx_MemberTileView .mx_DisambiguatedProfile { display: flex; diff --git a/apps/web/res/css/views/right_panel/_ThreadPanel.pcss b/apps/web/res/css/views/right_panel/_ThreadPanel.pcss index 66536a7372..b1d1231980 100644 --- a/apps/web/res/css/views/right_panel/_ThreadPanel.pcss +++ b/apps/web/res/css/views/right_panel/_ThreadPanel.pcss @@ -138,10 +138,6 @@ Please see LICENSE files in the repository root for full details. box-sizing: border-box; } - .mx_MessageTimestamp { - color: $secondary-content; - } - .mx_BaseCard_footer { text-align: left; font-size: $font-12px; diff --git a/apps/web/res/css/views/rooms/_EventBubbleTile.pcss b/apps/web/res/css/views/rooms/_EventBubbleTile.pcss index 493cb9b4df..25a8cbcfdd 100644 --- a/apps/web/res/css/views/rooms/_EventBubbleTile.pcss +++ b/apps/web/res/css/views/rooms/_EventBubbleTile.pcss @@ -288,7 +288,7 @@ Please see LICENSE files in the repository root for full details. /* the selector here is quite weird because timestamps can appear linked & unlinked and in different places */ /* in the DOM depending on the specific rendering context */ - > a, /* timestamp wrapper anchor */ + > a, /* linked timestamp element */ .mx_MessageActionBar + .mx_MessageTimestamp { position: absolute; padding: 4px 8px; @@ -322,7 +322,7 @@ Please see LICENSE files in the repository root for full details. } &.mx_EventTile_sticker { - > a, /* timestamp wrapper anchor */ + > a, /* linked timestamp element */ .mx_MessageActionBar + .mx_MessageTimestamp { /* position timestamps for stickers to the right of the un-bubbled sticker */ right: unset; @@ -434,7 +434,7 @@ Please see LICENSE files in the repository root for full details. .mx_EventTile_reply { max-width: 90%; padding: 0; - > a, /* timestamp wrapper anchor */ + > a, /* linked timestamp element */ .mx_MessageActionBar + .mx_MessageTimestamp { display: none !important; } @@ -549,7 +549,7 @@ Please see LICENSE files in the repository root for full details. font-style: italic; > a { - /* timestamp anchor wrapper */ + /* linked timestamp element */ align-self: center; bottom: unset; top: unset; @@ -606,7 +606,7 @@ Please see LICENSE files in the repository root for full details. } .mx_EventTile_line { - > a, /* timestamp wrapper anchor */ + > a, /* linked timestamp element */ .mx_MessageActionBar + .mx_MessageTimestamp { right: auto; left: -77px; diff --git a/apps/web/src/components/views/messages/EditHistoryMessage.tsx b/apps/web/src/components/views/messages/EditHistoryMessage.tsx index ced10ce290..f12e7759a2 100644 --- a/apps/web/src/components/views/messages/EditHistoryMessage.tsx +++ b/apps/web/src/components/views/messages/EditHistoryMessage.tsx @@ -9,12 +9,12 @@ Please see LICENSE files in the repository root for full details. import React, { createRef } from "react"; import { type EventStatus, type IContent, type MatrixEvent, MatrixEventEvent, MsgType } from "matrix-js-sdk/src/matrix"; import classNames from "classnames"; -import { ActionBarView, EventContentBodyView } from "@element-hq/web-shared-components"; +import { ActionBarView, EventContentBodyView, MessageTimestampView } from "@element-hq/web-shared-components"; import { EditHistoryActionBarViewModel } from "../../../viewmodels/message-body/EditHistoryActionBarViewModel"; import { EventContentBodyViewModel } from "../../../viewmodels/message-body/EventContentBodyViewModel"; +import { MessageTimestampViewModel } from "../../../viewmodels/room/timeline/event-tile/timestamp/MessageTimestampViewModel"; import { editBodyDiffToHtml } from "../../../utils/MessageDiffUtils"; -import { formatTime } from "../../../DateUtils"; import Modal from "../../../Modal"; import ConfirmAndWaitRedactDialog from "../dialogs/ConfirmAndWaitRedactDialog"; import ViewSource from "../../structures/ViewSource"; @@ -45,8 +45,9 @@ export default class EditHistoryMessage extends React.PureComponent; private content = createRef(); - private EventContentBodyViewModel: EventContentBodyViewModel; - private editHistoryActionBarViewModel: EditHistoryActionBarViewModel; + private readonly eventContentBodyViewModel: EventContentBodyViewModel; + private readonly editHistoryActionBarViewModel: EditHistoryActionBarViewModel; + private readonly messageTimestampViewModel: MessageTimestampViewModel; public constructor(props: IProps, context: React.ContextType) { super(props, context); @@ -60,7 +61,7 @@ export default class EditHistoryMessage extends React.PureComponent ); @@ -157,7 +165,7 @@ export default class EditHistoryMessage extends React.PureComponent; + contentElements = ; } if (mxEvent.getContent().msgtype === MsgType.Emote) { const name = mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender(); @@ -177,7 +185,6 @@ export default class EditHistoryMessage extends React.PureComponent
- {timestamp} + {contentContainer} {this.renderActionBar()}
diff --git a/apps/web/test/unit-tests/components/views/dialogs/EditHistoryMessage-test.tsx b/apps/web/test/unit-tests/components/views/dialogs/EditHistoryMessage-test.tsx new file mode 100644 index 0000000000..b430d977b5 --- /dev/null +++ b/apps/web/test/unit-tests/components/views/dialogs/EditHistoryMessage-test.tsx @@ -0,0 +1,273 @@ +/* +Copyright 2026 Element Creations Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import React from "react"; +import { act, fireEvent, render, waitFor } from "jest-matrix-react"; +import { MatrixEventEvent, MsgType } from "matrix-js-sdk/src/matrix"; + +import { mkEvent, stubClient } from "../../../../test-utils"; +import Modal from "../../../../../src/Modal"; +import SettingsStore from "../../../../../src/settings/SettingsStore"; +import type { SettingKey } from "../../../../../src/settings/Settings"; +import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext"; +import EditHistoryMessage from "../../../../../src/components/views/messages/EditHistoryMessage"; +import ConfirmAndWaitRedactDialog from "../../../../../src/components/views/dialogs/ConfirmAndWaitRedactDialog"; +import ViewSource from "../../../../../src/components/structures/ViewSource"; +import { EventContentBodyViewModel } from "../../../../../src/viewmodels/message-body/EventContentBodyViewModel"; +import { EditHistoryActionBarViewModel } from "../../../../../src/viewmodels/message-body/EditHistoryActionBarViewModel"; +import { MessageTimestampViewModel } from "../../../../../src/viewmodels/room/timeline/event-tile/timestamp/MessageTimestampViewModel"; + +describe("EditHistoryMessage", () => { + const roomId = "!room:example.com"; + let client: ReturnType; + let developerMode = false; + + const renderComponent = (props: React.ComponentProps) => { + return render( + + + , + ); + }; + + beforeEach(() => { + client = stubClient(); + developerMode = false; + jest.spyOn(SettingsStore, "getValue").mockImplementation(((settingName: SettingKey) => { + switch (settingName) { + case "developerMode": + return developerMode; + case "showTwelveHourTimestamps": + case "TextualBody.enableBigEmoji": + return false; + case "Pill.shouldShowPillAvatar": + return true; + default: + return null; + } + }) as typeof SettingsStore.getValue); + jest.spyOn(Modal, "createDialog").mockReturnValue({} as any); + }); + + afterEach(() => { + jest.restoreAllMocks(); + }); + + it("renders replaced content, tracks send status, and disposes view models on unmount", async () => { + const event = mkEvent({ + event: true, + id: "$event", + room: roomId, + user: "@alice:example.com", + type: "m.room.message", + content: { + "msgtype": MsgType.Text, + "body": "Original body", + "m.new_content": { + msgtype: MsgType.Text, + body: "Edited body", + }, + }, + }); + const localRedactionEvent = { + on: jest.fn(), + off: jest.fn(), + }; + const getAssociatedStatus = jest.fn().mockReturnValue("sending"); + const eventContentDisposeSpy = jest.spyOn(EventContentBodyViewModel.prototype, "dispose"); + const actionBarDisposeSpy = jest.spyOn(EditHistoryActionBarViewModel.prototype, "dispose"); + const timestampDisposeSpy = jest.spyOn(MessageTimestampViewModel.prototype, "dispose"); + + (event as any).localRedactionEvent = jest.fn().mockReturnValue(localRedactionEvent); + (event as any).getAssociatedStatus = getAssociatedStatus; + + const { container, getByRole, getByText, unmount } = renderComponent({ mxEvent: event }); + + expect(getByText("Edited body")).toBeInTheDocument(); + expect(container.querySelector(".mx_EventTile_sending")).not.toBeNull(); + expect(getByRole("button", { name: /remove/i })).toBeInTheDocument(); + expect(localRedactionEvent.on).toHaveBeenCalledWith(MatrixEventEvent.Status, expect.any(Function)); + + getAssociatedStatus.mockReturnValue(null); + const onStatusChanged = localRedactionEvent.on.mock.calls[0][1]; + act(() => { + onStatusChanged(); + }); + + await waitFor(() => expect(container.querySelector(".mx_EventTile_sending")).toBeNull()); + + unmount(); + + expect(localRedactionEvent.off).toHaveBeenCalledWith(MatrixEventEvent.Status, expect.any(Function)); + expect(eventContentDisposeSpy).toHaveBeenCalled(); + expect(actionBarDisposeSpy).toHaveBeenCalled(); + expect(timestampDisposeSpy).toHaveBeenCalled(); + }); + + it("renders diffs for previous edits and formats emotes with the sender name", () => { + const previousEdit = mkEvent({ + event: true, + id: "$prev", + room: roomId, + user: "@alice:example.com", + type: "m.room.message", + content: { + msgtype: MsgType.Emote, + body: "smiles", + }, + }); + const event = mkEvent({ + event: true, + id: "$event", + room: roomId, + user: "@alice:example.com", + type: "m.room.message", + content: { + msgtype: MsgType.Emote, + body: "waves", + }, + }); + if (event.sender) { + event.sender.name = "Alice"; + } + + const { container, getByText } = renderComponent({ mxEvent: event, previousEdit }); + + expect(getByText("Alice")).toHaveClass("mx_EditHistoryMessage_emoteSender"); + expect(container.querySelector(".mx_EditHistoryMessage_deletion")).not.toBeNull(); + expect(container.querySelector(".mx_EditHistoryMessage_insertion")).not.toBeNull(); + expect(container.querySelector(".mx_EditHistoryMessage_deletion")).not.toBeEmptyDOMElement(); + expect(container.querySelector(".mx_EditHistoryMessage_insertion")).not.toBeEmptyDOMElement(); + }); + + it("renders redacted events and opens view source from the action bar", () => { + developerMode = true; + const event = mkEvent({ + event: true, + id: "$event", + room: roomId, + user: "@alice:example.com", + type: "m.room.message", + content: { + msgtype: MsgType.Text, + body: "Removed", + }, + unsigned: { + redacted_because: { + event_id: "$redaction", + sender: "@moderator:example.com", + type: "m.room.redaction", + origin_server_ts: Date.UTC(2024, 0, 1, 12, 0, 0), + content: {}, + unsigned: {}, + }, + }, + }); + jest.spyOn(event, "isRedacted").mockReturnValue(true); + + const { container, getByRole, queryByRole } = renderComponent({ mxEvent: event, isBaseEvent: true }); + + expect(container.querySelector(".mx_RedactedBody")).not.toBeNull(); + expect(queryByRole("button", { name: /remove/i })).toBeNull(); + + fireEvent.click(getByRole("button", { name: /view source/i })); + + expect(Modal.createDialog).toHaveBeenCalledWith( + ViewSource, + { + mxEvent: event, + ignoreEdits: true, + }, + "mx_Dialog_viewsource", + ); + }); + + it("opens the redact dialog and uses the client redact callback", async () => { + const event = mkEvent({ + event: true, + id: "$event", + room: roomId, + user: "@alice:example.com", + type: "m.room.message", + content: { + msgtype: MsgType.Text, + body: "Editable", + }, + }); + + const { getByRole } = renderComponent({ mxEvent: event }); + + fireEvent.click(getByRole("button", { name: /remove/i })); + + expect(Modal.createDialog).toHaveBeenCalledWith( + ConfirmAndWaitRedactDialog, + expect.objectContaining({ + event, + redact: expect.any(Function), + }), + "mx_Dialog_confirmredact", + ); + + const [, dialogProps] = (Modal.createDialog as jest.Mock).mock.calls[0]; + await dialogProps.redact(); + + expect(client.redactEvent).toHaveBeenCalledWith(roomId, "$event"); + }); + + it("updates content and timestamp view models when props change", () => { + developerMode = true; + const firstEventTs = Date.parse("2021-12-17T08:09:00.000Z"); + const secondEventTs = Date.parse("2021-12-17T09:09:00.000Z"); + const firstEvent = mkEvent({ + event: true, + id: "$first", + room: roomId, + user: "@alice:example.com", + type: "m.room.message", + ts: firstEventTs, + content: { + msgtype: MsgType.Text, + body: "First", + }, + }); + const secondEvent = mkEvent({ + event: true, + id: "$second", + room: roomId, + user: "@alice:example.com", + type: "m.room.message", + ts: secondEventTs, + content: { + "msgtype": MsgType.Text, + "body": "Second", + "m.new_content": { + msgtype: MsgType.Text, + body: "Second edited", + }, + }, + }); + + const { getByRole, getByText, queryByRole, rerender } = renderComponent({ + mxEvent: firstEvent, + isTwelveHour: false, + }); + + expect(getByRole("button", { name: /remove/i })).toBeInTheDocument(); + expect(getByText("08:09")).toBeInTheDocument(); + + rerender( + + + , + ); + + expect(getByText("Second edited")).toBeInTheDocument(); + expect(getByText("9:09 AM")).toBeInTheDocument(); + expect(queryByRole("button", { name: /remove/i })).toBeNull(); + expect(getByRole("button", { name: /view source/i })).toBeInTheDocument(); + }); +}); diff --git a/apps/web/test/unit-tests/components/views/dialogs/__snapshots__/MessageEditHistoryDialog-test.tsx.snap b/apps/web/test/unit-tests/components/views/dialogs/__snapshots__/MessageEditHistoryDialog-test.tsx.snap index bf12e387fd..6347665fe9 100644 --- a/apps/web/test/unit-tests/components/views/dialogs/__snapshots__/MessageEditHistoryDialog-test.tsx.snap +++ b/apps/web/test/unit-tests/components/views/dialogs/__snapshots__/MessageEditHistoryDialog-test.tsx.snap @@ -72,7 +72,8 @@ exports[` should match the snapshot 1`] = ` class="mx_EventTile_line" > 00:00 @@ -212,7 +213,8 @@ exports[` should support events with 1`] = ` class="mx_EventTile_line" > 00:00 @@ -263,7 +265,8 @@ exports[` should support events with 1`] = ` class="mx_EventTile_line" > 00:00 @@ -325,7 +328,8 @@ exports[` should support events with 1`] = ` class="mx_EventTile_line" > 00:00 diff --git a/apps/web/test/unit-tests/utils/exportUtils/__snapshots__/HTMLExport-test.ts.snap b/apps/web/test/unit-tests/utils/exportUtils/__snapshots__/HTMLExport-test.ts.snap index b27b49473f..bf5258b68a 100644 --- a/apps/web/test/unit-tests/utils/exportUtils/__snapshots__/HTMLExport-test.ts.snap +++ b/apps/web/test/unit-tests/utils/exportUtils/__snapshots__/HTMLExport-test.ts.snap @@ -57,7 +57,7 @@ exports[`HTMLExport should export 1`] = `

-
  • @user49:example.com
    00:00
    Message #49
  • @user48:example.com
    00:00
    Message #48
  • @user47:example.com
    00:00
    Message #47
  • @user46:example.com
    00:00
    Message #46
  • @user45:example.com
    00:00
    Message #45
  • @user44:example.com
    00:00
    Message #44
  • @user43:example.com
    00:00
    Message #43
  • @user42:example.com
    00:00
    Message #42
  • @user41:example.com
    00:00
    Message #41
  • @user40:example.com
    00:00
    Message #40
  • @user39:example.com
    00:00
    Message #39
  • @user38:example.com
    00:00
    Message #38
  • @user37:example.com
    00:00
    Message #37
  • @user36:example.com
    00:00
    Message #36
  • @user35:example.com
    00:00
    Message #35
  • @user34:example.com
    00:00
    Message #34
  • @user33:example.com
    00:00
    Message #33
  • @user32:example.com
    00:00
    Message #32
  • @user31:example.com
    00:00
    Message #31
  • @user30:example.com
    00:00
    Message #30
  • @user29:example.com
    00:00
    Message #29
  • @user28:example.com
    00:00
    Message #28
  • @user27:example.com
    00:00
    Message #27
  • @user26:example.com
    00:00
    Message #26
  • @user25:example.com
    00:00
    Message #25
  • @user24:example.com
    00:00
    Message #24
  • @user23:example.com
    00:00
    Message #23
  • @user22:example.com
    00:00
    Message #22
  • @user21:example.com
    00:00
    Message #21
  • @user20:example.com
    00:00
    Message #20
  • @user19:example.com
    00:00
    Message #19
  • @user18:example.com
    00:00
    Message #18
  • @user17:example.com
    00:00
    Message #17
  • @user16:example.com
    00:00
    Message #16
  • @user15:example.com
    00:00
    Message #15
  • @user14:example.com
    00:00
    Message #14
  • @user13:example.com
    00:00
    Message #13
  • @user12:example.com
    00:00
    Message #12
  • @user11:example.com
    00:00
    Message #11
  • @user10:example.com
    00:00
    Message #10
  • @user9:example.com
    00:00
    Message #9
  • @user8:example.com
    00:00
    Message #8
  • @user7:example.com
    00:00
    Message #7
  • @user6:example.com
    00:00
    Message #6
  • @user5:example.com
    00:00
    Message #5
  • @user4:example.com
    00:00
    Message #4
  • @user3:example.com
    00:00
    Message #3
  • @user2:example.com
    00:00
    Message #2
  • @user1:example.com
    00:00
    Message #1
  • @user0:example.com
    00:00
    Message #0
  • +
  • @user49:example.com
    00:00
    Message #49
  • @user48:example.com
    00:00
    Message #48
  • @user47:example.com
    00:00
    Message #47
  • @user46:example.com
    00:00
    Message #46
  • @user45:example.com
    00:00
    Message #45
  • @user44:example.com
    00:00
    Message #44
  • @user43:example.com
    00:00
    Message #43
  • @user42:example.com
    00:00
    Message #42
  • @user41:example.com
    00:00
    Message #41
  • @user40:example.com
    00:00
    Message #40
  • @user39:example.com
    00:00
    Message #39
  • @user38:example.com
    00:00
    Message #38
  • @user37:example.com
    00:00
    Message #37
  • @user36:example.com
    00:00
    Message #36
  • @user35:example.com
    00:00
    Message #35
  • @user34:example.com
    00:00
    Message #34
  • @user33:example.com
    00:00
    Message #33
  • @user32:example.com
    00:00
    Message #32
  • @user31:example.com
    00:00
    Message #31
  • @user30:example.com
    00:00
    Message #30
  • @user29:example.com
    00:00
    Message #29
  • @user28:example.com
    00:00
    Message #28
  • @user27:example.com
    00:00
    Message #27
  • @user26:example.com
    00:00
    Message #26
  • @user25:example.com
    00:00
    Message #25
  • @user24:example.com
    00:00
    Message #24
  • @user23:example.com
    00:00
    Message #23
  • @user22:example.com
    00:00
    Message #22
  • @user21:example.com
    00:00
    Message #21
  • @user20:example.com
    00:00
    Message #20
  • @user19:example.com
    00:00
    Message #19
  • @user18:example.com
    00:00
    Message #18
  • @user17:example.com
    00:00
    Message #17
  • @user16:example.com
    00:00
    Message #16
  • @user15:example.com
    00:00
    Message #15
  • @user14:example.com
    00:00
    Message #14
  • @user13:example.com
    00:00
    Message #13
  • @user12:example.com
    00:00
    Message #12
  • @user11:example.com
    00:00
    Message #11
  • @user10:example.com
    00:00
    Message #10
  • @user9:example.com
    00:00
    Message #9
  • @user8:example.com
    00:00
    Message #8
  • @user7:example.com
    00:00
    Message #7
  • @user6:example.com
    00:00
    Message #6
  • @user5:example.com
    00:00
    Message #5
  • @user4:example.com
    00:00
    Message #4
  • @user3:example.com
    00:00
    Message #3
  • @user2:example.com
    00:00
    Message #2
  • @user1:example.com
    00:00
    Message #1
  • @user0:example.com
    00:00
    Message #0
  • diff --git a/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.stories.tsx/default-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.stories.tsx/default-auto.png index 9874621547ba6160c5b1e12ac2bce240ce3ba0c8..56a96f7fac3ca29824989d05517356904149d7c6 100644 GIT binary patch literal 6438 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 LA1VJK{N_IZf|V+> literal 20270 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 NMpLT|$?IJI`afZNaB2Vm diff --git a/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.stories.tsx/has-actions-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.stories.tsx/has-actions-auto.png index 9b784175afe42c8efc080e21a61a63a1f66b98b7..b9fe307d097179e07e24a4090b97c1e9e38119b4 100644 GIT binary patch literal 4115 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 K8vpg<{r>?RH^m_U literal 24114 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 diff --git a/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.module.css b/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.module.css index e00b9f0678..284695c861 100644 --- a/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.module.css +++ b/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.module.css @@ -7,7 +7,7 @@ .content { color: var(--cpd-color-text-secondary); /* override anchor color */ - font-size: var(--cpd-font-size-body-xs); + font-size: 0.625rem; /* There is no Compound equivalent to $font-10px */ font-variant-numeric: tabular-nums; display: inline-block; white-space: nowrap; diff --git a/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.tsx b/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.tsx index 0d978ca3d8..228ac28b6c 100644 --- a/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.tsx +++ b/packages/shared-components/src/room/timeline/event-tile/timestamp/MessageTimestampView/MessageTimestampView.tsx @@ -53,7 +53,7 @@ export interface MessageTimestampViewActions { * The view model for the message timestamp. * * Snapshot data describes timestamp content and rendering behavior, while - * container styling is supplied via component props. + * host layout and placement styling is supplied via component props. */ export type MessageTimestampViewModel = ViewModel & MessageTimestampViewActions; @@ -74,11 +74,11 @@ interface MessageTimestampViewProps { * The view model provides the timestamp values and display options. The component * can render as a link when `href` is set, and can show both sent-at and received-at * times in the tooltip when `tsReceivedAt` is provided. Use `className` for - * host-level styling. + * host-level layout and placement styling. * * @example * ```tsx - * + * * ``` */ export function MessageTimestampView({ vm, className }: Readonly): JSX.Element {