diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/socket.ts | 9 | ||||
| -rw-r--r-- | src/lib/store.ts | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/socket.ts b/src/lib/socket.ts index 077fb856..3e71e1ce 100644 --- a/src/lib/socket.ts +++ b/src/lib/socket.ts @@ -1,7 +1,7 @@ import { goto, invalidate } from "$app/navigation"; import { navigating, page } from "$app/stores"; import { PUBLIC_SOCKET } from "$env/static/public"; -import { event, importing, invoice, last, paymentSignal, request } from "$lib/store"; +import { event, importing, invoice, last, lastPayment, paymentSignal, request } from "$lib/store"; import { s, sleep, success, wait } from "$lib/utils"; import cookies from "js-cookie"; import { get } from "svelte/store"; @@ -54,6 +54,8 @@ export const messages = (data) => ({ return; } + if (amount > 0 && iid) lastPayment.set({ iid, amount, confirmed }); + const { url: { pathname }, } = get(page); @@ -66,7 +68,10 @@ export const messages = (data) => ({ pathname.includes("/receive") || pathname.includes("/invoice") ) { - if (!get(navigating)) goto(`/invoice/${iid}`); + if (!get(navigating) && iid) { + const target = confirmed ? `/invoice/${iid}/paid` : `/invoice/${iid}`; + goto(target); + } } else success(`${confirmed ? "Received" : "Detected"} ⚡️${s(amount)}!`); } }, diff --git a/src/lib/store.ts b/src/lib/store.ts index 57bb9735..df2c1eba 100644 --- a/src/lib/store.ts +++ b/src/lib/store.ts @@ -98,3 +98,6 @@ export const showQr = persistLocal("showQr", true); export const save = writable(); export const importing = writable(new Set<string>()); export const paymentSignal = writable(0); +export const lastPayment = writable<{ iid: string; amount: number; confirmed: boolean } | null>( + null, +); |
