aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-10-07 15:27:55 -0700
committerAdam Soltys <[email protected]>2022-10-07 15:27:55 -0700
commit652d5d475b08aabded5d45ac9b187059b1f5ee93 (patch)
tree266d1824f6ff091323295e0745d56c9a0b6bb147
parent34e0e3161775783345fc2c9d2f998e7a7779e8b8 (diff)
downloadcoinos-ui-652d5d475b08aabded5d45ac9b187059b1f5ee93.tar.gz
coinos-ui-652d5d475b08aabded5d45ac9b187059b1f5ee93.zip
sign in from registration page if the password works
-rw-r--r--src/components/AppHeader.svelte5
-rw-r--r--src/components/Avatar.svelte12
-rw-r--r--src/hooks.server.js19
-rw-r--r--src/lib/socket.js2
-rw-r--r--src/params/uuid.js2
-rw-r--r--src/routes/register/+page.server.js10
-rw-r--r--src/routes/send/[uuid=uuid]/+page.svelte2
-rw-r--r--src/routes/send/user/[username]/[...amount]/+page.server.js4
-rw-r--r--src/routes/send/user/[username]/[...amount]/+page.svelte2
-rw-r--r--src/routes/sent/+page.svelte2
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;