From dbb00917d84a341f67b11bdfb6d8c50154f691c2 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 25 Jan 2025 10:50:51 -0800 Subject: capture ln comments --- src/routes/(app)/ln/[lnurl]/+page.server.ts | 4 +- .../(app)/send/lightning/[payreq]/+page.server.ts | 49 ------- .../(app)/send/lightning/[payreq]/+page.svelte | 140 -------------------- .../lightning/[payreq]/[...memo]/+page.server.ts | 49 +++++++ .../send/lightning/[payreq]/[...memo]/+page.svelte | 141 +++++++++++++++++++++ 5 files changed, 193 insertions(+), 190 deletions(-) delete mode 100644 src/routes/(app)/send/lightning/[payreq]/+page.server.ts delete mode 100644 src/routes/(app)/send/lightning/[payreq]/+page.svelte create mode 100644 src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.server.ts create mode 100644 src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte (limited to 'src') diff --git a/src/routes/(app)/ln/[lnurl]/+page.server.ts b/src/routes/(app)/ln/[lnurl]/+page.server.ts index 7b63e6f5..778e48f5 100644 --- a/src/routes/(app)/ln/[lnurl]/+page.server.ts +++ b/src/routes/(app)/ln/[lnurl]/+page.server.ts @@ -42,7 +42,9 @@ export const actions = { if (comment) url += `&comment=${comment}`; const { pr } = await fetch(url).then((r) => r.json()); - redirect(307, `/send/lightning/${pr}`); + let path = `/send/lightning/${pr}`; + if (comment) path += `/${comment}`; + redirect(307, path); }, withdraw: async ({ cookies, fetch, request }) => { diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.server.ts b/src/routes/(app)/send/lightning/[payreq]/+page.server.ts deleted file mode 100644 index 0f7b4003..00000000 --- a/src/routes/(app)/send/lightning/[payreq]/+page.server.ts +++ /dev/null @@ -1,49 +0,0 @@ -import getRates from "$lib/rates"; -import { auth, fd, post } from "$lib/utils"; -import { fail, redirect } from "@sveltejs/kit"; - -export async function load({ cookies, params, parent }) { - const { user } = await parent(); - let data = { ...params }; - const rates = await getRates(); - if (!params.payreq.startsWith("lno")) { - data = { ...data, ...(await post("/parse", params, auth(cookies))) }; - } - - data.rate = rates[user.currency]; - return data; -} - -export const actions = { - setAmount: async ({ cookies, params, request }) => { - let data = await fd(request); - const { payreq } = params; - const { amount } = data; - if (payreq.startsWith("lno")) { - const { invoice } = await post("/fetchinvoice", { - amount, - offer: payreq, - }); - - data = await post("/parse", { payreq: invoice }, auth(cookies)); - data.payreq = invoice; - } - - return data; - }, - - send: async ({ cookies, request }) => { - let p; - try { - const body = await fd(request); - - p = await post("/payments", body, auth(cookies)); - } catch (e) { - let { message } = e as Error; - if (!message.includes("Insufficient")) message = "payments.failedToRoute"; - return fail(400, { message }); - } - - redirect(307, `/sent/${p.id}`); - }, -}; diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/+page.svelte deleted file mode 100644 index bc526d16..00000000 --- a/src/routes/(app)/send/lightning/[payreq]/+page.svelte +++ /dev/null @@ -1,140 +0,0 @@ - - -
- {#if form?.message} -
- {$t(form.message)} -
- {/if} - {#if amount} -
-

- {$t("payments.send")} -

- - -
- -
- {$t("payments.to")} - {alias} -
- - {#if ourfee} -
-

{$t("payments.platformFee")}

- -
-
-

- {f(toFiat(ourfee, $rate), currency)} -

-

⚡️{s(ourfee)}

-
-
-
- {/if} - -
- - - - - {#if form?.message || showMax} -
- - -
- {$t("payments.maxFeeDesc")} -
- - -
- {/if} - - - - {#if !(form?.message || showMax)} - - - {/if} -
- {:else} -
- - - - - - - {/if} -
diff --git a/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.server.ts b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.server.ts new file mode 100644 index 00000000..0f7b4003 --- /dev/null +++ b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.server.ts @@ -0,0 +1,49 @@ +import getRates from "$lib/rates"; +import { auth, fd, post } from "$lib/utils"; +import { fail, redirect } from "@sveltejs/kit"; + +export async function load({ cookies, params, parent }) { + const { user } = await parent(); + let data = { ...params }; + const rates = await getRates(); + if (!params.payreq.startsWith("lno")) { + data = { ...data, ...(await post("/parse", params, auth(cookies))) }; + } + + data.rate = rates[user.currency]; + return data; +} + +export const actions = { + setAmount: async ({ cookies, params, request }) => { + let data = await fd(request); + const { payreq } = params; + const { amount } = data; + if (payreq.startsWith("lno")) { + const { invoice } = await post("/fetchinvoice", { + amount, + offer: payreq, + }); + + data = await post("/parse", { payreq: invoice }, auth(cookies)); + data.payreq = invoice; + } + + return data; + }, + + send: async ({ cookies, request }) => { + let p; + try { + const body = await fd(request); + + p = await post("/payments", body, auth(cookies)); + } catch (e) { + let { message } = e as Error; + if (!message.includes("Insufficient")) message = "payments.failedToRoute"; + return fail(400, { message }); + } + + redirect(307, `/sent/${p.id}`); + }, +}; diff --git a/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte new file mode 100644 index 00000000..cfbeef76 --- /dev/null +++ b/src/routes/(app)/send/lightning/[payreq]/[...memo]/+page.svelte @@ -0,0 +1,141 @@ + + +
+ {#if form?.message} +
+ {$t(form.message)} +
+ {/if} + {#if amount} +
+

+ {$t("payments.send")} +

+ + +
+ +
+ {$t("payments.to")} + {alias} +
+ + {#if ourfee} +
+

{$t("payments.platformFee")}

+ +
+
+

+ {f(toFiat(ourfee, $rate), currency)} +

+

⚡️{s(ourfee)}

+
+
+
+ {/if} + +
+ + + + + + {#if form?.message || showMax} +
+ + +
+ {$t("payments.maxFeeDesc")} +
+ + +
+ {/if} + + + + {#if !(form?.message || showMax)} + + + {/if} +
+ {:else} +
+ + + + + + + {/if} +
-- cgit v1.2.3