aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2025-07-13 23:05:57 -0700
committerAdam Soltys <[email protected]>2025-07-13 23:05:57 -0700
commitc2d798b8825cc3c5011069f4bcdf2c7dd5234292 (patch)
tree4f35b9e0740e74846eac04f0e494f88ac4e1c2c3 /src/routes
parentc95e08ff4e582c38489e46414d0e36bbc21e7ea1 (diff)
downloadcoinos-ui-c2d798b8825cc3c5011069f4bcdf2c7dd5234292.tar.gz
coinos-ui-c2d798b8825cc3c5011069f4bcdf2c7dd5234292.zip
tap qr
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/(app)/[username]/accepted/[text]/+page.svelte15
-rw-r--r--src/routes/(app)/qr/[text]/[icon]/+server.ts33
-rw-r--r--src/routes/(app)/qr/[text]/raw/+server.ts1
3 files changed, 42 insertions, 7 deletions
diff --git a/src/routes/(app)/[username]/accepted/[text]/+page.svelte b/src/routes/(app)/[username]/accepted/[text]/+page.svelte
index d96e48e2..1984cf81 100644
--- a/src/routes/(app)/[username]/accepted/[text]/+page.svelte
+++ b/src/routes/(app)/[username]/accepted/[text]/+page.svelte
@@ -9,15 +9,16 @@
</script>
<div class="px-2">
- <div class="border-8 border-black p-8 max-w-[710px] mx-auto mt-20 space-y-5">
+ <div class="border-8 border-black p-8 max-w-[580px] mx-auto mt-20 space-y-2 rounded-3xl">
<div class="flex gap-2 mx-auto justify-center">
- <img src="/images/bitcoin.png" class="w-16 h-16 my-auto" />
- <h3 class="text-5xl font-bold text-center my-auto">
- Bitcoin Accepted Here
- </h3>
+ <!-- <img src="/images/bitcoin.png" class="w-16 h-16 my-auto" /> -->
+ <img src="/images/bitcoin-logo.png" class="my-auto w-[400px]" />
+ <!-- <h3 class="text-5xl font-bold text-center my-auto"> -->
+ <!-- bitcoin -->
+ <!-- </h3> -->
</div>
- <Qr {text} />
- <div class="text-center text-4xl font-bold">
+ <Qr {text} icon="nfc.png" />
+ <div class="text-center text-4xl font-bold break-all">
coinos.io/{username.toLowerCase()}
</div>
{#if nfc}
diff --git a/src/routes/(app)/qr/[text]/[icon]/+server.ts b/src/routes/(app)/qr/[text]/[icon]/+server.ts
new file mode 100644
index 00000000..c2825877
--- /dev/null
+++ b/src/routes/(app)/qr/[text]/[icon]/+server.ts
@@ -0,0 +1,33 @@
+import { createCanvas, loadImage } from "canvas";
+import QRCode from "qrcode";
+
+export async function GET({ params }) {
+ const { icon, text } = params;
+ const size = 600;
+
+ const canvas = createCanvas(size, size);
+ await QRCode.toCanvas(canvas, text, {
+ errorCorrectionLevel: "H",
+ width: size,
+ });
+
+ const ctx = canvas.getContext("2d");
+
+ const logo = await loadImage(`static/images/${icon}`);
+ const logoSize = size * 0.3;
+ ctx.drawImage(
+ logo,
+ (size - logoSize) / 2,
+ (size - logoSize) / 2,
+ logoSize,
+ logoSize,
+ );
+
+ const buffer = canvas.toBuffer("image/png");
+ return new Response(buffer, {
+ headers: {
+ "Content-Type": "image/png",
+ "Cache-Control": "public, max-age=31536000, immutable",
+ },
+ });
+}
diff --git a/src/routes/(app)/qr/[text]/raw/+server.ts b/src/routes/(app)/qr/[text]/raw/+server.ts
index a24d3a3c..a2626c4d 100644
--- a/src/routes/(app)/qr/[text]/raw/+server.ts
+++ b/src/routes/(app)/qr/[text]/raw/+server.ts
@@ -14,3 +14,4 @@ export async function GET({ params }) {
},
});
}
+