aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-12-20 15:37:15 -0800
committerAdam Soltys <[email protected]>2023-12-20 15:37:15 -0800
commit8fd14716938669b3c97e5e8d8102a5fa704984e9 (patch)
treeff8d1de416ee001c3dd0a118cde4854a192bf87e /src
parent88631e39487dcc99128676e8338c28b3dcbd45ad (diff)
downloadcoinos-ui-8fd14716938669b3c97e5e8d8102a5fa704984e9.tar.gz
coinos-ui-8fd14716938669b3c97e5e8d8102a5fa704984e9.zip
report error
Diffstat (limited to 'src')
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.js4
-rw-r--r--src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte129
2 files changed, 68 insertions, 65 deletions
diff --git a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.js b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.js
index 9af95188..86f9fde8 100644
--- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.js
+++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.js
@@ -13,13 +13,13 @@ export async function load({ params: { address, amount, feeRate }, cookies }) {
let { fee, ourfee, hex } = await post(
"/bitcoin/fee",
- { address, amount, feeRate: feeRate },
+ { address, amount, feeRate },
auth(cookies)
);
return { amount, address, fee, fees, feeRate, ourfee, hex };
} catch (e) {
- throw redirect(307, `/send/bitcoin/${address}`);
+ return { message: e.message };
}
}
diff --git a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
index ccbe0f77..045c44d6 100644
--- a/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
+++ b/src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte
@@ -13,11 +13,14 @@
export let data;
export let form;
- let { amount, address, fee, fees, feeRate, ourfee, rates, hex } = data;
+ let { amount, address, message, fee, fees, feeRate, ourfee, rates, hex } =
+ data;
$: reload(data);
let reload = () => {
- ({ amount, address, fee, fees, feeRate, ourfee, rates, hex } = data);
+ ({ amount, address, message, fee, fees, feeRate, ourfee, rates, hex } =
+ data);
+ if (!fees) return;
delete fees.minimumFee;
feeRate = closest(Object.values(fees), feeRate);
if (!$rate) $rate = rates[currency];
@@ -30,7 +33,7 @@
fastestFee: "Fastest",
halfHourFee: "Fast",
hourFee: "Medium",
- economyFee: "Slow",
+ economyFee: "Slow",
};
let toggleSettings = () => (showSettings = !showSettings);
@@ -57,82 +60,82 @@
<div
class="container px-4 max-w-xl mx-auto space-y-5 text-center no-transition"
>
- {#if form?.message}
- <div class="mb-5">
- <div class="text-red-600">{form.message}</div>
- </div>
- {/if}
-
<h1 class="text-3xl md:text-4xl font-semibold mb-2">{$t("payments.send")}</h1>
- <div class="text-xl text-secondary break-all">{address}</div>
-
- <div class="text-center">
- <h2 class="text-2xl md:text-3xl font-semibold">
- {f(toFiat(amount, $rate), currency)}
- </h2>
- <h3 class="text-secondary md:text-lg mb-6 mt-1">⚡️{s(amount)}</h3>
- </div>
-
- <div class="text-center">
- <h2 class="text-secondary text-lg">{$t("payments.networkFee")}</h2>
+ {#if form?.message || message}
+ <div class="mb-5">
+ <div class="text-red-600">{form?.message || message}</div>
+ </div>
+ {:else}
+ <div class="text-xl text-secondary break-all">{address}</div>
- <div class="flex flex-wrap gap-4 justify-center">
- <select
- bind:value={feeRate}
- on:change={setFee}
- class="border text-lg bg-white p-4 rounded-2xl text-center my-auto"
- >
- {#each Object.keys(fees) as feeName}
- <option value={fees[feeName]}
- >{feeNames[feeName]} &mdash; ⚡️{fees[feeName]}/vb</option
- >
- {/each}
- </select>
- <div class="my-auto">
- <h2 class="text-xl">
- {f(toFiat(fee, $rate), currency)}
- </h2>
- <h3 class="text-secondary">⚡️{s(fee)}</h3>
- </div>
+ <div class="text-center">
+ <h2 class="text-2xl md:text-3xl font-semibold">
+ {f(toFiat(amount, $rate), currency)}
+ </h2>
+ <h3 class="text-secondary md:text-lg mb-6 mt-1">⚡️{s(amount)}</h3>
</div>
- </div>
- {#if ourfee}
<div class="text-center">
- <h2 class="text-secondary text-lg">{$t("payments.ourFee")}</h2>
+ <h2 class="text-secondary text-lg">{$t("payments.networkFee")}</h2>
<div class="flex flex-wrap gap-4 justify-center">
+ <select
+ bind:value={feeRate}
+ on:change={setFee}
+ class="border text-lg bg-white p-4 rounded-2xl text-center my-auto"
+ >
+ {#each Object.keys(fees) as feeName}
+ <option value={fees[feeName]}
+ >{feeNames[feeName]} &mdash; ⚡️{fees[feeName]}/vb</option
+ >
+ {/each}
+ </select>
<div class="my-auto">
<h2 class="text-xl">
- {f(toFiat(ourfee, $rate), currency)}
+ {f(toFiat(fee, $rate), currency)}
</h2>
- <h3 class="text-secondary">⚡️{s(ourfee)}</h3>
+ <h3 class="text-secondary">⚡️{s(fee)}</h3>
</div>
</div>
</div>
- {/if}
- <form method="POST" use:enhance on:submit={() => (submitting = true)}>
- <input name="pin" value={$pin} type="hidden" />
- <input name="hex" value={hex} type="hidden" />
- <input name="rate" value={$rate} type="hidden" />
+ {#if ourfee}
+ <div class="text-center">
+ <h2 class="text-secondary text-lg">{$t("payments.ourFee")}</h2>
- <div class="flex justify-center gap-2">
- <button
- bind:this={submit}
- type="submit"
- class="opacity-100 hover:opacity-80 rounded-2xl border py-3 font-bold mt-2 bg-black text-white px-4 w-24"
- disabled={submitting}
- >
- {#if submitting}
- <Spinner />
- {:else}
- {$t("payments.send")}
- {/if}
- </button>
- </div>
- </form>
+ <div class="flex flex-wrap gap-4 justify-center">
+ <div class="my-auto">
+ <h2 class="text-xl">
+ {f(toFiat(ourfee, $rate), currency)}
+ </h2>
+ <h3 class="text-secondary">⚡️{s(ourfee)}</h3>
+ </div>
+ </div>
+ </div>
+ {/if}
+
+ <form method="POST" use:enhance on:submit={() => (submitting = true)}>
+ <input name="pin" value={$pin} type="hidden" />
+ <input name="hex" value={hex} type="hidden" />
+ <input name="rate" value={$rate} type="hidden" />
+
+ <div class="flex justify-center gap-2">
+ <button
+ bind:this={submit}
+ type="submit"
+ class="opacity-100 hover:opacity-80 rounded-2xl border py-3 font-bold mt-2 bg-black text-white px-4 w-24"
+ disabled={submitting}
+ >
+ {#if submitting}
+ <Spinner />
+ {:else}
+ {$t("payments.send")}
+ {/if}
+ </button>
+ </div>
+ </form>
+ {/if}
</div>
<style>