diff options
| author | Adam Soltys <[email protected]> | 2022-12-29 16:07:47 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-12-29 16:07:47 -0800 |
| commit | 97c0bf2a15a6570093b326044766d127ba950347 (patch) | |
| tree | 3406d9706990bf54b2ec86091ab5cf653416b62c /src | |
| parent | 65c1a7a3113c0fabe67d74f430254845830e1e2f (diff) | |
| download | coinos-ui-97c0bf2a15a6570093b326044766d127ba950347.tar.gz coinos-ui-97c0bf2a15a6570093b326044766d127ba950347.zip | |
catch follow errors
Diffstat (limited to 'src')
| -rw-r--r-- | src/hooks.server.js | 9 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/(profile)/+layout.server.js | 16 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/(profile)/+page.svelte | 2 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/(profile)/follows/+page.svelte | 4 |
4 files changed, 23 insertions, 8 deletions
diff --git a/src/hooks.server.js b/src/hooks.server.js index e4a7a0eb..b97daa5a 100644 --- a/src/hooks.server.js +++ b/src/hooks.server.js @@ -5,7 +5,6 @@ let users = {}; export async function handle({ event, resolve }) { let token = event.cookies.get('token'); let { - cookies, params, request, url: { pathname, origin } @@ -14,7 +13,13 @@ export async function handle({ event, resolve }) { let user; if (token && pathname !== '/logout') { try { - user = await get('/me', auth(event.cookies)); + user = users[token] || (await get('/me', auth(event.cookies))); + users[token] = user; + + setTimeout(() => { + delete users[token]; + }, 60000); + event.locals.user = user; if (['/', '/login', '/register'].includes(pathname) && request.method === 'GET') diff --git a/src/routes/(app)/[username]/(profile)/+layout.server.js b/src/routes/(app)/[username]/(profile)/+layout.server.js index 9cd0870d..f4f2ca0a 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.server.js +++ b/src/routes/(app)/[username]/(profile)/+layout.server.js @@ -3,8 +3,20 @@ import { get } from '$lib/utils'; export async function load({ parent }) { let { subject, user } = await parent(); - subject.follows = await get(`/${subject.pubkey}/follows`); - subject.followers = await get(`/${subject.pubkey}/followers`); + subject.follows = []; + subject.followers = []; + + try { + subject.follows = await get(`/${subject.pubkey}/follows`); + } catch (e) { + console.log('problem fetching follows', e); + } + + try { + subject.followers = await get(`/${subject.pubkey}/followers`); + } catch (e) { + console.log('problem fetching followers', e); + } if (user) { user.follows = await get(`/${user.pubkey}/follows?tagsonly=true`); diff --git a/src/routes/(app)/[username]/(profile)/+page.svelte b/src/routes/(app)/[username]/(profile)/+page.svelte index 3d4d1fb6..f23a1753 100644 --- a/src/routes/(app)/[username]/(profile)/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/+page.svelte @@ -6,4 +6,4 @@ let { events, subject, user } = data; </script> -<Feed {events} user={subject.username === user.username && user} /> +<Feed {events} user={subject?.username === user?.username && user} /> diff --git a/src/routes/(app)/[username]/(profile)/follows/+page.svelte b/src/routes/(app)/[username]/(profile)/follows/+page.svelte index 93fc4aab..a9b65483 100644 --- a/src/routes/(app)/[username]/(profile)/follows/+page.svelte +++ b/src/routes/(app)/[username]/(profile)/follows/+page.svelte @@ -13,9 +13,7 @@ <svelte:window bind:innerWidth={w} /> <div class="mt-24 mb-20 px-3 md:px-0 w-full md:w-[400px] mx-auto space-y-8"> - <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold"> - Follows - </h1> + <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold">Follows</h1> {#if browser} {#if follows.length} |
