aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/send
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-01-18 19:44:27 -0800
committerAdam Soltys <[email protected]>2023-01-18 19:44:27 -0800
commit67c4af186fec0423664b18847921eb9696a1eeef (patch)
tree85e0fb00f3aa89fdde1cbb667bf801564bff7610 /src/routes/(app)/send
parentb1ad12734eeafc36a07bd76f649a98ae9ade5723 (diff)
downloadcoinos-ui-67c4af186fec0423664b18847921eb9696a1eeef.tar.gz
coinos-ui-67c4af186fec0423664b18847921eb9696a1eeef.zip
pots
Diffstat (limited to 'src/routes/(app)/send')
-rw-r--r--src/routes/(app)/send/[...text]/+page.server.js6
-rw-r--r--src/routes/(app)/send/pot/[name]/[...amount]/+page.server.js (renamed from src/routes/(app)/send/voucher/+page.server.js)5
-rw-r--r--src/routes/(app)/send/pot/[name]/[...amount]/+page.svelte (renamed from src/routes/(app)/send/voucher/+page.svelte)3
-rw-r--r--src/routes/(app)/send/user/[username]/[...amount]/+page.server.js2
-rw-r--r--src/routes/(app)/send/user/[username]/[...amount]/+page.svelte18
5 files changed, 24 insertions, 10 deletions
diff --git a/src/routes/(app)/send/[...text]/+page.server.js b/src/routes/(app)/send/[...text]/+page.server.js
index eab57d64..f0c8b892 100644
--- a/src/routes/(app)/send/[...text]/+page.server.js
+++ b/src/routes/(app)/send/[...text]/+page.server.js
@@ -73,8 +73,8 @@ export async function load({ cookies, params, request, url }) {
export const actions = {
default: async ({ request, url }) => {
const form = await request.formData();
- await parse(form.get('text'), url.host);
-
- return invalid(403, { error: 'Does not compute, try again' });
+ let t = form.get('text');
+ await parse(t, url.host);
+ throw redirect(307, `/send/pot/${t}`);
}
};
diff --git a/src/routes/(app)/send/voucher/+page.server.js b/src/routes/(app)/send/pot/[name]/[...amount]/+page.server.js
index d479c76a..f25fcb6d 100644
--- a/src/routes/(app)/send/voucher/+page.server.js
+++ b/src/routes/(app)/send/pot/[name]/[...amount]/+page.server.js
@@ -3,14 +3,15 @@ import { auth, post } from '$lib/utils';
export const actions = {
default: async ({ cookies, request }) => {
+ let body = Object.fromEntries(await request.formData());
let p;
+
try {
- let body = Object.fromEntries(await request.formData());
p = await post('/send', body, auth(cookies));
} catch (e) {
return invalid(400, { message: e.message });
}
- if (p) throw redirect(307, `/voucher/${p.redeemcode}`);
+ if (p) throw redirect(307, `/pot/${body.name}`);
}
};
diff --git a/src/routes/(app)/send/voucher/+page.svelte b/src/routes/(app)/send/pot/[name]/[...amount]/+page.svelte
index 0020adc3..bb11ddde 100644
--- a/src/routes/(app)/send/voucher/+page.svelte
+++ b/src/routes/(app)/send/pot/[name]/[...amount]/+page.svelte
@@ -9,7 +9,7 @@
export let data;
export let form;
- let { address, amount } = $page.params;
+ let { amount, name } = $page.params;
let { currency } = data.user;
let loading;
@@ -35,6 +35,7 @@
<Numpad bind:amount {currency} />
<form method="POST" use:enhance on:submit={submit}>
+ <input name="name" value={name} type="hidden" />
<input name="amount" value={amount} type="hidden" />
<input name="pin" value={$pin} type="hidden" />
diff --git a/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js b/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js
index a659eef3..e670320c 100644
--- a/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js
+++ b/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js
@@ -14,6 +14,7 @@ export const actions = {
try {
let body = Object.fromEntries(await request.formData());
let { amount, confirmed } = body;
+ amount = parseInt(amount);
if (!confirmed) {
return invalid(403, { amount, confirm: true });
@@ -21,6 +22,7 @@ export const actions = {
await post('/send', body, auth(cookies));
} catch (e) {
+ console.log(e);
return invalid(400, { message: e.message });
}
diff --git a/src/routes/(app)/send/user/[username]/[...amount]/+page.svelte b/src/routes/(app)/send/user/[username]/[...amount]/+page.svelte
index 4cb8cfce..07e29f44 100644
--- a/src/routes/(app)/send/user/[username]/[...amount]/+page.svelte
+++ b/src/routes/(app)/send/user/[username]/[...amount]/+page.svelte
@@ -5,23 +5,32 @@
import { enhance } from '$app/forms';
import { Avatar, Icon, Numpad, Spinner } from '$comp';
import { page } from '$app/stores';
- import { back, f, s, sats } from '$lib/utils';
+ import { back, f, post, s, sats } from '$lib/utils';
export let data;
export let form;
- let { recipient, user } = data;
+ let { recipient, rates, user } = data;
let currency = user?.currency || 'USD';
let amount = form?.amount || data.amount;
let a,
af,
amountFiat = amount * ($selectedRate / sats),
- fiat = !amount;
+ fiat = !amount,
+ hash;
- let setAmount = () => {
+ let setAmount = async () => {
amount = a;
amountFiat = af;
+
+ ({ hash } = await post('/invoice', {
+ invoice: {
+ amount,
+ rate: rates[recipient.currency]
+ },
+ user: recipient
+ }));
};
let handleBack = () => {
@@ -77,6 +86,7 @@
<input name="username" value={recipient.username} type="hidden" />
<input name="confirmed" value={form?.confirm} type="hidden" />
<input name="pin" value={$pin} type="hidden" />
+ <input name="hash" value={hash} type="hidden" />
<div class="flex w-full">
{#if amount}