From 476418f9711ac91760a9ca279a6e671d88e70fc3 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 19 Jul 2025 22:56:05 -0700 Subject: handle null tips --- src/lib/invoice.ts | 2 +- src/lib/parse.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/invoice.ts b/src/lib/invoice.ts index d7576e82..91a69d88 100644 --- a/src/lib/invoice.ts +++ b/src/lib/invoice.ts @@ -15,7 +15,7 @@ export default async ({ cookies, request }) => { items: JSON.parse(form.get("items")), memo: form.get("memo"), memoPrompt: form.get("memoPrompt"), - tip: parseInt(form.get("tip")) || 0, + tip: form.get("tip") ?? null, type: form.get("type"), prompt: form.get("prompt") === "true", rate: parseFloat(form.get("rate")) || rates[form.get("currency")], diff --git a/src/lib/parse.ts b/src/lib/parse.ts index f6405e4a..b4bf837c 100644 --- a/src/lib/parse.ts +++ b/src/lib/parse.ts @@ -8,6 +8,7 @@ export default async (s, host) => { if (!s) return; let t = s.trim(); let amount; + let invoice; let user; if (t.startsWith("http")) redirect(307, t); @@ -57,7 +58,6 @@ export default async (s, host) => { t = params.get("lightning"); } - let invoice; if (t.toLowerCase().startsWith("ln")) { try { invoice = await get(`/invoice/${t}`); @@ -71,6 +71,8 @@ export default async (s, host) => { } } + if (invoice) redirect(307, `/invoice/${invoice.id}`); + if (t.match(/^🥜([\uFE00-\uFE0F]|[\uE0100-\uE01EF]+)$/)) { t = Array.from(t) .slice(1) -- cgit v1.2.3