keanu-weblite/src/models/eventAttachment.ts

28 lines
899 B
TypeScript
Raw Normal View History

import { MatrixEvent, Room } from "matrix-js-sdk";
2025-06-09 09:44:37 +02:00
export type KeanuEventExtension = {
isMxThread?: boolean;
isChannelMessage?: boolean;
isPinned?: boolean;
parentThread?: MatrixEvent & KeanuEventExtension;
replyEvent?: MatrixEvent & KeanuEventExtension;
2025-06-09 09:44:37 +02:00
}
export type EventAttachment = {
event: MatrixEvent & KeanuEventExtension;
src?: string;
thumbnail?: string;
srcPromise?: Promise<string>;
thumbnailPromise?: Promise<string>;
srcProgress: number;
thumbnailProgress: number;
loadSrc: () => void;
loadThumbnail: () => Promise<string>;
release: (src: boolean, thumbnail: boolean) => void;
2025-06-09 09:44:37 +02:00
};
export type KeanuEvent = MatrixEvent & KeanuEventExtension;
export type KeanuRoom = Room & {
displayType: "im.keanu.room_type_default" | "im.keanu.room_type_voice" | "im.keanu.room_type_file" | "im.keanu.room_type_channel" | undefined;
}