From a3fdd0007c100f48e11b74e33665e58c633a96f2 Mon Sep 17 00:00:00 2001 From: ari melody Date: Sun, 7 Jul 2024 14:33:28 +0100 Subject: [PATCH] rewrite URLs to represent instance (#2) --- src/lib/client/app.js | 5 +- src/lib/client/server.js | 5 +- src/lib/ui/Navigation.svelte | 3 +- src/lib/ui/post/ActionBar.svelte | 17 ++- src/lib/ui/post/Post.svelte | 3 +- src/lib/ui/post/ReactionBar.svelte | 10 +- src/routes/+layout.svelte | 13 +- src/routes/+page.svelte | 12 +- src/routes/{post/[id] => [server]}/+page.js | 2 +- src/routes/[server]/[account]/+page.js | 8 + src/routes/[server]/[account]/[post]/+page.js | 7 + .../[server]/[account]/[post]/+page.svelte | 143 ++++++++++++++++++ src/routes/callback/+page.svelte | 1 - src/routes/post/+page.js | 5 - src/routes/post/[id]/+page.svelte | 133 ---------------- 15 files changed, 199 insertions(+), 168 deletions(-) rename src/routes/{post/[id] => [server]}/+page.js (63%) create mode 100644 src/routes/[server]/[account]/+page.js create mode 100644 src/routes/[server]/[account]/[post]/+page.js create mode 100644 src/routes/[server]/[account]/[post]/+page.svelte delete mode 100644 src/routes/post/+page.js delete mode 100644 src/routes/post/[id]/+page.svelte diff --git a/src/lib/client/app.js b/src/lib/client/app.js index dc549a7..e17ead4 100644 --- a/src/lib/client/app.js +++ b/src/lib/client/app.js @@ -18,7 +18,10 @@ app.subscribe(app => { */ function saveApp(app) { if (!browser) return; - if (!app) localStorage.removeItem(app_name + "_app"); + if (!app) { + localStorage.removeItem(app_name + "_app"); + return; + } localStorage.setItem(app_name + "_app", JSON.stringify(app)); } diff --git a/src/lib/client/server.js b/src/lib/client/server.js index 91dcd48..6b42ffe 100644 --- a/src/lib/client/server.js +++ b/src/lib/client/server.js @@ -73,7 +73,10 @@ export async function createServer(host) { */ function saveServer(server) { if (!browser) return; - if (!server) localStorage.removeItem(app_name + "_server"); + if (!server) { + localStorage.removeItem(app_name + "_server"); + return; + } localStorage.setItem(app_name + "_server", JSON.stringify(server)); } diff --git a/src/lib/ui/Navigation.svelte b/src/lib/ui/Navigation.svelte index c3e0abd..6540562 100644 --- a/src/lib/ui/Navigation.svelte +++ b/src/lib/ui/Navigation.svelte @@ -88,7 +88,7 @@ - {#if $logged_in} + {#if $account} {/if} + campfire v{VERSION}
diff --git a/src/lib/ui/post/ActionBar.svelte b/src/lib/ui/post/ActionBar.svelte index 2a08795..ebaccb9 100644 --- a/src/lib/ui/post/ActionBar.svelte +++ b/src/lib/ui/post/ActionBar.svelte @@ -1,6 +1,5 @@ -{#if $logged_in} +{#if $account}

Home

diff --git a/src/routes/post/[id]/+page.js b/src/routes/[server]/+page.js similarity index 63% rename from src/routes/post/[id]/+page.js rename to src/routes/[server]/+page.js index 9291873..bc936af 100644 --- a/src/routes/post/[id]/+page.js +++ b/src/routes/[server]/+page.js @@ -1,5 +1,5 @@ export async function load({ params }) { return { - post_id: params.id + server_domain: params.server }; } diff --git a/src/routes/[server]/[account]/+page.js b/src/routes/[server]/[account]/+page.js new file mode 100644 index 0000000..edbfd18 --- /dev/null +++ b/src/routes/[server]/[account]/+page.js @@ -0,0 +1,8 @@ +import { error } from '@sveltejs/kit'; + +export async function load({ params }) { + return error(404, 'Not Found'); + // return { + // account_name: params.account + // }; +} diff --git a/src/routes/[server]/[account]/[post]/+page.js b/src/routes/[server]/[account]/[post]/+page.js new file mode 100644 index 0000000..0cd52c3 --- /dev/null +++ b/src/routes/[server]/[account]/[post]/+page.js @@ -0,0 +1,7 @@ +export async function load({ params }) { + return { + server_host: params.server, + account_handle: params.account, + post_id: params.post + }; +} diff --git a/src/routes/[server]/[account]/[post]/+page.svelte b/src/routes/[server]/[account]/[post]/+page.svelte new file mode 100644 index 0000000..ed6a050 --- /dev/null +++ b/src/routes/[server]/[account]/[post]/+page.svelte @@ -0,0 +1,143 @@ + + +{#await post} +
+ loading post... +
+{:then post} + {#if error} +

{@html error}

+ {:else} +
+ {#if previous_page} + + {/if} + +

+ Post by {@html post.account.rich_name} +

+
+ +
+ +
+ {#each post.replies as reply} + {#await reply then reply} + + {/await} + {/each} +
+ {/if} +{/await} + + diff --git a/src/routes/callback/+page.svelte b/src/routes/callback/+page.svelte index 6651619..2f0921e 100644 --- a/src/routes/callback/+page.svelte +++ b/src/routes/callback/+page.svelte @@ -19,7 +19,6 @@ api.getToken(get(server).host, get(app).id, get(app).secret, auth_code).then(token => { if (!token) { error(400, { message: "Invalid auth code provided" }); - return; } app.update(app => { diff --git a/src/routes/post/+page.js b/src/routes/post/+page.js deleted file mode 100644 index c0ac9bd..0000000 --- a/src/routes/post/+page.js +++ /dev/null @@ -1,5 +0,0 @@ -import { error } from '@sveltejs/kit'; - -export function load(event) { - error(404, 'Not Found'); -} diff --git a/src/routes/post/[id]/+page.svelte b/src/routes/post/[id]/+page.svelte deleted file mode 100644 index c0b2379..0000000 --- a/src/routes/post/[id]/+page.svelte +++ /dev/null @@ -1,133 +0,0 @@ - - -{#if !error} -
- {#await post then post} - - -

- Post by {@html post.account.rich_name} -

- {/await} -
- -
- {#await post} -
- loading post... -
- {:then post} - -
- {#each post.replies as reply} - {#await reply then reply} - - {/await} - {/each} - {/await} -
-{:else} -

{@html error}

-{/if} - -