Refactor EventTile using the MVVM pattern - #5a (#33587)

* Extract EventTile receipt state

* Extract EventTile thread state

* Extract EventTile reaction relation state

* Extract EventTile reply-chain state

* Keep reply chain collapse wiring in EventTile

* Reuse message event eligibility for receipts
This commit is contained in:
rbondesson
2026-05-22 18:25:32 +00:00
committed by GitHub
parent 6574863fcd
commit 03360eb260
10 changed files with 824 additions and 129 deletions
@@ -34,7 +34,6 @@ import { Layout } from "../../settings/enums/Layout";
import EventTile, {
type GetRelationsForEvent,
type IReadReceiptProps,
isEligibleForSpecialReceipt,
type UnwrappedEventTile,
} from "../views/rooms/EventTile";
import IRCTimelineProfileResizer from "../views/elements/IRCTimelineProfileResizer";
@@ -58,6 +57,7 @@ import { CreationGrouper } from "./grouper/CreationGrouper";
import { _t } from "../../languageHandler";
import { getLateEventInfo } from "./grouper/LateEventGrouper";
import { DateSeparatorViewModel } from "../../viewmodels/room/timeline/DateSeparatorViewModel";
import { isEligibleForSpecialReceipt } from "../../viewmodels/room/timeline/event-tile/EventTileReceiptState";
const CONTINUATION_MAX_INTERVAL = 5 * 60 * 1000; // 5 minutes
const continuedTypes = [EventType.Sticker, EventType.RoomMessage];