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..88545302 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, getOneRequest(activeRequest); + onMount(() => { currencyManager = initializeCurrencyManager(currencies); }); @@ -90,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; @@ -471,6 +496,7 @@ {#if activeRequest !== undefined}