From af598ffa4432706fd518c2fedd6b685f52fd1ae1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 15 Feb 2023 22:47:27 -0800 Subject: buy page --- src/routes/(app)/buy/+page.server.js | 24 +++++++++++++++-------- src/routes/(app)/buy/+page.svelte | 37 ++++++++++++++---------------------- 2 files changed, 30 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/routes/(app)/buy/+page.server.js b/src/routes/(app)/buy/+page.server.js index e03d6c0a..8a88ed4e 100644 --- a/src/routes/(app)/buy/+page.server.js +++ b/src/routes/(app)/buy/+page.server.js @@ -1,5 +1,5 @@ import { env } from '$env/dynamic/private'; -import { error, redirect } from '@sveltejs/kit'; +import { error, fail, redirect } from '@sveltejs/kit'; import { post, auth } from '$lib/utils'; import { createTicket } from '$lib/ticket'; @@ -7,13 +7,21 @@ export const actions = { default: async ({ cookies, request }) => { let form = await request.formData(); - await post('/buy', { - number: form.get('number').replace(/\s+/g, ''), - month: form.get('expiry').slice(0, 2), - year: form.get('expiry').slice(-2), - cvc: form.get('cvc') - }, auth(cookies)); + let amount = parseFloat(form.get('amount')); + if (!amount || amount < 0 || amount > 500) return fail(400, { message: 'Invalid amount' }); - throw redirect(307, `/launch/thanks/${asset}`); + await post( + '/buy', + { + amount: form.get('amount'), + number: form.get('number').replace(/\s+/g, ''), + month: form.get('expiry').slice(0, 2), + year: form.get('expiry').slice(-2), + cvc: form.get('cvc') + }, + auth(cookies) + ); + + throw redirect(307, `/${form.get('username')}/payments`); } }; diff --git a/src/routes/(app)/buy/+page.svelte b/src/routes/(app)/buy/+page.svelte index 34cfc2e5..ed803110 100644 --- a/src/routes/(app)/buy/+page.svelte +++ b/src/routes/(app)/buy/+page.svelte @@ -2,15 +2,12 @@ import { enhance } from '$app/forms'; import { Icon, Lock, Card, Calendar, Spinner } from '$comp'; - export let data; + export let data, form; let { username } = data.user; let loading; - let amount = 100; - let n = '4242 4242 4242 4242'; - let d = '10/25'; - let cvc = 444; + let amount, n, d, cvc;
@@ -20,25 +17,18 @@
-
+
- -

Buy Bitcoin

+

Buy Bitcoin

-

Purchase up to $500 worth of Bitcoin from us.

+

Purchase up to $500 worth of Bitcoin

-

- If you want more, try Kraken - or - ShakePay or ask - around at our next - meetup. -

+ {#if form?.message} +
+ {form.message} +
+ {/if}
- $ + $