aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-07-26 17:21:05 -0700
committerAdam Soltys <[email protected]>2025-07-26 17:21:05 -0700
commitb8763e1505087c3ed8b761aac88cbad57495abb8 (patch)
tree53cbcf34d993ec6c6b24b04a08d6a8e5fd34f243 /src
parent2c2dfe5058c978dde5654666f72ade537aaa8564 (diff)
downloadcoinos-ui-b8763e1505087c3ed8b761aac88cbad57495abb8.tar.gz
coinos-ui-b8763e1505087c3ed8b761aac88cbad57495abb8.zip
copy lnurl
Diffstat (limited to 'src')
-rw-r--r--src/routes/(app)/[username]/accepted/[text]/+page.svelte32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/routes/(app)/[username]/accepted/[text]/+page.svelte b/src/routes/(app)/[username]/accepted/[text]/+page.svelte
index 394cf3f7..8add5f48 100644
--- a/src/routes/(app)/[username]/accepted/[text]/+page.svelte
+++ b/src/routes/(app)/[username]/accepted/[text]/+page.svelte
@@ -2,10 +2,25 @@
import Icon from "$comp/Icon.svelte";
import Qr from "$comp/Qr.svelte";
import { back, copy } from "$lib/utils";
+ import { bech32 } from "@scure/base";
+ import { page } from "$app/stores";
+ import { PUBLIC_DOMAIN } from "$env/static/public";
+
+ let { encode, toWords } = bech32;
let { data } = $props();
let { nfc, text } = $derived(data);
let { username } = $derived(data.subject);
let url = `https://coinos.io/p/${username.toLowerCase()}`;
+
+ let lnurl = $derived(
+ `https://${PUBLIC_DOMAIN}/ln/${encode(
+ "lnurl",
+ toWords(
+ new TextEncoder().encode(`https://${PUBLIC_DOMAIN}/p/${username}`),
+ ),
+ 20000,
+ )}`,
+ );
</script>
<div class="px-2">
@@ -20,12 +35,25 @@
<!-- </h3> -->
</div>
{#if nfc}
- <img src="/images/tap.png" class="w-24 absolute top-44 left-4 rotate-[-10deg]" />
- <img src="/images/arrow.png" class="w-24 scale-x-[-1] rotate-[120deg] absolute top-44 left-40 w-20 h-52" />
+ <img
+ src="/images/tap.png"
+ class="w-24 absolute top-44 left-4 rotate-[-10deg]"
+ />
+ <img
+ src="/images/arrow.png"
+ class="w-24 scale-x-[-1] rotate-[120deg] absolute top-44 left-40 w-20 h-52"
+ />
{/if}
<Qr {text} />
<div class="text-center text-4xl font-bold break-all">
coinos.io/{username.toLowerCase()}
</div>
</div>
+
+ {#if nfc}
+ <button onclick={() => copy(lnurl)} class="flex gap-1 m-auto my-8">
+ <iconify-icon icon="ph:copy-bold" width={32}></iconify-icon>
+ LNURL</button
+ >
+ {/if}
</div>