From 5c37f87a58ef5d84a183cb042758a25a4b9cc40d Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 18 Dec 2024 13:42:22 -0800 Subject: printer page --- src/routes/(app)/printer/+page.server.ts | 18 ++++ src/routes/(app)/printer/+page.svelte | 100 +++++++++++++++++++++ .../(app)/send/lightning/[payreq]/+page.server.ts | 8 +- .../(app)/send/lightning/[payreq]/+page.svelte | 15 ++-- 4 files changed, 129 insertions(+), 12 deletions(-) create mode 100644 src/routes/(app)/printer/+page.server.ts create mode 100644 src/routes/(app)/printer/+page.svelte (limited to 'src/routes/(app)') diff --git a/src/routes/(app)/printer/+page.server.ts b/src/routes/(app)/printer/+page.server.ts new file mode 100644 index 00000000..e9553f33 --- /dev/null +++ b/src/routes/(app)/printer/+page.server.ts @@ -0,0 +1,18 @@ +import { fd } from "$lib/utils"; +import { hex } from "@scure/base"; + +export const actions = { + default: async ({ fetch, request }) => { + const body = await fd(request); + const res = await fetch("/api/printer", { + method: "POST", + body: JSON.stringify(body), + headers: { + "content-type": "application/json", + accept: "application/octet-stream", + }, + }); + + return { data: hex.encode(new Uint8Array(await res.arrayBuffer())) }; + }, +}; diff --git a/src/routes/(app)/printer/+page.svelte b/src/routes/(app)/printer/+page.svelte new file mode 100644 index 00000000..c1e6ee82 --- /dev/null +++ b/src/routes/(app)/printer/+page.svelte @@ -0,0 +1,100 @@ + + +
+

+ Printer +

+ + {#if esploader} + {#if data} + {#if progress} +
Done!
+ {:else} +
Generated config file ({data.length * 2} bytes)
+ + {/if} + {:else} +
+ + + + + +
+ {/if} + {:else} + + {/if} +
diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.server.ts b/src/routes/(app)/send/lightning/[payreq]/+page.server.ts index d340dbe3..90844786 100644 --- a/src/routes/(app)/send/lightning/[payreq]/+page.server.ts +++ b/src/routes/(app)/send/lightning/[payreq]/+page.server.ts @@ -4,11 +4,13 @@ import { fail, redirect } from "@sveltejs/kit"; export async function load({ cookies, params, parent }) { const { user } = await parent(); - if (params.payreq.startsWith("lno")) return params; + let data = { ...params }; const rates = await getRates(); - const data = await post("/parse", params, auth(cookies)); + if (!params.payreq.startsWith("lno")) { + data = await post("/parse", params, auth(cookies)); + } + data.rate = rates[user.currency]; - data.payreq = params.payreq; return data; } diff --git a/src/routes/(app)/send/lightning/[payreq]/+page.svelte b/src/routes/(app)/send/lightning/[payreq]/+page.svelte index c83af8e5..a35286b2 100644 --- a/src/routes/(app)/send/lightning/[payreq]/+page.svelte +++ b/src/routes/(app)/send/lightning/[payreq]/+page.svelte @@ -6,18 +6,15 @@ import Numpad from "$comp/Numpad.svelte"; import Spinner from "$comp/Spinner.svelte"; import { page } from "$app/stores"; - import { back, toFiat, f, s, focus } from "$lib/utils"; + import { loc, back, toFiat, f, s, focus } from "$lib/utils"; import { rate, pin } from "$lib/store"; let { data, form } = $props(); - let { - alias, - payreq, - ourfee, - user: { currency }, - } = $derived({ ...data, ...form }); + let { alias, payreq, ourfee, user } = $derived({ ...data, ...form }); let a = $state(); + let { currency } = $derived(user); + let locale = loc(user); $effect(() => ($rate ||= data.rate)); $effect(() => form && (loading = false)); @@ -46,7 +43,7 @@ {$t("payments.send")} - +
@@ -129,7 +126,7 @@ - + -- cgit v1.2.3