aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/send/user
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-04-10 13:27:58 -0700
committerAdam Soltys <[email protected]>2024-04-10 13:27:58 -0700
commit4db8ded1ab91b1670b56e34199cebf2edf0144d4 (patch)
tree291e591c706349d74ecb4d5122b1eedad2996d49 /src/routes/(app)/send/user
parentb2f9998bccee791477b62b82f74fb4460345bbac (diff)
downloadcoinos-ui-4db8ded1ab91b1670b56e34199cebf2edf0144d4.tar.gz
coinos-ui-4db8ded1ab91b1670b56e34199cebf2edf0144d4.zip
rename pay route
Diffstat (limited to 'src/routes/(app)/send/user')
-rw-r--r--src/routes/(app)/send/user/[username]/[...amount]/+page.server.js50
-rw-r--r--src/routes/(app)/send/user/[username]/[...amount]/+page.svelte108
2 files changed, 0 insertions, 158 deletions
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>