diff options
| author | Adam Soltys <[email protected]> | 2022-11-08 16:33:17 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-11-08 16:33:49 -0800 |
| commit | 376ff340ad9a0e15efec997c560f7e4db765f65c (patch) | |
| tree | e2f28b2367c0ae9567447b5bec49f2f59126f8b0 /src/lib | |
| parent | 4b15454e4b37e212a646d5b85fea7ae8eab374e2 (diff) | |
| download | coinos-ui-376ff340ad9a0e15efec997c560f7e4db765f65c.tar.gz coinos-ui-376ff340ad9a0e15efec997c560f7e4db765f65c.zip | |
handle on-chain deposits
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/socket.js | 13 | ||||
| -rw-r--r-- | src/lib/store.js | 1 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/lib/socket.js b/src/lib/socket.js index 079c8f96..6678b979 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -1,7 +1,8 @@ import { get } from 'svelte/store'; -import { invoices, invoice, request, newPayment, last, rate, user } from '$lib/store'; +import { invoices, invoice, request, newPayment, last, rate, txns, user } from '$lib/store'; import { success, sat } from '$lib/utils'; import { env } from '$env/dynamic/public'; +import { invalidate } from '$app/navigation'; const socketUrl = env.PUBLIC_SOCKET; const btc = env.PUBLIC_BTC; @@ -41,9 +42,15 @@ export const messages = (data) => ({ if (get(user).account_id !== data.account_id) return; - newPayment.set(true); + let payments = get(txns); + let i = payments.findIndex((p) => p.id === data.id); + if (~i) (payments[i] = data), txns.set(payments); + else newPayment.set(true); + + invalidate((url) => url.pathname === '/payments'); + if (amount > 0) { - success(`Received ${sat(amount)}!`); + success(`${data.confirmed ? 'Received' : 'Detected'} ${sat(amount)}!`); } else { success(`Sent ${sat(amount)}!`); } diff --git a/src/lib/store.js b/src/lib/store.js index 3faa234b..3105419c 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -46,3 +46,4 @@ export const pin = persistSession('pin', undefined, 5 * 60 * 1000); export const last = writable(); export const request = writable(); export const invoice = writable(); +export const txns = persistLocal('transactions', []); |
