From 4faa0a84125c9f5e69aba1a02259bd6dcb05ef61 Mon Sep 17 00:00:00 2001 From: sstefdev Date: Wed, 22 Jan 2025 15:18:31 +0100 Subject: [PATCH 1/3] feat: add success dialog for creation invoice --- package-lock.json | 4 +- .../src/lib/create-invoice-form.svelte | 232 ++++++++++++++++-- 2 files changed, 220 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 52edcd3a..41ebbb80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11358,7 +11358,7 @@ }, "packages/create-invoice-form": { "name": "@requestnetwork/create-invoice-form", - "version": "0.12.0", + "version": "0.12.1", "license": "MIT", "dependencies": { "@requestnetwork/data-format": "0.19.5", @@ -11378,7 +11378,7 @@ }, "packages/invoice-dashboard": { "name": "@requestnetwork/invoice-dashboard", - "version": "0.12.0", + "version": "0.13.0", "license": "MIT", "dependencies": { "@requestnetwork/payment-detection": "0.49.0", diff --git a/packages/create-invoice-form/src/lib/create-invoice-form.svelte b/packages/create-invoice-form/src/lib/create-invoice-form.svelte index 5f12fb06..b034cd0e 100644 --- a/packages/create-invoice-form/src/lib/create-invoice-form.svelte +++ b/packages/create-invoice-form/src/lib/create-invoice-form.svelte @@ -23,6 +23,7 @@ initializeCreateInvoiceCurrencyManager, } from "@requestnetwork/shared-utils/index"; // Components + import Share from "@requestnetwork/shared-icons/share.svelte"; import { InvoiceForm, InvoiceView } from "./invoice"; import Button from "@requestnetwork/shared-components/button.svelte"; import Status from "@requestnetwork/shared-components/status.svelte"; @@ -30,6 +31,7 @@ import { EncryptionTypes, CipherProviderTypes } from "@requestnetwork/types"; import { onDestroy, onMount, tick } from "svelte"; import { CurrencyManager } from "@requestnetwork/currency"; + import { toast } from "svelte-sonner"; interface CipherProvider extends CipherProviderTypes.ICipherProvider { disconnectWallet: () => void; @@ -39,6 +41,7 @@ export let wagmiConfig: WagmiConfig; export let requestNetwork: RequestNetwork | null | undefined; export let currencies: string[] = []; + export let singleInvoicePath = "/invoice"; let cipherProvider: CipherProvider | undefined; let account: GetAccountReturnType | undefined = @@ -61,6 +64,9 @@ let defaultCurrencies: any[] = []; + let showSuccessDialog = false; + let createdRequestId = ""; + onMount(async () => { currencyManager = await initializeCreateInvoiceCurrencyManager(currencies); @@ -340,6 +346,11 @@ addToStatus(APP_STATUS.PERSISTING_ON_CHAIN); await request.waitForConfirmation(); addToStatus(APP_STATUS.REQUEST_CONFIRMED); + + // Show success dialog after confirmation + createdRequestId = request.requestId; + removeAllStatuses(); + showSuccessDialog = true; } catch (error: any) { if (error.message.includes("Transaction confirmation not received")) { isTimeout = true; @@ -351,6 +362,10 @@ } } }; + + const handleCloseSuccessDialog = () => { + showSuccessDialog = false; + };
-
- From f58679a33a3e67718ba731984e7036a875fc4011 Mon Sep 17 00:00:00 2001 From: sstefdev Date: Wed, 22 Jan 2025 15:54:45 +0100 Subject: [PATCH 2/3] fix: update the types of create invoice, update styles and logic --- .../src/lib/create-invoice-form.svelte | 46 +++++++++++-------- .../src/lib/react/CreateInvoiceForm.d.ts | 2 + 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/packages/create-invoice-form/src/lib/create-invoice-form.svelte b/packages/create-invoice-form/src/lib/create-invoice-form.svelte index b034cd0e..d0d24a2b 100644 --- a/packages/create-invoice-form/src/lib/create-invoice-form.svelte +++ b/packages/create-invoice-form/src/lib/create-invoice-form.svelte @@ -23,6 +23,7 @@ initializeCreateInvoiceCurrencyManager, } from "@requestnetwork/shared-utils/index"; // Components + import Toaster from "@requestnetwork/shared-components/sonner.svelte"; import Share from "@requestnetwork/shared-icons/share.svelte"; import { InvoiceForm, InvoiceView } from "./invoice"; import Button from "@requestnetwork/shared-components/button.svelte"; @@ -289,6 +290,7 @@ const hanldeCreateNewInvoice = () => { removeAllStatuses(); + handleCloseSuccessDialog(); formData = getInitialFormData(); }; @@ -413,7 +415,6 @@ config={activeConfig} isOpen={showSuccessDialog} onClose={handleCloseSuccessDialog} - width="600px" >
@@ -446,32 +447,31 @@