diff options
| -rw-r--r-- | src/components/AppHeader.svelte | 5 | ||||
| -rw-r--r-- | src/components/Avatar.svelte | 12 | ||||
| -rw-r--r-- | src/hooks.server.js | 19 | ||||
| -rw-r--r-- | src/lib/socket.js | 2 | ||||
| -rw-r--r-- | src/params/uuid.js | 2 | ||||
| -rw-r--r-- | src/routes/register/+page.server.js | 10 | ||||
| -rw-r--r-- | src/routes/send/[uuid=uuid]/+page.svelte | 2 | ||||
| -rw-r--r-- | src/routes/send/user/[username]/[...amount]/+page.server.js | 4 | ||||
| -rw-r--r-- | src/routes/send/user/[username]/[...amount]/+page.svelte | 2 | ||||
| -rw-r--r-- | src/routes/sent/+page.svelte | 2 |
10 files changed, 45 insertions, 15 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 59cd70da..f9413efb 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -39,7 +39,10 @@ : undefined; </script> -<header class="bg-gradient-to-r {$colorTheme} h-[175px] w-full relative bg-cover" style:background-image={bg} > +<header + class="bg-gradient-to-r {$colorTheme} h-[175px] w-full relative bg-cover" + style:background-image={bg} +> <nav class="flex justify-end items-center space-x-4 p-5"> {#if user} <a href={`/${user.username}/receive`}> diff --git a/src/components/Avatar.svelte b/src/components/Avatar.svelte index c2c15fd1..ed1a499a 100644 --- a/src/components/Avatar.svelte +++ b/src/components/Avatar.svelte @@ -6,10 +6,10 @@ export let user; </script> - <a href={`/${user.username}`}> -<div - class="rounded-full border-4 border-white overflow-hidden w-32 h-32 bg-gradient-to-r {$colorTheme} flex justify-center items-center" -> +<a href={`/${user.username}`}> + <div + class="rounded-full border-4 border-white overflow-hidden w-32 h-32 bg-gradient-to-r {$colorTheme} flex justify-center items-center" + > {#if user?.profile} <img src={$tempProfileFiles && $tempProfileFiles.profile @@ -21,5 +21,5 @@ {:else} <Icon icon="logo-symbol-white" /> {/if} -</div> - </a> + </div> +</a> diff --git a/src/hooks.server.js b/src/hooks.server.js new file mode 100644 index 00000000..58882771 --- /dev/null +++ b/src/hooks.server.js @@ -0,0 +1,19 @@ +import { auth, get } from '$lib/utils'; + +export async function handle({ event, resolve }) { + let token = event.cookies.get('token'); + if (token) { + event.request.headers.set('authorization', `Bearer ${token}`); + + try { + event.locals.user = await get('/me', auth(event.cookies)); + } catch (e) { + console.log('failed to get user', e); + } + } + + const response = await resolve(event); + response.headers.set('x-custom-header', 'potato'); + + return response; +} diff --git a/src/lib/socket.js b/src/lib/socket.js index b32aa14a..02d73a48 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -20,7 +20,7 @@ export const messages = (data) => ({ payment() { let { amount, invoice } = data; - console.log("INVOICE", invoice) + console.log('INVOICE', invoice); if (invoice) { invoices.set({ ...get(invoices), [invoice.uuid]: invoice }); } diff --git a/src/params/uuid.js b/src/params/uuid.js index b71f68f1..1278e59e 100644 --- a/src/params/uuid.js +++ b/src/params/uuid.js @@ -1 +1 @@ -export let match = (p) => p.split('-').length > 4 +export let match = (p) => p.split('-').length > 4; diff --git a/src/routes/register/+page.server.js b/src/routes/register/+page.server.js index 5667914b..acb96575 100644 --- a/src/routes/register/+page.server.js +++ b/src/routes/register/+page.server.js @@ -7,14 +7,22 @@ export const actions = { let { username, password, redirect: r } = form; let user = { username, password }; + let error; try { await post('/register', { user }); + } catch (e) { + if (e.message.includes('taken')) error = e.message; + } + + try { await login(user, cookies); + error = null; } catch (e) { - return invalid(400, { error: e.message }); + error ||= e.message; } + if (error) return invalid(400, { error }); throw redirect(303, r || `/${user.username}/dashboard`); } }; diff --git a/src/routes/send/[uuid=uuid]/+page.svelte b/src/routes/send/[uuid=uuid]/+page.svelte index f625978f..aa798bc1 100644 --- a/src/routes/send/[uuid=uuid]/+page.svelte +++ b/src/routes/send/[uuid=uuid]/+page.svelte @@ -1,5 +1,5 @@ <script> - import { goto } from "$app/navigation"; + import { goto } from '$app/navigation'; import { selectedRate } from '$lib/store'; import { enhance } from '$app/forms'; import { Icon, Numpad, Spinner } from '$comp'; diff --git a/src/routes/send/user/[username]/[...amount]/+page.server.js b/src/routes/send/user/[username]/[...amount]/+page.server.js index d878fe2f..12bae186 100644 --- a/src/routes/send/user/[username]/[...amount]/+page.server.js +++ b/src/routes/send/user/[username]/[...amount]/+page.server.js @@ -3,9 +3,9 @@ import { btc as asset, auth, get, post } from '$lib/utils'; export async function load({ params, parent }) { let { user } = await parent(); - let { amount } = params; + let { amount } = params; let recipient = await get(`/users/${params.username}`); - if (recipient.username === user.username) throw error(500, { message: 'Cannot send to self' }); + if (recipient.username === user?.username) throw error(500, { message: 'Cannot send to self' }); return { amount, recipient }; } diff --git a/src/routes/send/user/[username]/[...amount]/+page.svelte b/src/routes/send/user/[username]/[...amount]/+page.svelte index a50dea53..e50acd5b 100644 --- a/src/routes/send/user/[username]/[...amount]/+page.svelte +++ b/src/routes/send/user/[username]/[...amount]/+page.svelte @@ -9,7 +9,7 @@ export let form; let { recipient, user } = data; - let { currency } = user; + let currency = user?.currency || 'USD'; let amount = form?.amount || data.amount; let a, diff --git a/src/routes/sent/+page.svelte b/src/routes/sent/+page.svelte index 95612a17..5c2301fa 100644 --- a/src/routes/sent/+page.svelte +++ b/src/routes/sent/+page.svelte @@ -10,7 +10,7 @@ let payment = user.payments[0]; let { amount, rate } = payment; - amount = Math.abs(amount); + amount = Math.abs(amount); let fiat = (amount * rate) / sats; |
