diff options
| author | Adam Soltys <[email protected]> | 2025-05-07 09:23:04 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-05-07 09:23:04 -0700 |
| commit | 03fac9720794235b1169a3eefca391505f6f3b5e (patch) | |
| tree | 369b8e135b03b6316fd3c3f587b42d642ee17dcb | |
| parent | 91ae976c9fd1b3a1ca2751482ffb4b7efb196f1d (diff) | |
| download | coinos-ui-03fac9720794235b1169a3eefca391505f6f3b5e.tar.gz coinos-ui-03fac9720794235b1169a3eefca391505f6f3b5e.zip | |
handle lnurlp with fixed amount
| -rw-r--r-- | src/routes/(app)/ln/[lnurl]/+page.server.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/routes/(app)/ln/[lnurl]/+page.server.ts b/src/routes/(app)/ln/[lnurl]/+page.server.ts index c113e03f..405dc4b3 100644 --- a/src/routes/(app)/ln/[lnurl]/+page.server.ts +++ b/src/routes/(app)/ln/[lnurl]/+page.server.ts @@ -11,6 +11,20 @@ export async function load({ params, parent }) { try { const { lnurl } = params; data = await get(`/decode?text=${lnurl}`); + let { callback, minSendable, maxSendable, comment, tag } = data; + if (tag === "payRequest" && minSendable === maxSendable) { + minSendable = Math.round(minSendable / 1000); + maxSendable = Math.round(maxSendable / 1000); + const amount = minSendable; + + let url = `${callback}?amount=${amount * 1000}`; + if (comment) url += `&comment=${comment}`; + + const { pr } = await fetch(url).then((r) => r.json()); + let path = `/send/lightning/${pr}`; + if (comment) path += `/${encodeURIComponent(comment)}`; + redirect(307, path); + } } catch (e) { const { message } = e as Error; error(500, message); |
