matrix-react-sdk
Version:
SDK for matrix.org using React
40 lines (39 loc) • 1.44 kB
TypeScript
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
import { ViewRoom as ViewRoomEvent } from "@matrix-org/analytics-events/types/typescript/ViewRoom";
import { ActionPayload } from "../payloads";
import { Action } from "../actions";
import { IOOBData, IThreepidInvite } from "../../stores/ThreepidInviteStore";
import { IOpts } from "../../createRoom";
import { JoinRoomPayload } from "./JoinRoomPayload";
import { AtLeastOne } from "../../@types/common";
export type FocusNextType = "composer" | "threadsPanel" | undefined;
interface BaseViewRoomPayload extends Pick<ActionPayload, "action"> {
action: Action.ViewRoom;
event_id?: string;
highlighted?: boolean;
scroll_into_view?: boolean;
should_peek?: boolean;
joining?: boolean;
via_servers?: string[];
context_switch?: boolean;
replyingToEvent?: MatrixEvent;
auto_join?: boolean;
threepid_invite?: IThreepidInvite;
justCreatedOpts?: IOpts;
oob_data?: IOOBData;
forceTimeline?: boolean;
show_room_tile?: boolean;
clear_search?: boolean;
view_call?: boolean;
skipLobby?: boolean;
opts?: JoinRoomPayload["opts"];
deferred_action?: ActionPayload;
metricsTrigger: ViewRoomEvent["trigger"];
metricsViaKeyboard?: ViewRoomEvent["viaKeyboard"];
}
export type ViewRoomPayload = BaseViewRoomPayload & AtLeastOne<{
room_id?: string;
room_alias?: string;
focusNext: FocusNextType;
}>;
export {};