diff options
| author | Adam Soltys <[email protected]> | 2024-02-21 15:23:12 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-02-21 15:23:12 -0800 |
| commit | e447e9c9d76af97cef42ad7e24ddb9250d579b58 (patch) | |
| tree | 451b2672401f83659cd30ff568f4b04c5fcc0897 /src | |
| parent | 935b3a772e58fd50e3103fbbdb3bd1ba35c49a9f (diff) | |
| download | coinos-ui-e447e9c9d76af97cef42ad7e24ddb9250d579b58.tar.gz coinos-ui-e447e9c9d76af97cef42ad7e24ddb9250d579b58.zip | |
fix back button, abort long requests
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/utils.js | 17 | ||||
| -rw-r--r-- | src/routes/(app)/send/bitcoin/[address]/+page.svelte | 9 | ||||
| -rw-r--r-- | src/routes/(app)/send/bitcoin/[address]/[amount]/[...feeRate]/+page.server.js | 1 |
3 files changed, 20 insertions, 7 deletions
diff --git a/src/lib/utils.js b/src/lib/utils.js index 53437f56..d3ad0da3 100644 --- a/src/lib/utils.js +++ b/src/lib/utils.js @@ -41,16 +41,24 @@ export let get = (url, headers = {}) => { }); }; -export let post = (url, body, headers) => { +export let post = async (url, body, headers, timeout = 8000) => { headers = { - ...headers, "content-type": "application/json", accept: "application/json", + ...headers, }; - return fetch(base + url, { + + let controller = new AbortController(); + console.log(controller, timeout); + let id = setTimeout(() => { + controller.abort(new Error("Operation timed out")); + }, timeout); + + let response = await fetch(base + url, { method: "POST", body: JSON.stringify(body), headers, + signal: controller.signal, }) .then(async (r) => { if (r.ok) return r.text(); @@ -77,6 +85,9 @@ export let post = (url, body, headers) => { return body; }); + + clearTimeout(id); + return response; }; export let copy = (text) => { diff --git a/src/routes/(app)/send/bitcoin/[address]/+page.svelte b/src/routes/(app)/send/bitcoin/[address]/+page.svelte index bd54cf83..84f14c39 100644 --- a/src/routes/(app)/send/bitcoin/[address]/+page.svelte +++ b/src/routes/(app)/send/bitcoin/[address]/+page.svelte @@ -4,13 +4,13 @@ import Numpad from "$comp/Numpad.svelte"; import { page } from "$app/stores"; import { rate } from "$lib/store"; - import { back, fail, s } from "$lib/utils"; + import { fail, s } from "$lib/utils"; export let data; - let { rates } = data; + let { rates, user } = data; let { address } = $page.params; - let { balance, currency } = data.user; + let { balance, currency, username } = user; let amount = 0; let submit, fiat; @@ -24,13 +24,14 @@ }; </script> +<a href="/send"> <button type="button" class="ml-5 md:ml-20 mt-5 md:mt-10 hover:opacity-80" - on:click={back} > <Icon icon="arrow-left" style="w-10" /> </button> + </a> <div class="container px-4 max-w-xl mx-auto space-y-5 text-center"> <h1 class="text-3xl md:text-4xl font-semibold mb-2">{$t("payments.send")}</h1> 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 318e33c4..9d86537d 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 @@ -26,6 +26,7 @@ export const actions = { try { let r = await post("/bitcoin/send", await fd(request), auth(cookies)); } catch (e) { + console.log("problem sending bitcoin", e); return fail(400, { address, amount, feeRate, message: e.message }); } |
