diff options
| author | Adam Soltys <[email protected]> | 2025-07-16 00:05:35 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2025-07-16 00:05:35 -0700 |
| commit | 25ac9d65b346dafb3b1c733cce44feb1c3564aa8 (patch) | |
| tree | e7ce923d19eb8f4527c2e66eaa55d36e3181950c /src/routes/(app)/invoice | |
| parent | 1d202c7d73aa0d84fa7c2bbc1749b9111054e3b1 (diff) | |
| download | coinos-ui-25ac9d65b346dafb3b1c733cce44feb1c3564aa8.tar.gz coinos-ui-25ac9d65b346dafb3b1c733cce44feb1c3564aa8.zip | |
fix pin issue
Diffstat (limited to 'src/routes/(app)/invoice')
| -rw-r--r-- | src/routes/(app)/invoice/[id]/tip/+page.server.ts | 18 | ||||
| -rw-r--r-- | src/routes/(app)/invoice/[id]/tip/+page.svelte | 12 |
2 files changed, 22 insertions, 8 deletions
diff --git a/src/routes/(app)/invoice/[id]/tip/+page.server.ts b/src/routes/(app)/invoice/[id]/tip/+page.server.ts index 286d7c35..988b6da5 100644 --- a/src/routes/(app)/invoice/[id]/tip/+page.server.ts +++ b/src/routes/(app)/invoice/[id]/tip/+page.server.ts @@ -1,18 +1,19 @@ import invoice from "$lib/invoice"; import getRates from "$lib/rates"; import { auth, get, post } from "$lib/utils"; -import { redirect } from "@sveltejs/kit"; +import { fail, redirect } from "@sveltejs/kit"; export async function load({ cookies, parent }) { const rates = await getRates(); let { invoice, subject, user } = await parent(); if (!invoice.amount) redirect(307, `/invoice/${invoice.id}`); + const pin = cookies.get("pin"); if (user) { const trust = await get("/trust", auth(cookies)); const trusted = trust.includes(invoice.uid); - if (trusted) { - if (invoice.prompt && invoice.tip === null && user.tip > 0) { + if (trusted && (pin || !user.haspin)) { + if (!invoice.prompt && invoice.user.prompt && user.tip > 0) { invoice.tip = Math.round(invoice.amount * (user.tip / 100)); invoice = await post( "/invoice", @@ -21,8 +22,15 @@ export async function load({ cookies, parent }) { ); } - const p = await post("/payments", invoice, auth(cookies)); - redirect(307, `/sent/${p.id}`); + let p; + try { + p = await post("/payments", { ...invoice, pin }, auth(cookies)); + } catch (e) { + const { message } = e as Error; + fail(400, { message }); + } + + if (p) redirect(307, `/sent/${p.id}`); } } diff --git a/src/routes/(app)/invoice/[id]/tip/+page.svelte b/src/routes/(app)/invoice/[id]/tip/+page.svelte index d609d86a..97d87bb0 100644 --- a/src/routes/(app)/invoice/[id]/tip/+page.svelte +++ b/src/routes/(app)/invoice/[id]/tip/+page.svelte @@ -127,7 +127,10 @@ <div class="ml-auto text-lg flex gap-2"> <div class="flex items-center"> - <iconify-icon noobserver icon="ph:lightning-fill" class="text-yellow-300" + <iconify-icon + noobserver + icon="ph:lightning-fill" + class="text-yellow-300" ></iconify-icon> <div>{s(amount, locale)}</div> </div> @@ -170,12 +173,15 @@ {/if} </div> - <div> + <div class="space-y-2"> <button type="button" class="btn" - onclick={() => (showCustomAmount = true)}>Custom</button + onclick={() => (showCustomAmount = true)} + >{$t("payments.custom")}</button > + + <a href={`/invoice/${id}`} class="btn">{$t("payments.cancel")}</a> </div> {/if} |
