From bee2cdd4a24787c4bf808de4d03783955610c905 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 16 Mar 2023 00:15:30 -0700 Subject: direct to generate page if necessary --- src/routes/(app)/+layout.server.js | 3 ++ .../(app)/[username]/(profile)/+page.server.js | 38 +++++++++++----------- 2 files changed, 22 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/routes/(app)/+layout.server.js b/src/routes/(app)/+layout.server.js index ef278744..e80e1e64 100644 --- a/src/routes/(app)/+layout.server.js +++ b/src/routes/(app)/+layout.server.js @@ -30,6 +30,9 @@ export async function load({ cookies, request, url, params }) { throw redirect(307, '/login'); } + if (user && !user.pubkey && !pathname.includes('generate')) + throw redirect(307, `/${user.username}/generate`); + try { rate = await get('/rate'); rates = await get('/rates'); diff --git a/src/routes/(app)/[username]/(profile)/+page.server.js b/src/routes/(app)/[username]/(profile)/+page.server.js index d6cf3984..e37db1fe 100644 --- a/src/routes/(app)/[username]/(profile)/+page.server.js +++ b/src/routes/(app)/[username]/(profile)/+page.server.js @@ -5,31 +5,31 @@ export async function load({ cookies, params, parent, url }) { let { pubkey } = subject; let { since = 0 } = params; - let messages, invoices, sent, received; - messages = invoices = sent = received = []; + let messages, invoices, sent, received, notes; + messages = invoices = sent = received = notes = []; + + if (pubkey) { + if (user) { + try { + messages = await get(`/${user.pubkey}/${since}/messages`); + messages = messages.sort((a, b) => b.created_at - a.created_at); + } catch (e) { + console.log(`failed to fetch nostr messages`, e); + } + + ({ invoices, sent, received } = await get('/requests', auth(cookies))); + } - if (user) { try { - messages = await get(`/${user.pubkey}/${since}/messages`); - messages = messages.sort((a, b) => b.created_at - a.created_at); + notes = await get(`/${pubkey}/notes`); } catch (e) { - console.log(`failed to fetch nostr messages`, e); + console.log(`failed to fetch nostr notes for ${pubkey}`, e); } - ({ invoices, sent, received } = await get('/requests', auth(cookies))); + notes.map((e) => { + e.seen = e.created_at; + }); } - let notes = []; - - try { - notes = await get(`/${pubkey}/notes`); - } catch (e) { - console.log(`failed to fetch nostr notes for ${pubkey}`, e); - } - - notes.map((e) => { - e.seen = e.created_at; - }); - return { invoices, messages, notes, sent, received }; } -- cgit v1.2.3