aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/send/bitcoin
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-10-25 00:11:35 -0700
committerAdam Soltys <[email protected]>2022-10-25 00:11:35 -0700
commitb1f81daaab3b04e8ae0b3e4edd4984aeade8098e (patch)
tree97369f2a128b778a0344b7a6e7458de47eab9769 /src/routes/send/bitcoin
parent0e17224e71296cf6a0336c5a2e7340a3b63cd2dc (diff)
downloadcoinos-ui-b1f81daaab3b04e8ae0b3e4edd4984aeade8098e.tar.gz
coinos-ui-b1f81daaab3b04e8ae0b3e4edd4984aeade8098e.zip
send pin
Diffstat (limited to 'src/routes/send/bitcoin')
-rw-r--r--src/routes/send/bitcoin/[address]/+page.server.js13
-rw-r--r--src/routes/send/bitcoin/[address]/+page.svelte16
2 files changed, 25 insertions, 4 deletions
diff --git a/src/routes/send/bitcoin/[address]/+page.server.js b/src/routes/send/bitcoin/[address]/+page.server.js
index 9b29a6da..642593ab 100644
--- a/src/routes/send/bitcoin/[address]/+page.server.js
+++ b/src/routes/send/bitcoin/[address]/+page.server.js
@@ -1,11 +1,16 @@
-import { redirect } from '@sveltejs/kit';
+import { invalid, redirect } from '@sveltejs/kit';
import { auth, post } from '$lib/utils';
export const actions = {
default: async ({ cookies, request }) => {
- let { address, amount } = Object.fromEntries(await request.formData());
- let { tx } = await post('/bitcoin/fee', { address, amount }, auth(cookies));
- await post('/bitcoin/send', { address, tx }, auth(cookies));
+ try {
+ let { address, amount, pin } = Object.fromEntries(await request.formData());
+ let { tx } = await post('/bitcoin/fee', { address, amount }, auth(cookies));
+ await post('/bitcoin/send', { address, pin, tx }, auth(cookies));
+ } catch (e) {
+ return invalid(400, { message: e.message });
+ }
+
throw redirect(307, '/sent');
}
};
diff --git a/src/routes/send/bitcoin/[address]/+page.svelte b/src/routes/send/bitcoin/[address]/+page.svelte
index 8c9e72ff..c9023180 100644
--- a/src/routes/send/bitcoin/[address]/+page.svelte
+++ b/src/routes/send/bitcoin/[address]/+page.svelte
@@ -3,19 +3,33 @@
import { Icon, Numpad, Spinner } from '$comp';
import { page } from '$app/stores';
import { back } from '$lib/utils';
+ import { pin } from '$lib/store';
+
export let data;
+ export let form;
let { address } = $page.params;
let { currency } = data.user;
let amount, loading;
let submit = () => (loading = true);
+ $: update(form);
+ let update = () => {
+ if (form?.message.includes('pin')) $pin = undefined;
+ loading = false;
+ };
</script>
<button class="ml-5 md:ml-20 mt-5 md:mt-10 hover:opacity-80" on:click={back}>
<Icon icon="arrow-left" style="w-10" />
</button>
+{#if form?.message}
+ <div class="text-red-600 text-center">
+ {form.message}
+ </div>
+{/if}
+
<div class="container px-4 mt-20 max-w-xl mx-auto">
<div class="text-center mb-8">
<h1 class="text-3xl md:text-4xl font-semibold mb-2">Send to</h1>
@@ -26,6 +40,8 @@
<form method="POST" use:enhance on:submit={submit}>
<input name="address" value={address} type="hidden" />
<input name="amount" value={amount} type="hidden" />
+ <input name="pin" value={$pin} type="hidden" />
+
<div class="flex w-full">
<button
type="submit"