From fa51c6307c299a2d6c3cf725dfda3a69c839f6e2 Mon Sep 17 00:00:00 2001 From: sstefdev Date: Mon, 15 Jul 2024 16:20:12 +0200 Subject: [PATCH 1/2] fix: added payment check when invoice is paid --- .../invoice-dashboard/src/lib/dashboard/invoice-view.svelte | 2 ++ packages/invoice-dashboard/src/lib/view-requests.svelte | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/packages/invoice-dashboard/src/lib/dashboard/invoice-view.svelte b/packages/invoice-dashboard/src/lib/dashboard/invoice-view.svelte index 8fd6511f..81379d1f 100644 --- a/packages/invoice-dashboard/src/lib/dashboard/invoice-view.svelte +++ b/packages/invoice-dashboard/src/lib/dashboard/invoice-view.svelte @@ -33,6 +33,7 @@ export let requestNetwork: RequestNetwork | null | undefined; export let request: Types.IRequestDataWithEvents | undefined; export let currencyManager: any; + export let isRequestPayed: boolean; let network = request?.currencyInfo?.network || "mainnet"; let currency = currencyManager.fromAddress(request?.currencyInfo?.value); @@ -140,6 +141,7 @@ isPaid = true; loading = false; statuses = []; + isRequestPayed = true; } catch (err) { console.error("Something went wrong while paying : ", err); loading = false; diff --git a/packages/invoice-dashboard/src/lib/view-requests.svelte b/packages/invoice-dashboard/src/lib/view-requests.svelte index 5d4cae3e..6d60dc43 100644 --- a/packages/invoice-dashboard/src/lib/view-requests.svelte +++ b/packages/invoice-dashboard/src/lib/view-requests.svelte @@ -46,6 +46,7 @@ let loading = false; let searchQuery = ""; let debouncedUpdate: any; + let isRequestPayed = false; let currentTab = "All"; let requests: Types.IRequestDataWithEvents[] | undefined = []; let activeRequest: Types.IRequestDataWithEvents | undefined; @@ -67,6 +68,8 @@ signer = wallet?.accounts[0]?.address; } + $: isRequestPayed, getRequests(), (activeRequest = undefined); + onMount(() => { currencyManager = initializeCurrencyManager(currencies); }); @@ -471,6 +474,7 @@ {#if activeRequest !== undefined} Date: Mon, 15 Jul 2024 16:51:54 +0200 Subject: [PATCH 2/2] fix: fetching only one request and replacing it in the requests array --- .../src/lib/view-requests.svelte | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/invoice-dashboard/src/lib/view-requests.svelte b/packages/invoice-dashboard/src/lib/view-requests.svelte index 6d60dc43..88545302 100644 --- a/packages/invoice-dashboard/src/lib/view-requests.svelte +++ b/packages/invoice-dashboard/src/lib/view-requests.svelte @@ -68,7 +68,7 @@ signer = wallet?.accounts[0]?.address; } - $: isRequestPayed, getRequests(), (activeRequest = undefined); + $: isRequestPayed, getOneRequest(activeRequest); onMount(() => { currencyManager = initializeCurrencyManager(currencies); @@ -93,6 +93,28 @@ } }; + const getOneRequest = async (activeRequest: any) => { + try { + loading = true; + + const _request = await requestNetwork?.fromRequestId( + activeRequest?.requestId! + ); + + requests = requests?.filter( + (request) => request.requestId !== activeRequest.requestId + ); + requests = [...requests, _request.getData()].sort( + (a, b) => b.timestamp - a.timestamp + ); + + loading = false; + } catch (error) { + loading = false; + console.error("Failed to fetch request:", error); + } + }; + $: { if (requests && loading) { loading = false;