matrix-art

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

commit 5584a3222caaf38b46d2a1a1b78d8918521df72b
parent 820a566e809355c8254bf5798ad0cf7564e34ac7
Author: MTRNord <mtrnord1@gmail.com>
Date:   Fri, 31 Dec 2021 14:26:12 +0100

Cleanup

Diffstat:
Mpages/Home.tsx | 5-----
Mpages/post/[id].tsx | 46++++++++++++++--------------------------------
2 files changed, 14 insertions(+), 37 deletions(-)

diff --git a/pages/Home.tsx b/pages/Home.tsx @@ -216,9 +216,4 @@ export function isImageGalleryEvent(event: ImageEvents): event is ImageGalleryEv export function isImageEvent(event: ImageEvents): event is ImageEvent { return event.type === "m.image" && event.redacted_because === undefined; -}; - -export const getServerSideProps = async (context: any) => { - console.log("getServerSideProps"); - return { props: {} }; }; \ No newline at end of file diff --git a/pages/post/[id].tsx b/pages/post/[id].tsx @@ -1,13 +1,12 @@ -import { GetServerSidePropsContext, InferGetServerSidePropsType } from "next"; +import { GetServerSideProps, GetServerSidePropsContext, InferGetServerSidePropsType } from "next"; import Head from "next/head"; import { NextRouter, withRouter } from "next/router"; -import { Component, ReactNode } from "react"; +import { Component } from "react"; import { RingLoader } from "react-spinners"; import { ClientContext } from "../../components/ClientContext"; import Header from "../../components/Header"; import { ImageEvent, ImageGalleryEvent, MatrixEventBase, MatrixImageEvents } from "../../helpers/event_types"; -import MatrixClient, { constMatrixArtServer } from "../../helpers/matrix_client"; -import Storage from "../../helpers/storage"; +import { constMatrixArtServer } from "../../helpers/matrix_client"; import { get_data } from "../api/directory"; import { isImageEvent, isImageGalleryEvent } from "../Home"; @@ -42,26 +41,21 @@ class Post extends Component<Props, State> { } async componentDidMount() { + if (!this.context.client?.accessToken) { + try { + let serverUrl = constMatrixArtServer + "/_matrix/client"; + await this.context.client?.registerAsGuest(serverUrl); + } catch (err) { + console.error("Failed to register as guest:", err); + } + } else { + console.log("Already logged in"); + } if (this.props.directory_data && this.props.event_id && this.props.event_id.startsWith("$")) { await this.loadEvent(this.props.event_id); } } - async registerAsGuest() { - try { - let serverUrl = constMatrixArtServer + "/_matrix/client"; - await this.context.client?.registerAsGuest(serverUrl); - if (typeof window !== "undefined") { - window.location.reload(); - } - } catch (err) { - console.error("Failed to register as guest:", err); - this.setState({ - error: "Failed to register as guest: " + JSON.stringify(err), - }); - } - } - async loadEvent(event_id: string) { const { hasFullyLoaded, isLoadingImages } = this.state; if (isLoadingImages || hasFullyLoaded || !this.props.directory_data) { @@ -221,23 +215,11 @@ class Post extends Component<Props, State> { Post.contextType = ClientContext; -export const getServerSideProps = async (context: GetServerSidePropsContext) => { +export const getServerSideProps: GetServerSideProps = async (context) => { const { query } = context; const event_id = decodeURIComponent(query.id as string); if (event_id && event_id.startsWith("$")) { - // auto-register as a guest if not logged in - const client = new MatrixClient(new Storage()); - if (!client.accessToken) { - try { - let serverUrl = constMatrixArtServer + "/_matrix/client"; - await client.registerAsGuest(serverUrl); - } catch (err) { - console.error("Failed to register as guest:", err); - } - } else { - console.log("Already logged in"); - } try { const data = await get_data();