From 50b270db6fda60b5b3e39a9dbada5c27a14cbad1 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 22 Feb 2023 19:38:55 -0800 Subject: fee slider wip --- src/components/Slider.svelte | 56 +++++++++++++++++ src/components/index.js | 1 + src/lib/utils.js | 5 ++ .../[username]/(profile)/request/+page.server.js | 6 +- .../[username]/invoice/[hash]/tip/+page.svelte | 57 +----------------- .../[username]/settings/[...tab]/+page.server.js | 4 +- src/routes/(app)/ln/[lnurl]/+page.server.js | 9 +-- src/routes/(app)/login/+page.server.js | 4 +- .../(app)/pot/[name]/withdraw/+page.server.js | 5 +- src/routes/(app)/register/+page.server.js | 4 +- .../bitcoin/[address]/[...amount]/+page.server.js | 18 +++--- .../bitcoin/[address]/[...amount]/+page.svelte | 70 +++++++++++++++++----- src/routes/(app)/send/invoice/[id]/+page.server.js | 4 +- .../(app)/send/lightning/[payreq]/+page.server.js | 4 +- .../send/pot/[name]/[...amount]/+page.server.js | 2 +- .../user/[username]/[...amount]/+page.server.js | 4 +- src/routes/(app)/support/+page.server.js | 5 +- 17 files changed, 152 insertions(+), 106 deletions(-) create mode 100644 src/components/Slider.svelte (limited to 'src') diff --git a/src/components/Slider.svelte b/src/components/Slider.svelte new file mode 100644 index 00000000..84482c9d --- /dev/null +++ b/src/components/Slider.svelte @@ -0,0 +1,56 @@ + + + + + diff --git a/src/components/index.js b/src/components/index.js index ab54e09f..0d1d8d1d 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,3 +1,4 @@ +export { default as Slider } from './Slider.svelte'; export { default as Pinpad } from './Pinpad.svelte'; export { default as Balance } from './Balance.svelte'; export { default as Lnurlp } from './Lnurlp.svelte'; diff --git a/src/lib/utils.js b/src/lib/utils.js index 86f722b9..1d064c9a 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -148,6 +148,11 @@ export const login = async (user, cookies) => { export const auth = (cookies) => ({ authorization: `Bearer ${cookies.get('token')}` }); export const fiat = (amount, rate) => (amount * rate) / sats; +export const fd = async (req) => { + let obj = Object.fromEntries(await req.formData()); + for (let k in obj) (obj[k] === 'undefined' && (obj[k] = undefined)) ||( obj[k] === 'false' && (obj[k] = false)); + return obj; +}; export const f = (s, currency) => new Intl.NumberFormat('en-US', { diff --git a/src/routes/(app)/[username]/(profile)/request/+page.server.js b/src/routes/(app)/[username]/(profile)/request/+page.server.js index 2c1d6bde..e7ad6a8f 100644 --- a/src/routes/(app)/[username]/(profile)/request/+page.server.js +++ b/src/routes/(app)/[username]/(profile)/request/+page.server.js @@ -1,15 +1,15 @@ import { redirect } from '@sveltejs/kit'; -import { auth, post } from '$lib/utils'; +import { fd, auth, post } from '$lib/utils'; export const actions = { create: async ({ cookies, params, request, url }) => { - let form = Object.fromEntries(await request.formData()); + let form = await fd(request); let { id, requester } = await post('/requests', form, auth(cookies)); throw redirect(307, `/${params.username}/request/${id}`); }, delete: async ({ cookies, request }) => { - let form = Object.fromEntries(await request.formData()); + let form = await fd(request); let r = await post('/requests/delete', form, auth(cookies)); } }; diff --git a/src/routes/(app)/[username]/invoice/[hash]/tip/+page.svelte b/src/routes/(app)/[username]/invoice/[hash]/tip/+page.svelte index d033c413..296ef9c6 100644 --- a/src/routes/(app)/[username]/invoice/[hash]/tip/+page.svelte +++ b/src/routes/(app)/[username]/invoice/[hash]/tip/+page.svelte @@ -3,7 +3,7 @@ import { browser } from '$app/environment'; import { invoice as inv, request } from '$lib/store'; import { copy, focus, f, sat, get, reverseFormat, s, sats } from '$lib/utils'; - import { Icon } from '$comp'; + import { Icon, Slider } from '$comp'; import { goto } from '$app/navigation'; import { t } from '$lib/translations'; import { enhance } from '$app/forms'; @@ -37,9 +37,6 @@ customInput.value = ''; } tipPercent = e.target.value; - - clearTimeout(timeout); - timeout = setTimeout(update, 800); }; let submitting; @@ -56,10 +53,6 @@ }; let submit; - let update = async () => { - await tick(); - //submit.click(); - }; export let data; $: refresh(data); @@ -123,16 +116,7 @@ {#if !showCustomAmount}
{Math.round(tipPercent)}%
- +
@@ -201,43 +185,6 @@