From 3c0dfa5e26f54b5d2c2f69ba6c3eb176666a20d4 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 24 Jun 2025 11:07:55 -0700 Subject: bitcoin accepted page --- .../(app)/[username]/(profile)/+layout.svelte | 2 +- src/routes/(app)/accepted/[text]/+page.server.ts | 4 ++ src/routes/(app)/accepted/[text]/+page.svelte | 40 ++++++++++++++ src/routes/(app)/accepted/[text]/raw/+server.ts | 16 ++++++ src/routes/(app)/accepted/create/+page.svelte | 64 ++++++++++++++++++++++ 5 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 src/routes/(app)/accepted/[text]/+page.server.ts create mode 100644 src/routes/(app)/accepted/[text]/+page.svelte create mode 100644 src/routes/(app)/accepted/[text]/raw/+server.ts create mode 100644 src/routes/(app)/accepted/create/+page.svelte (limited to 'src') diff --git a/src/routes/(app)/[username]/(profile)/+layout.svelte b/src/routes/(app)/[username]/(profile)/+layout.svelte index 68b87ce2..52efb22c 100644 --- a/src/routes/(app)/[username]/(profile)/+layout.svelte +++ b/src/routes/(app)/[username]/(profile)/+layout.svelte @@ -237,7 +237,7 @@ > + import Icon from "$comp/Icon.svelte"; + import Qr from "$comp/Qr.svelte"; + import { back, copy } from "$lib/utils"; + let { data } = $props(); + let { text } = $derived(data); + let { username } = $derived(data.user); + let url = `https://coinos.io/p/${username}`; + + + + + + + + + + + + + + + + +
+
+ +

Bitcoin Accepted

+
+ +
coinos.io/{username}
+
+ +
+
+ diff --git a/src/routes/(app)/accepted/[text]/raw/+server.ts b/src/routes/(app)/accepted/[text]/raw/+server.ts new file mode 100644 index 00000000..a24d3a3c --- /dev/null +++ b/src/routes/(app)/accepted/[text]/raw/+server.ts @@ -0,0 +1,16 @@ +import Qr from "qrcode-base64"; + +export async function GET({ params }) { + const { text } = params; + + const dataUri = Qr.drawImg(text, { size: 600 }); + const base64Data = dataUri.split(",")[1]; + const binaryData = Buffer.from(base64Data, "base64"); + + return new Response(binaryData, { + headers: { + "Content-Type": "image/gif", + "Cache-Control": "public, max-age=31536000, immutable", + }, + }); +} diff --git a/src/routes/(app)/accepted/create/+page.svelte b/src/routes/(app)/accepted/create/+page.svelte new file mode 100644 index 00000000..74316ba9 --- /dev/null +++ b/src/routes/(app)/accepted/create/+page.svelte @@ -0,0 +1,64 @@ + + +
+

+ Create QR +

+ +
+
+ +
+ +
+ + + +
+
+
-- cgit v1.2.3