From 916f3ecdf3068ba6f2d63bc3046cc296afd5ee68 Mon Sep 17 00:00:00 2001 From: sstefdev Date: Tue, 26 Nov 2024 10:46:28 +0100 Subject: [PATCH 1/3] fix: added fixes for the create invoice form --- .../src/lib/invoice/form-view.svelte | 2 +- .../src/lib/invoice/form.svelte | 25 +++++++++---------- .../src/lib/utils/resetForm.ts | 6 ++--- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/packages/create-invoice-form/src/lib/invoice/form-view.svelte b/packages/create-invoice-form/src/lib/invoice/form-view.svelte index 27af66a7..fdb1d84a 100644 --- a/packages/create-invoice-form/src/lib/invoice/form-view.svelte +++ b/packages/create-invoice-form/src/lib/invoice/form-view.svelte @@ -232,7 +232,7 @@ > Due: {currency ? currency.symbol : ""} + >{invoiceCurrency ? invoiceCurrency.symbol : ""} {" "} {invoiceTotals.totalAmount.toFixed(2)} diff --git a/packages/create-invoice-form/src/lib/invoice/form.svelte b/packages/create-invoice-form/src/lib/invoice/form.svelte index d0abf3b4..e4534096 100644 --- a/packages/create-invoice-form/src/lib/invoice/form.svelte +++ b/packages/create-invoice-form/src/lib/invoice/form.svelte @@ -398,19 +398,6 @@ - - ({ - value: currency, - label: `${currency.symbol} ${currency?.network ? `(${currency?.network})` : ""}`, - }))} - onchange={handleInvoiceCurrencyChange} - /> + ({ + value: currency, + label: `${currency.symbol} ${currency?.network ? `(${currency?.network})` : ""}`, + }))} + onchange={handleInvoiceCurrencyChange} + /> Date: Tue, 26 Nov 2024 10:48:55 +0100 Subject: [PATCH 2/3] chore: update versions --- packages/create-invoice-form/package.json | 2 +- packages/invoice-dashboard/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create-invoice-form/package.json b/packages/create-invoice-form/package.json index 740d4b46..d2d1e90f 100644 --- a/packages/create-invoice-form/package.json +++ b/packages/create-invoice-form/package.json @@ -1,6 +1,6 @@ { "name": "@requestnetwork/create-invoice-form", - "version": "0.11.1", + "version": "0.11.2", "main": "./dist/web-component.umd.cjs", "scripts": { "dev": "vite dev", diff --git a/packages/invoice-dashboard/package.json b/packages/invoice-dashboard/package.json index 04b3110e..5ab52866 100644 --- a/packages/invoice-dashboard/package.json +++ b/packages/invoice-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@requestnetwork/invoice-dashboard", - "version": "0.11.0", + "version": "0.11.1", "main": "./dist/web-component.umd.cjs", "scripts": { "dev": "vite dev", From ba3c8ef0646eab4ec22990461894573b191b37f8 Mon Sep 17 00:00:00 2001 From: sstefdev Date: Tue, 26 Nov 2024 12:17:00 +0100 Subject: [PATCH 3/3] fix: update reactivity for invoiceCurrenyc and filtering --- .../src/lib/create-invoice-form.svelte | 54 ++++++++-------- .../src/lib/invoice/form.svelte | 63 ++++++++++++------- 2 files changed, 68 insertions(+), 49 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 bf05482b..b7d25443 100644 --- a/packages/create-invoice-form/src/lib/create-invoice-form.svelte +++ b/packages/create-invoice-form/src/lib/create-invoice-form.svelte @@ -58,15 +58,16 @@ const handleNetworkChange = (newNetwork: string) => { if (newNetwork) { - const newCurrencies = currencyManager.knownCurrencies.filter( - (currency: CurrencyTypes.CurrencyDefinition) => - currency.type === Types.RequestLogic.CURRENCY.ISO4217 || - currency.network === newNetwork - ); - network = newNetwork; - defaultCurrencies = newCurrencies; + + invoiceCurrency = undefined; currency = undefined; + + defaultCurrencies = currencyManager.knownCurrencies.filter( + (curr: CurrencyTypes.CurrencyDefinition) => + curr.type === Types.RequestLogic.CURRENCY.ISO4217 || + curr.network === newNetwork + ); } }; @@ -74,30 +75,18 @@ let canSubmit = false; let appStatus: APP_STATUS[] = []; let formData = getInitialFormData(); - let defaultCurrencies = currencyManager.knownCurrencies.filter( - (currency: CurrencyTypes.CurrencyDefinition) => - currency.type === Types.RequestLogic.CURRENCY.ISO4217 || network - ? currency.network === network - : true - ); + let defaultCurrencies = currencyManager.knownCurrencies; const handleInvoiceCurrencyChange = ( value: CurrencyTypes.CurrencyDefinition ) => { - invoiceCurrency = value; - network = undefined; - currency = undefined; + if (value !== invoiceCurrency) { + invoiceCurrency = value; + currency = undefined; - if ( - invoiceCurrency && - invoiceCurrency.type === Types.RequestLogic.CURRENCY.ISO4217 - ) { - networks = getCurrencySupportedNetworksForConversion( - invoiceCurrency.hash, - currencyManager - ); - } else { - networks = extractUniqueNetworkNames(); + if (value.type !== Types.RequestLogic.CURRENCY.ISO4217) { + network = value.network; + } } }; @@ -105,6 +94,19 @@ currency = value; }; + $: { + if (invoiceCurrency) { + if (invoiceCurrency.type === Types.RequestLogic.CURRENCY.ISO4217) { + networks = getCurrencySupportedNetworksForConversion( + invoiceCurrency.hash, + currencyManager + ); + } else { + networks = extractUniqueNetworkNames(); + } + } + } + let invoiceTotals = { amountWithoutTax: 0, totalTaxAmount: 0, diff --git a/packages/create-invoice-form/src/lib/invoice/form.svelte b/packages/create-invoice-form/src/lib/invoice/form.svelte index e4534096..c5341cf0 100644 --- a/packages/create-invoice-form/src/lib/invoice/form.svelte +++ b/packages/create-invoice-form/src/lib/invoice/form.svelte @@ -27,7 +27,6 @@ export let formData: CustomFormData; export let handleInvoiceCurrencyChange: (value: string) => void; export let handleCurrencyChange: (value: string) => void; - export let handleNetworkChange: (chainId: string) => void; export let networks; export let defaultCurrencies: any = []; @@ -117,21 +116,6 @@ } }; - const filterSettlementCurrencies = ( - currency: CurrencyTypes.CurrencyDefinition - ) => { - return invoiceCurrency - ? invoiceCurrency.type === Types.RequestLogic.CURRENCY.ISO4217 - ? currency.type !== Types.RequestLogic.CURRENCY.ISO4217 && - currencyManager?.getConversionPath( - invoiceCurrency, - currency, - currency.network - )?.length > 0 - : invoiceCurrency.hash === currency.hash - : false; - }; - const addInvoiceItem = () => { const newItem = { name: "", @@ -418,10 +402,19 @@ ? `${invoiceCurrency.symbol} ${invoiceCurrency?.network ? `(${invoiceCurrency?.network})` : ""}` : undefined} placeholder="Invoice currency (labeling)" - options={defaultCurrencies.map((currency) => ({ - value: currency, - label: `${currency.symbol} ${currency?.network ? `(${currency?.network})` : ""}`, - }))} + options={defaultCurrencies + ?.filter((curr) => { + if (!curr) return false; + + return ( + curr.type === Types.RequestLogic.CURRENCY.ISO4217 || + (curr.network && curr.network === network) + ); + }) + .map((currency) => ({ + value: currency, + label: `${currency?.symbol ?? "Unknown"} ${currency?.network ? `(${currency.network})` : ""}`, + })) ?? []} onchange={handleInvoiceCurrencyChange} /> filterSettlementCurrencies(currency)) + ?.filter((curr) => { + if (!curr || !invoiceCurrency) return false; + + if ( + invoiceCurrency.type === Types.RequestLogic.CURRENCY.ISO4217 + ) { + return ( + (curr.type === Types.RequestLogic.CURRENCY.ERC20 || + curr.type === Types.RequestLogic.CURRENCY.ISO4217) && + curr.network === network + ); + } else if ( + invoiceCurrency.type === Types.RequestLogic.CURRENCY.ERC20 + ) { + return ( + curr.type === Types.RequestLogic.CURRENCY.ERC20 && + curr.network === invoiceCurrency.network + ); + } else { + return ( + curr.type === Types.RequestLogic.CURRENCY.ERC20 && + curr.network === invoiceCurrency.network + ); + } + }) .map((currency) => ({ value: currency, - label: `${currency.symbol ?? "Unknown"} (${currency?.network ?? "Unknown"})`, - }))} + label: `${currency?.symbol ?? "Unknown"} ${currency?.network ? `(${currency.network})` : ""}`, + })) ?? []} onchange={handleCurrencyChange} />