From efdbc67c17fab67bf3cdce448a30aa82f62c5212 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 9 Nov 2023 16:49:10 -0800 Subject: funds --- src/components/AppHeader.svelte | 1 + src/locales/en.json | 4 +- src/routes/(app)/fund/[id]/+page.server.js | 23 ---- src/routes/(app)/fund/[id]/+page.svelte | 138 --------------------- src/routes/(app)/fund/[id]/sweep/+page.server.js | 14 --- src/routes/(app)/fund/[id]/sweep/+page.svelte | 37 ------ .../(app)/fund/[id]/withdraw/+page.server.js | 20 --- src/routes/(app)/fund/[id]/withdraw/+page.svelte | 58 --------- src/routes/(app)/fund/[id]/withdraw/+server.js | 6 - src/routes/(app)/funds/[id]/+page.server.js | 23 ++++ src/routes/(app)/funds/[id]/+page.svelte | 138 +++++++++++++++++++++ src/routes/(app)/funds/[id]/sweep/+page.server.js | 14 +++ src/routes/(app)/funds/[id]/sweep/+page.svelte | 37 ++++++ .../(app)/funds/[id]/withdraw/+page.server.js | 20 +++ src/routes/(app)/funds/[id]/withdraw/+page.svelte | 58 +++++++++ src/routes/(app)/funds/[id]/withdraw/+server.js | 6 + src/routes/(app)/send/[...text]/+page.svelte | 8 ++ 17 files changed, 308 insertions(+), 297 deletions(-) delete mode 100644 src/routes/(app)/fund/[id]/+page.server.js delete mode 100644 src/routes/(app)/fund/[id]/+page.svelte delete mode 100644 src/routes/(app)/fund/[id]/sweep/+page.server.js delete mode 100644 src/routes/(app)/fund/[id]/sweep/+page.svelte delete mode 100644 src/routes/(app)/fund/[id]/withdraw/+page.server.js delete mode 100644 src/routes/(app)/fund/[id]/withdraw/+page.svelte delete mode 100644 src/routes/(app)/fund/[id]/withdraw/+server.js create mode 100644 src/routes/(app)/funds/[id]/+page.server.js create mode 100644 src/routes/(app)/funds/[id]/+page.svelte create mode 100644 src/routes/(app)/funds/[id]/sweep/+page.server.js create mode 100644 src/routes/(app)/funds/[id]/sweep/+page.svelte create mode 100644 src/routes/(app)/funds/[id]/withdraw/+page.server.js create mode 100644 src/routes/(app)/funds/[id]/withdraw/+page.svelte create mode 100644 src/routes/(app)/funds/[id]/withdraw/+server.js (limited to 'src') diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 798073fb..4ee0c4a7 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -17,6 +17,7 @@ menuButtons = [ { key: 'nav.settings', icon: 'settings', href: `/${user.username}/settings` }, { key: 'nav.support', icon: 'support', href: `/support` }, + { key: 'nav.funds', icon: 'fund', href: `/${user.username}/funds` }, { key: 'nav.map', icon: 'map', href: `/${user.username}/map` }, { key: 'nav.merch', icon: 'shirt', href: `https://coinosmerch.com` }, { key: 'nav.signOut', icon: 'logout', href: `/logout` } diff --git a/src/locales/en.json b/src/locales/en.json index d3e294d4..7aa157d1 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -26,7 +26,8 @@ "error": { "header": "Error", "message": "Please try again or contact support.", - "signIn": "Please sign in to continue." + "signIn": "Please sign in to continue.", + "unrecognizedInput": "Unrecognized input" }, "faq": { "header": "FAQ", @@ -145,6 +146,7 @@ "failed": "Login failed" }, "nav": { + "funds": "Funds", "map": "Map", "merch": "Merch", "profile": "Profile", diff --git a/src/routes/(app)/fund/[id]/+page.server.js b/src/routes/(app)/fund/[id]/+page.server.js deleted file mode 100644 index 4194deed..00000000 --- a/src/routes/(app)/fund/[id]/+page.server.js +++ /dev/null @@ -1,23 +0,0 @@ -import { error, redirect } from '@sveltejs/kit'; -import { auth, get, post } from '$lib/utils'; -import Qr from 'qrcode-base64'; - -export let load = async ({ params: { id }, url }) => { - let { amount, payments } = await get(`/fund/${id}`); - - let src = Qr.drawImg(url.href, { size: 300 }); - return { amount, payments, src }; -}; - -export const actions = { - default: async ({ cookies, locals, params, request }) => { - let { user } = locals; - - if (user) { - await post('/redeem', params, auth(cookies)); - throw redirect(307, `/${user.username}/payments`); - } - - throw redirect(307, '/register'); - } -}; diff --git a/src/routes/(app)/fund/[id]/+page.svelte b/src/routes/(app)/fund/[id]/+page.svelte deleted file mode 100644 index d2d3079c..00000000 --- a/src/routes/(app)/fund/[id]/+page.svelte +++ /dev/null @@ -1,138 +0,0 @@ - - -
-
-
-
- - {#if id.split('-').length === 4} -

Card {id}

- {:else} - Fund -
-

{$t('payments.fund')}

-

{id}

-
- {/if} -
- {#if show} - {id} - {/if} -
-
-

- {f(amountFiat, currency)} -

-

- {sat(amount)} -

-
-
- -
- - -
- -
-
-
diff --git a/src/routes/(app)/fund/[id]/sweep/+page.server.js b/src/routes/(app)/fund/[id]/sweep/+page.server.js deleted file mode 100644 index 9fd244a3..00000000 --- a/src/routes/(app)/fund/[id]/sweep/+page.server.js +++ /dev/null @@ -1,14 +0,0 @@ -import { get, auth, post } from '$lib/utils'; -import { redirect } from '@sveltejs/kit'; - -export async function load({ cookies, params, parent }) { - let { user } = await parent(); - let { id } = params; - let { amount } = await get(`/fund/${id}`); - - - if (!amount) throw redirect(307, `/fund/${id}`); - if (!user) throw redirect(307, `/register?redirect=/fund/${id}/sweep`); - await post('/take', { amount, id }, auth(cookies)); - return { amount, id }; -} diff --git a/src/routes/(app)/fund/[id]/sweep/+page.svelte b/src/routes/(app)/fund/[id]/sweep/+page.svelte deleted file mode 100644 index 64bed4dd..00000000 --- a/src/routes/(app)/fund/[id]/sweep/+page.svelte +++ /dev/null @@ -1,37 +0,0 @@ - - -
-
- - - -
- -
- -
-

{$t('payments.fundsClaimed')}

-

- {f(fiat(amount, rate), currency)} -

-

- ⚡️{s(amount)} -

-
- - -
- - -
{$t('payments.tapAnywhere')}
diff --git a/src/routes/(app)/fund/[id]/withdraw/+page.server.js b/src/routes/(app)/fund/[id]/withdraw/+page.server.js deleted file mode 100644 index 476149f2..00000000 --- a/src/routes/(app)/fund/[id]/withdraw/+page.server.js +++ /dev/null @@ -1,20 +0,0 @@ -import { fail, json, redirect } from '@sveltejs/kit'; -import { fd, auth, post } from '$lib/utils'; - -export async function load({ parent }) { - let { user } = await parent(); - if (!user) throw redirect(307, '/register'); -} - -export const actions = { - default: async ({ cookies, request }) => { - let body = await fd(request); - try { - await post('/take', body, auth(cookies)); - } catch (e) { - return fail(400, { message: e.message }); - } - - throw redirect(307, `/fund/${body.id}`); - } -}; diff --git a/src/routes/(app)/fund/[id]/withdraw/+page.svelte b/src/routes/(app)/fund/[id]/withdraw/+page.svelte deleted file mode 100644 index 9cad945a..00000000 --- a/src/routes/(app)/fund/[id]/withdraw/+page.svelte +++ /dev/null @@ -1,58 +0,0 @@ - - - - -{#if form?.message} -
- {form.message} -
-{/if} - -
- - -
- - - - -
- -
-
-
diff --git a/src/routes/(app)/fund/[id]/withdraw/+server.js b/src/routes/(app)/fund/[id]/withdraw/+server.js deleted file mode 100644 index 0f9a23f3..00000000 --- a/src/routes/(app)/fund/[id]/withdraw/+server.js +++ /dev/null @@ -1,6 +0,0 @@ -import { json } from '@sveltejs/kit'; -import { auth, post } from '$lib/utils'; - -export async function POST({ cookies, request }) { - return json(await post('/take', await request.json(), auth(cookies))); -} diff --git a/src/routes/(app)/funds/[id]/+page.server.js b/src/routes/(app)/funds/[id]/+page.server.js new file mode 100644 index 00000000..4194deed --- /dev/null +++ b/src/routes/(app)/funds/[id]/+page.server.js @@ -0,0 +1,23 @@ +import { error, redirect } from '@sveltejs/kit'; +import { auth, get, post } from '$lib/utils'; +import Qr from 'qrcode-base64'; + +export let load = async ({ params: { id }, url }) => { + let { amount, payments } = await get(`/fund/${id}`); + + let src = Qr.drawImg(url.href, { size: 300 }); + return { amount, payments, src }; +}; + +export const actions = { + default: async ({ cookies, locals, params, request }) => { + let { user } = locals; + + if (user) { + await post('/redeem', params, auth(cookies)); + throw redirect(307, `/${user.username}/payments`); + } + + throw redirect(307, '/register'); + } +}; diff --git a/src/routes/(app)/funds/[id]/+page.svelte b/src/routes/(app)/funds/[id]/+page.svelte new file mode 100644 index 00000000..d2d3079c --- /dev/null +++ b/src/routes/(app)/funds/[id]/+page.svelte @@ -0,0 +1,138 @@ + + +
+
+
+
+ + {#if id.split('-').length === 4} +

Card {id}

+ {:else} + Fund +
+

{$t('payments.fund')}

+

{id}

+
+ {/if} +
+ {#if show} + {id} + {/if} +
+
+

+ {f(amountFiat, currency)} +

+

+ {sat(amount)} +

+
+
+ +
+ + +
+ +
+
+
diff --git a/src/routes/(app)/funds/[id]/sweep/+page.server.js b/src/routes/(app)/funds/[id]/sweep/+page.server.js new file mode 100644 index 00000000..9fd244a3 --- /dev/null +++ b/src/routes/(app)/funds/[id]/sweep/+page.server.js @@ -0,0 +1,14 @@ +import { get, auth, post } from '$lib/utils'; +import { redirect } from '@sveltejs/kit'; + +export async function load({ cookies, params, parent }) { + let { user } = await parent(); + let { id } = params; + let { amount } = await get(`/fund/${id}`); + + + if (!amount) throw redirect(307, `/fund/${id}`); + if (!user) throw redirect(307, `/register?redirect=/fund/${id}/sweep`); + await post('/take', { amount, id }, auth(cookies)); + return { amount, id }; +} diff --git a/src/routes/(app)/funds/[id]/sweep/+page.svelte b/src/routes/(app)/funds/[id]/sweep/+page.svelte new file mode 100644 index 00000000..64bed4dd --- /dev/null +++ b/src/routes/(app)/funds/[id]/sweep/+page.svelte @@ -0,0 +1,37 @@ + + +
+
+ + + +
+ +
+ +
+

{$t('payments.fundsClaimed')}

+

+ {f(fiat(amount, rate), currency)} +

+

+ ⚡️{s(amount)} +

+
+ + +
+ + +
{$t('payments.tapAnywhere')}
diff --git a/src/routes/(app)/funds/[id]/withdraw/+page.server.js b/src/routes/(app)/funds/[id]/withdraw/+page.server.js new file mode 100644 index 00000000..476149f2 --- /dev/null +++ b/src/routes/(app)/funds/[id]/withdraw/+page.server.js @@ -0,0 +1,20 @@ +import { fail, json, redirect } from '@sveltejs/kit'; +import { fd, auth, post } from '$lib/utils'; + +export async function load({ parent }) { + let { user } = await parent(); + if (!user) throw redirect(307, '/register'); +} + +export const actions = { + default: async ({ cookies, request }) => { + let body = await fd(request); + try { + await post('/take', body, auth(cookies)); + } catch (e) { + return fail(400, { message: e.message }); + } + + throw redirect(307, `/fund/${body.id}`); + } +}; diff --git a/src/routes/(app)/funds/[id]/withdraw/+page.svelte b/src/routes/(app)/funds/[id]/withdraw/+page.svelte new file mode 100644 index 00000000..9cad945a --- /dev/null +++ b/src/routes/(app)/funds/[id]/withdraw/+page.svelte @@ -0,0 +1,58 @@ + + + + +{#if form?.message} +
+ {form.message} +
+{/if} + +
+ + +
+ + + + +
+ +
+
+
diff --git a/src/routes/(app)/funds/[id]/withdraw/+server.js b/src/routes/(app)/funds/[id]/withdraw/+server.js new file mode 100644 index 00000000..0f9a23f3 --- /dev/null +++ b/src/routes/(app)/funds/[id]/withdraw/+server.js @@ -0,0 +1,6 @@ +import { json } from '@sveltejs/kit'; +import { auth, post } from '$lib/utils'; + +export async function POST({ cookies, request }) { + return json(await post('/take', await request.json(), auth(cookies))); +} diff --git a/src/routes/(app)/send/[...text]/+page.svelte b/src/routes/(app)/send/[...text]/+page.svelte index c246f811..de84c287 100644 --- a/src/routes/(app)/send/[...text]/+page.svelte +++ b/src/routes/(app)/send/[...text]/+page.svelte @@ -35,6 +35,14 @@
+ {#if form?.error} +
+
+ {$t('error.unrecognizedInput')} +
+
+ {/if} +
-- cgit v1.2.3