From 967a20c6a54aec0fc8206f1289e542fa25709f66 Mon Sep 17 00:00:00 2001 From: myxmaster Date: Wed, 5 Feb 2025 12:58:17 +0100 Subject: [PATCH 1/2] allow empty value for amount --- views/POS/ProductDetails.tsx | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/views/POS/ProductDetails.tsx b/views/POS/ProductDetails.tsx index b11c304b4..6b6eb98ed 100644 --- a/views/POS/ProductDetails.tsx +++ b/views/POS/ProductDetails.tsx @@ -157,13 +157,8 @@ export default class ProductDetails extends React.Component< break; case 'price': - if ( - value === '' || - value === '0' || - value === null || - isNaN(parseFloat(value)) - ) { - value = '0'; + if (value === null || isNaN(parseFloat(value))) { + value = ''; } else { value = value.replace(/^0+(?=\d)/, ''); } From 1de214549225731791cc68507ba593025ef23c7d Mon Sep 17 00:00:00 2001 From: myxmaster Date: Wed, 5 Feb 2025 14:14:55 +0100 Subject: [PATCH 2/2] use placeholder for tax percentage --- stores/PosStore.ts | 13 +++++++++---- stores/SettingsStore.ts | 2 +- views/Settings/PointOfSale.tsx | 5 +++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/stores/PosStore.ts b/stores/PosStore.ts index cda001317..759828b19 100644 --- a/stores/PosStore.ts +++ b/stores/PosStore.ts @@ -200,14 +200,19 @@ export default class PosStore { this.currentOrder.total_money.sats = totalSats.toNumber(); // calculate taxes - if (this.settingsStore?.settings?.pos?.taxPercentage !== '0') { + const { settings } = this.settingsStore; + const { taxPercentage } = settings.pos; + + if ( + taxPercentage && + taxPercentage !== '0' && + taxPercentage !== '' + ) { this.currentOrder.total_tax_money.amount = new BigNumber( totalFiat ) .div(100) - .multipliedBy( - this.settingsStore?.settings?.pos?.taxPercentage || 0 - ) + .multipliedBy(taxPercentage) .toNumber(); if (this.fiatStore.fiatRates) { const fiatEntry = this.fiatStore.fiatRates.filter( diff --git a/stores/SettingsStore.ts b/stores/SettingsStore.ts index 4210b51b3..f24ac9829 100644 --- a/stores/SettingsStore.ts +++ b/stores/SettingsStore.ts @@ -1129,7 +1129,7 @@ export default class SettingsStore { disableTips: false, squareDevMode: false, showKeypad: true, - taxPercentage: '0', + taxPercentage: '', enablePrinter: false, defaultView: 'Products' }, diff --git a/views/Settings/PointOfSale.tsx b/views/Settings/PointOfSale.tsx index 9788cb982..3b1e7a465 100644 --- a/views/Settings/PointOfSale.tsx +++ b/views/Settings/PointOfSale.tsx @@ -59,7 +59,7 @@ export default class PointOfSale extends React.Component< disableTips: false, squareDevMode: false, showKeypad: true, - taxPercentage: '0', + taxPercentage: '', enablePrinter: false, defaultView: 'Products' }; @@ -79,7 +79,7 @@ export default class PointOfSale extends React.Component< disableTips: settings?.pos?.disableTips || false, squareDevMode: settings?.pos?.squareDevMode || false, showKeypad: settings?.pos?.showKeypad || false, - taxPercentage: settings?.pos?.taxPercentage || '0', + taxPercentage: settings?.pos?.taxPercentage || '', enablePrinter: settings?.pos?.enablePrinter || false, defaultView: (settings?.pos && settings?.pos?.defaultView) || 'Products' @@ -592,6 +592,7 @@ export default class PointOfSale extends React.Component< )} {