matrix-art

An image gallery for Matrix
git clone git://archive.git.mtrnord.blog/MTRNord/matrix-art.git
Log | Files | Refs | README | LICENSE

commit af75e2be22b4f476f494c2ac1d76637c59207d17
parent ebec9e1ffe7ece050ca54e5b36836f46aefe0f32
Author: MTRNord <mtrnord1@gmail.com>
Date:   Fri, 31 Dec 2021 00:35:50 +0100

Fix image loading

Diffstat:
Mhelpers/event_types.ts | 2++
Mpages/Home.tsx | 11+++++++++--
2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/helpers/event_types.ts b/helpers/event_types.ts @@ -3,6 +3,7 @@ export type MatrixEventBase = { event_id: string; room_id: string; sender: string; + redacted_because: any | undefined; }; export type FileEvent = { @@ -29,6 +30,7 @@ export type ImageEventContent = { "m.file": FileEvent; "m.image": ImageFields; "m.thumbnail": ThumbnailFileEvent[]; + "matrixart.tags": string[]; }; export type MessageAlike = { "m.text": string; } | { body: string; mimetype: string; }; diff --git a/pages/Home.tsx b/pages/Home.tsx @@ -175,7 +175,7 @@ export default class Home extends Component<Props, State>{ </div> <div className='m-10'> <ul className='flex flex-wrap gap-1'> - {image_events.map(event => isImageGalleryEvent(event) ? this.render_gallery(event) : this.render_image(event))} + {image_events.map(event => isImageGalleryEvent(event) ? this.render_gallery(event) : isImageEvent(event) ? this.render_image(event) : <></>)} <li className='flex-grow-10'></li> </ul> </div> @@ -205,6 +205,7 @@ export default class Home extends Component<Props, State>{ render_image(event: ImageEvent) { + console.log(event); const caption = event.content['m.caption'].filter((cap) => { const possible_html_caption = (cap as { body: string; mimetype: string; }); return possible_html_caption.body !== undefined && possible_html_caption.mimetype === "text/html"; @@ -237,5 +238,10 @@ export default class Home extends Component<Props, State>{ } function isImageGalleryEvent(event: ImageEvents): event is ImageGalleryEvent { - return event.type === "m.image_gallery"; + return event.type === "m.image_gallery" && event.redacted_because === undefined; } + + +function isImageEvent(event: ImageEvents): event is ImageEvent { + return event.type === "m.image" && event.redacted_because === undefined; +} +\ No newline at end of file