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..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,8 @@ 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"; import Status from "@requestnetwork/shared-components/status.svelte"; @@ -30,6 +32,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 +42,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 +65,9 @@ let defaultCurrencies: any[] = []; + let showSuccessDialog = false; + let createdRequestId = ""; + onMount(async () => { currencyManager = await initializeCreateInvoiceCurrencyManager(currencies); @@ -283,6 +290,7 @@ const hanldeCreateNewInvoice = () => { removeAllStatuses(); + handleCloseSuccessDialog(); formData = getInitialFormData(); }; @@ -340,6 +348,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 +364,10 @@ } } }; + + const handleCloseSuccessDialog = () => { + showSuccessDialog = false; + };