diff options
| author | Adam Soltys <[email protected]> | 2024-08-21 01:53:02 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-08-21 01:53:02 -0700 |
| commit | b2334dc5de60359e0efb9b8f328291f1763f1461 (patch) | |
| tree | a86bd3a709035f212a91721410d6d46c0d251808 /src/lib | |
| parent | 3221f282ffa5a62fee10996288f3e1157309a10e (diff) | |
| download | coinos-ui-b2334dc5de60359e0efb9b8f328291f1763f1461.tar.gz coinos-ui-b2334dc5de60359e0efb9b8f328291f1763f1461.zip | |
wait if navigating
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/parse.js | 1 | ||||
| -rw-r--r-- | src/lib/socket.js | 17 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/lib/parse.js b/src/lib/parse.js index 3c29f2e5..3470fb52 100644 --- a/src/lib/parse.js +++ b/src/lib/parse.js @@ -7,7 +7,6 @@ import { redirect } from "@sveltejs/kit"; export default async (t, host, cookies) => { if (!t) return; - console.log("T", t) if (t.startsWith("http")) redirect(307, t); if (t.startsWith(host)) redirect(307, `http://${t}`); diff --git a/src/lib/socket.js b/src/lib/socket.js index 6aa5498c..98d42ead 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -1,6 +1,7 @@ +import { navigating } from "$app/stores"; import { get } from "svelte/store"; import { event, invoice, request, newPayment, last } from "$lib/store"; -import { success, sat } from "$lib/utils"; +import { success, sat, sleep } from "$lib/utils"; import { PUBLIC_SOCKET } from "$env/static/public"; import { invalidate } from "$app/navigation"; import { browser } from "$app/environment"; @@ -33,13 +34,9 @@ export const messages = (data) => ({ async payment() { let { amount, confirmed } = data; - // without setTimeout, invalidate seems to break redirections from actions - let delay = amount > 0 ? 0 : 2500; - setTimeout(() => { - invalidate("app:user"); - invalidate("app:invoice"); - invalidate("app:payments"); - }, delay); + invalidate("app:user"); + invalidate("app:invoice"); + invalidate("app:payments"); if (amount > 0) { success(`${confirmed ? "Received" : "Detected"} ${sat(amount)}!`); @@ -69,8 +66,10 @@ export function close() { if (socket) socket.close(); } -function onWebsocketMessage(msg) { +async function onWebsocketMessage(msg) { let { type, data } = JSON.parse(msg.data); + if (get(navigating)) await sleep(2000); + messages(data)[type] && messages(data)[type](); } |
