diff options
| author | Adam Soltys <[email protected]> | 2023-12-20 15:37:15 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-12-20 15:37:15 -0800 |
| commit | 8fd14716938669b3c97e5e8d8102a5fa704984e9 (patch) | |
| tree | ff8d1de416ee001c3dd0a118cde4854a192bf87e /src | |
| parent | 88631e39487dcc99128676e8338c28b3dcbd45ad (diff) | |
| download | coinos-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.js | 4 | ||||
| -rw-r--r-- | src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.svelte | 129 |
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]} — ⚡️{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]} — ⚡️{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> |
