matrix-react-sdk
Version:
SDK for matrix.org using React
53 lines (52 loc) • 1.89 kB
TypeScript
import React from "react";
import { IEventRelation, MatrixEvent, Room, EventTimelineSet, Thread } from "matrix-js-sdk/src/matrix";
import ResizeNotifier from "../../../utils/ResizeNotifier";
import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks";
import { Layout } from "../../../settings/enums/Layout";
import { E2EStatus } from "../../../utils/ShieldUtils";
import EditorStateTransfer from "../../../utils/EditorStateTransfer";
import RoomContext, { TimelineRenderingType } from "../../../contexts/RoomContext";
interface IProps {
room: Room;
onClose: () => void;
resizeNotifier: ResizeNotifier;
permalinkCreator: RoomPermalinkCreator;
e2eStatus?: E2EStatus;
classNames?: string;
timelineSet: EventTimelineSet;
timelineRenderingType?: TimelineRenderingType;
showComposer?: boolean;
composerRelation?: IEventRelation;
}
interface IState {
thread?: Thread;
editState?: EditorStateTransfer;
replyToEvent?: MatrixEvent;
initialEventId?: string;
isInitialEventHighlighted?: boolean;
layout: Layout;
atEndOfLiveTimeline: boolean;
narrow: boolean;
showReadReceipts?: boolean;
}
export default class TimelineCard extends React.Component<IProps, IState> {
static contextType: React.Context<import("../../structures/RoomView").IRoomState & {
threadId?: string;
}>;
context: React.ContextType<typeof RoomContext>;
private dispatcherRef?;
private layoutWatcherRef?;
private timelinePanel;
private card;
private readReceiptsSettingWatcher;
constructor(props: IProps, context: React.ContextType<typeof RoomContext>);
componentDidMount(): void;
componentWillUnmount(): void;
private onRoomViewStoreUpdate;
private onAction;
private onScroll;
private onMeasurement;
private jumpToLiveTimeline;
render(): React.ReactNode;
}
export {};