diff options
| -rw-r--r-- | src/routes/(app)/[username]/accepted/[text]/+page.svelte | 32 |
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> |
