aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/socket.ts9
-rw-r--r--src/lib/store.ts3
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,
+);