diff options
| author | Adam Soltys <[email protected]> | 2024-04-10 13:27:58 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-04-10 13:27:58 -0700 |
| commit | 4db8ded1ab91b1670b56e34199cebf2edf0144d4 (patch) | |
| tree | 291e591c706349d74ecb4d5122b1eedad2996d49 /src/routes/(app)/send | |
| parent | b2f9998bccee791477b62b82f74fb4460345bbac (diff) | |
| download | coinos-ui-4db8ded1ab91b1670b56e34199cebf2edf0144d4.tar.gz coinos-ui-4db8ded1ab91b1670b56e34199cebf2edf0144d4.zip | |
rename pay route
Diffstat (limited to 'src/routes/(app)/send')
4 files changed, 4 insertions, 162 deletions
diff --git a/src/routes/(app)/send/[...text]/+page.server.js b/src/routes/(app)/send/[...text]/+page.server.js index 061eb35f..3e8623eb 100644 --- a/src/routes/(app)/send/[...text]/+page.server.js +++ b/src/routes/(app)/send/[...text]/+page.server.js @@ -53,7 +53,7 @@ let parse = async (t, host) => { redirect(307, r); } - if (user) redirect(307, `/send/${user.username}`); + if (user) redirect(307, `/pay/${user.username}`); else if (id) redirect(307, `/send/${id}`); } @@ -63,7 +63,7 @@ let parse = async (t, host) => { if (user.anon) user = null; } catch (e) {} - if (user) redirect(307, `/send/user/${t}`); + if (user) redirect(307, `/pay/${t}`); let fund; try { @@ -78,7 +78,7 @@ let parse = async (t, host) => { invoice = await get(`/invoice/${t}`); } catch (e) {} - if (invoice) redirect(307, `/send/invoice/${invoice.hash}`); + if (invoice) redirect(307, `/send/invoice/${invoice.id}`); }; export async function load({ cookies, params, request, url }) { diff --git a/src/routes/(app)/send/[...text]/+page.svelte b/src/routes/(app)/send/[...text]/+page.svelte index 71db4e55..f9267105 100644 --- a/src/routes/(app)/send/[...text]/+page.svelte +++ b/src/routes/(app)/send/[...text]/+page.svelte @@ -93,7 +93,7 @@ </h1> <div> {#each contacts as c} - <a href={`/send/${c.username}`}> + <a href={`/pay/${c.username}`}> <div class="border-b p-2 last:border-b-0 hover:bg-gray-100 rounded-2xl" > diff --git a/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js b/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js deleted file mode 100644 index 884e3eee..00000000 --- a/src/routes/(app)/send/user/[username]/[...amount]/+page.server.js +++ /dev/null @@ -1,50 +0,0 @@ -import { error, fail, redirect } from "@sveltejs/kit"; -import { types, sats, fd, auth, get, post } from "$lib/utils"; - -export async function load({ cookies, params, parent }) { - let subject = await get(`/users/${params.username}`); - - let { rates, user } = await parent(); - let { username } = params; - let [amount, currency] = params.amount.split("/"); - - let rate; - if (amount) { - rate = rates[currency ? currency.toUpperCase() : subject.currency]; - if (!rate) error(500, "Invalid currency symbol"); - if (currency) amount = (amount * sats) / rate; - - let { id } = await post( - "/invoice", - { - invoice: { - amount, - currency: currency === subject.currency ? currency : undefined, - prompt: false, - rate: currency === subject.currency ? rate : undefined, - type: types.lightning, - }, - user: { username }, - }, - auth(cookies) - ); - - redirect(307, `/${username}/invoice/${id}`); - } - - return { amount, rate, subject }; -} - -export const actions = { - default: async ({ cookies, request }) => { - try { - let body = await fd(request); - await post("/payments", body, auth(cookies)); - } catch (e) { - console.log(e); - return fail(400, { message: e.message }); - } - - redirect(307, "/sent"); - }, -}; diff --git a/src/routes/(app)/send/user/[username]/[...amount]/+page.svelte b/src/routes/(app)/send/user/[username]/[...amount]/+page.svelte deleted file mode 100644 index e9273647..00000000 --- a/src/routes/(app)/send/user/[username]/[...amount]/+page.svelte +++ /dev/null @@ -1,108 +0,0 @@ -<script> - import { t } from "$lib/translations"; - import { goto } from "$app/navigation"; - import { pin } from "$lib/store"; - import { enhance } from "$app/forms"; - import AppHeader from "$comp/AppHeader.svelte"; - import Avatar from "$comp/Avatar.svelte"; - import Icon from "$comp/Icon.svelte"; - import Numpad from "$comp/Numpad.svelte"; - import Spinner from "$comp/Spinner.svelte"; - import { page } from "$app/stores"; - import { f, post, s, sat, sats } from "$lib/utils"; - - export let data; - export let form; - - let { subject, rate, rates, user } = data; - let currency = user.currency || subject.currency || "USD"; - let next; - - let amount = form?.amount || data.amount; - let a, - af, - fiat = !amount, - hash, - amountFiat = 0; - - $: r = rate || rates[user.currency || subject.currency]; - - let setAmount = async () => { - amount = a; - amountFiat = parseFloat(af).toFixed(2); - rate = fiat ? (sats * amountFiat) / amount : r; - - ({ hash } = await post(`/${subject.username}/invoice`, { - invoice: { - amount, - hash: "internal", - rate: rates[subject.currency], - prompt: subject.prompt, - type: "internal", - }, - user: subject, - })); - - goto(`/${subject.username}/invoice/${hash}`); - }; - - let loading; - let submit = () => (loading = true); - - $: update(form); - let update = () => { - if (form?.message?.includes("pin")) $pin = undefined; - loading = false; - }; -</script> - -<AppHeader {data} /> - -{#if form?.message} - <div class="text-red-600 text-center"> - {form.message} - </div> -{/if} - -<div class="container px-4 mt-20 max-w-xl mx-auto space-y-8"> - <Numpad - bind:amount={a} - bind:amountFiat={af} - {currency} - bind:fiat - bind:rate={r} - bind:submit={next} - /> - - <form method="POST" use:enhance on:submit={submit}> - <input name="amount" value={amount} type="hidden" /> - <input name="username" value={subject.username} type="hidden" /> - <input name="pin" value={$pin} type="hidden" /> - <input name="hash" value={hash} type="hidden" /> - - <div class="flex w-full text-xl"> - {#if amount} - <button - type="submit" - class="opacity-100 hover:opacity-80'} rounded-2xl border py-5 font-bold mx-auto mt-2 bg-black text-white px-6 w-40" - > - {#if loading} - <Spinner /> - {:else} - {$t("payments.send")} - {/if} - </button> - {:else} - <button - type="button" - bind:this={next} - class="opacity-100 hover:opacity-80'} rounded-2xl border py-5 font-bold mx-auto mt-2 bg-black text-white px-6 w-40" - on:click={setAmount} - on:keydown={setAmount} - > - {$t("payments.next")}</button - > - {/if} - </div> - </form> -</div> |
