aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/send
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
parentb2f9998bccee791477b62b82f74fb4460345bbac (diff)
downloadcoinos-ui-4db8ded1ab91b1670b56e34199cebf2edf0144d4.tar.gz
coinos-ui-4db8ded1ab91b1670b56e34199cebf2edf0144d4.zip
rename pay route
Diffstat (limited to 'src/routes/(app)/send')
-rw-r--r--src/routes/(app)/send/[...text]/+page.server.js6
-rw-r--r--src/routes/(app)/send/[...text]/+page.svelte2
-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
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>