From ce1dfc388f7567dd36244a64f29031ad81c5acde Mon Sep 17 00:00:00 2001 From: ari melody Date: Sat, 29 Jun 2024 15:52:52 +0100 Subject: [PATCH] fix login page showing when logged in --- src/lib/client/client.js | 8 +++- src/routes/+page.js | 2 + src/routes/+page.svelte | 88 ++++++++++++++++++++-------------------- 3 files changed, 53 insertions(+), 45 deletions(-) create mode 100644 src/routes/+page.js diff --git a/src/lib/client/client.js b/src/lib/client/client.js index 5153c52..8b6031f 100644 --- a/src/lib/client/client.js +++ b/src/lib/client/client.js @@ -15,6 +15,7 @@ export class Client { constructor() { this.instance = null; this.app = null; + this.user = null; this.cache = { users: {}, emojis: {}, @@ -86,10 +87,13 @@ export class Client { async verifyCredentials() { const data = await api.verifyCredentials(); - if (!data) return false; + if (!data) { + this.user = false; + return false; + } this.user = await api.parseUser(data); client.set(this); - return data; + return this.user; } async getTimeline(last_post_id) { diff --git a/src/routes/+page.js b/src/routes/+page.js new file mode 100644 index 0000000..ceccaaf --- /dev/null +++ b/src/routes/+page.js @@ -0,0 +1,2 @@ +export const prerender = true; +export const ssr = false; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 7471c19..5ac85b2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -10,8 +10,7 @@ import { get } from 'svelte/store'; let client = get(Client.get()); - let ready = !!client; - let logged_in = client.app && client.app.token; + let logged_in; let instance_url_error = false; let logging_in = false; @@ -27,11 +26,16 @@ if (client.app && client.app.token) { // this triggers the client actually getting the authenticated user's data. - client.verifyCredentials().then(res => { - if (res) { - console.log(`Logged in as @${client.user.username}@${client.user.host}`); + client.verifyCredentials().then(user => { + if (user) { + console.log(`Logged in as @${user.username}@${user.host}`); + logged_in = true; + } else { + logged_in = false; } }); + } else { + logged_in = false; } function log_in(event) { @@ -67,47 +71,45 @@
- {#if ready} - {#if logged_in} -
-

Home

- -
- - - {:else} -
- - -

Welcome, fediverse user!

-

Please enter your instance domain to log in.

-
- - {#if instance_url_error} -

{instance_url_error}

- {/if} -
-
- -

- Please note this is - extremely experimental software; - things are likely to break! -
- If that's all cool with you, welcome aboard! -

- - -
- {/if} - {:else} + {#if logged_in === undefined}
just a moment...
+ {:else if logged_in === false} +
+ + +

Welcome, fediverse user!

+

Please enter your instance domain to log in.

+
+ + {#if instance_url_error} +

{instance_url_error}

+ {/if} +
+
+ +

+ Please note this is + extremely experimental software; + things are likely to break! +
+ If that's all cool with you, welcome aboard! +

+ + +
+ {:else} +
+

Home

+ +
+ + {/if}