Closes https://github.com/vector-im/element-web/issues/18958
This commit is contained in:
parent
9c753765d5
commit
f8c516d927
8 changed files with 83 additions and 16 deletions
|
@ -27,6 +27,7 @@ import { CallHangupEvent } from "./previews/CallHangupEvent";
|
|||
import { StickerEventPreview } from "./previews/StickerEventPreview";
|
||||
import { ReactionEventPreview } from "./previews/ReactionEventPreview";
|
||||
import { UPDATE_EVENT } from "../AsyncStore";
|
||||
import { Thread } from "matrix-js-sdk/src/models/thread";
|
||||
|
||||
// Emitted event for when a room's preview has changed. First argument will the room for which
|
||||
// the change happened.
|
||||
|
@ -108,6 +109,15 @@ export class MessagePreviewStore extends AsyncStoreWithClient<IState> {
|
|||
return previews.get(inTagId);
|
||||
}
|
||||
|
||||
public generateThreadPreview(thread: Thread): string {
|
||||
const lastEvent = thread.replyToEvent;
|
||||
const previewDef = PREVIEWS[lastEvent.getType()];
|
||||
// TODO: Handle case where we don't have
|
||||
if (!previewDef) return '';
|
||||
const previewText = previewDef.previewer.getTextFor(lastEvent, null, true);
|
||||
return previewText ?? '';
|
||||
}
|
||||
|
||||
private async generatePreview(room: Room, tagId?: TagID) {
|
||||
const events = room.timeline;
|
||||
if (!events) return; // should only happen in tests
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue