From 842d9a6363da0a9ba5e586f61958303b907058ba Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 14 Feb 2024 12:49:23 -0800 Subject: bump fee button --- src/locales/en.json | 1 + src/routes/(app)/payment/[id]/+page.server.js | 3 +- src/routes/(app)/payment/[id]/+page.svelte | 59 +++++++++++++++++++++++---- src/routes/(app)/payment/[id]/bump/+server.js | 12 ++++++ 4 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 src/routes/(app)/payment/[id]/bump/+server.js (limited to 'src') diff --git a/src/locales/en.json b/src/locales/en.json index c4a272b6..4fad56d6 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -284,6 +284,7 @@ } }, "payments": { + "bump": "Bump fee", "networkFee": "Network fee", "platformFee": "Platform fee", "fastest": "Fastest", diff --git a/src/routes/(app)/payment/[id]/+page.server.js b/src/routes/(app)/payment/[id]/+page.server.js index 5a364c65..1dfc0c09 100644 --- a/src/routes/(app)/payment/[id]/+page.server.js +++ b/src/routes/(app)/payment/[id]/+page.server.js @@ -1,6 +1,7 @@ import { auth, get } from "$lib/utils"; -export async function load({ cookies, params }) { +export async function load({ cookies, depends, params }) { + depends("app:payments"); let payment = await get(`/payments/${params.id}`, auth(cookies)); return { payment }; } diff --git a/src/routes/(app)/payment/[id]/+page.svelte b/src/routes/(app)/payment/[id]/+page.svelte index dbaea042..1f0e0308 100644 --- a/src/routes/(app)/payment/[id]/+page.svelte +++ b/src/routes/(app)/payment/[id]/+page.svelte @@ -10,6 +10,7 @@ fiat, post, sats, + fail, success, types, } from "$lib/utils"; @@ -20,6 +21,31 @@ export let data; let { user, payment: p } = data; + $: refresh(data); + let refresh = (d) => { + ({ user, payment: p } = d); + ({ + id, + hash, + amount, + created, + confirmed, + rate, + type, + ref, + tip, + ourfee, + fee, + currency, + } = p); + + console.log("FEE", fee); + + if (amount > 0) [txid, vout] = ref.split(":"); + else txid = hash; + + if (!fee) fee = 0; + }; let { username } = user; let { @@ -27,6 +53,7 @@ hash, amount, created, + confirmed, rate, type, ref, @@ -47,7 +74,13 @@ success("Printing!"); }; - fee = fee || 0; + let bump = async () => { + try { + await post(`/payment/${id}/bump`, { id }); + } catch (e) { + fail(e.message); + } + }; let txid, vout; if (amount > 0) [txid, vout] = ref.split(":"); @@ -178,8 +211,20 @@ {/if} - {#if user.hasprinter} -
+
+ {#if amount < 0 && !confirmed} + + {/if} + + {#if user.hasprinter}
- - {:else} -
+ {:else} -
- {/if} + {/if} + diff --git a/src/routes/(app)/payment/[id]/bump/+server.js b/src/routes/(app)/payment/[id]/bump/+server.js new file mode 100644 index 00000000..766f537f --- /dev/null +++ b/src/routes/(app)/payment/[id]/bump/+server.js @@ -0,0 +1,12 @@ +import { auth, post } from "$lib/utils"; +import { json, error } from "@sveltejs/kit"; + +export async function POST({ cookies, request }) { + let body = await request.json(); + try { + let res = await post("/replace", body, auth(cookies)); + return json(res); + } catch (e) { + error(400, e.message); + } +} -- cgit v1.2.3