From b83994d6fb38981607c2cd4d460173457377a9ba Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Mon, 1 Aug 2022 22:17:25 -0700 Subject: update invoice paid status --- src/lib/socket.js | 4 ++-- src/lib/store.js | 2 +- src/routes/invoice/[id].js | 3 ++- src/routes/invoice/[id].svelte | 16 ++++++++++------ 4 files changed, 15 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/lib/socket.js b/src/lib/socket.js index 4898f481..66091d76 100644 --- a/src/lib/socket.js +++ b/src/lib/socket.js @@ -1,5 +1,5 @@ import { get } from 'svelte/store'; -import { rate, user, token, invoicePaid, preferredCurrency } from '$lib/store'; +import { rate, user, token, invoices, preferredCurrency } from '$lib/store'; let interval, socket; @@ -18,7 +18,7 @@ export const messages = (data) => ({ }, payment() { - invoicePaid.set(true); + invoices.set({ ...get(invoices), [data.invoice.uuid]: data.invoice }); }, connected: auth, diff --git a/src/lib/store.js b/src/lib/store.js index f910dfa6..b20fd10f 100644 --- a/src/lib/store.js +++ b/src/lib/store.js @@ -18,5 +18,5 @@ export const user = writable(); export const invoiceAmount = writable(); export const invoiceAmountFiat = writable(); export const token = persisted('token'); -export const invoicePaid = writable(); +export const invoices = writable({}); export const preferredCurrency = writable(); diff --git a/src/routes/invoice/[id].js b/src/routes/invoice/[id].js index bba1693c..a58d02a1 100644 --- a/src/routes/invoice/[id].js +++ b/src/routes/invoice/[id].js @@ -5,9 +5,10 @@ export async function GET({ params }) { let { amount, rate, + status, text, user: { username } } = await get(`/invoice?uuid=${id}`); - return { body: { amount, rate, username, text } }; + return { body: { amount, id, rate, username, status, text } }; } diff --git a/src/routes/invoice/[id].svelte b/src/routes/invoice/[id].svelte index b302d12d..17c7de1f 100644 --- a/src/routes/invoice/[id].svelte +++ b/src/routes/invoice/[id].svelte @@ -2,15 +2,15 @@ import { toast } from '@zerodevx/svelte-toast'; import { get, post, reverseFormat } from '$lib/utils'; import { browser } from '$app/env'; - import { user, invoicePaid, preferredCurrency } from '$lib/store'; + import { invoices, user, preferredCurrency } from '$lib/store'; import { Icon, Image } from '$comp'; import { goto } from '$app/navigation'; import { onMount } from 'svelte'; import { copy } from '$lib/utils'; - export let amount, rate, text, username; + export let amount, id, rate, status, text, username; - console.log($user); + $invoices[id] = { amount, id, rate, status, text, username }; $: amountFiat = parseFloat(((amount * rate) / 100000000).toFixed(2)); @@ -133,16 +133,20 @@ const handleDoneClick = () => { if ($user) { - goto(`/${user.username}/receive`); + goto(`/${$user.username}/receive`); } else { goto('/'); } }; -{#if $user && !invoicePaid} +{#if $invoices[id]?.status !== 'paid'}
- -- cgit v1.2.3