diff --git a/src/frontend/lib/functions/Formatting.tsx b/src/frontend/lib/functions/Formatting.tsx index 6c81dd4698..d4b776c0b6 100644 --- a/src/frontend/lib/functions/Formatting.tsx +++ b/src/frontend/lib/functions/Formatting.tsx @@ -22,13 +22,19 @@ export function formatDecimal( return value; } - const formatter = new Intl.NumberFormat(locale, { - style: 'decimal', - maximumFractionDigits: options.digits ?? 6, - minimumFractionDigits: options.minDigits ?? 0 - }); + try { + const formatter = new Intl.NumberFormat(locale, { + style: 'decimal', + maximumFractionDigits: options.digits ?? 6, + minimumFractionDigits: options.minDigits ?? 0 + }); - return formatter.format(value); + return formatter.format(value); + } catch (e) { + console.error('Error formatting decimal:', e); + // Return the unformatted value if formatting fails + return value; + } } /* @@ -61,14 +67,20 @@ export function formatCurrencyValue( const minDigits = options.minDigits ?? 0; const maxDigits = options.digits ?? 6; - const formatter = new Intl.NumberFormat(locale, { - style: 'currency', - currency: options.currency, - maximumFractionDigits: Math.max(minDigits, maxDigits), - minimumFractionDigits: Math.min(minDigits, maxDigits) - }); + try { + const formatter = new Intl.NumberFormat(locale, { + style: 'currency', + currency: options.currency || 'USD', + maximumFractionDigits: Math.max(minDigits, maxDigits), + minimumFractionDigits: Math.min(minDigits, maxDigits) + }); - return formatter.format(value); + return formatter.format(value); + } catch (e) { + console.error('Error formatting currency:', e); + // Return the unformatted value if formatting fails + return value; + } } /* diff --git a/src/frontend/package.json b/src/frontend/package.json index fd82a82b76..b4591e2eb7 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -1,7 +1,7 @@ { "name": "@inventreedb/ui", "description": "UI components for the InvenTree project", - "version": "0.3.0", + "version": "0.3.1", "private": false, "type": "module", "license": "MIT", diff --git a/src/frontend/src/defaults/formatters.tsx b/src/frontend/src/defaults/formatters.tsx index 5e7e2000dd..9c52696e26 100644 --- a/src/frontend/src/defaults/formatters.tsx +++ b/src/frontend/src/defaults/formatters.tsx @@ -27,14 +27,13 @@ export function formatCurrency( // Extract default digit formatting options.digits = - options?.digits ?? Number(global_settings.PRICING_DECIMAL_PLACES) ?? 6; + options?.digits || (Number(global_settings.PRICING_DECIMAL_PLACES) ?? 6); options.minDigits = - options?.minDigits ?? - Number(global_settings.PRICING_DECIMAL_PLACES_MIN) ?? - 0; + options?.minDigits || + (Number(global_settings.PRICING_DECIMAL_PLACES_MIN) ?? 0); options.currency = - options?.currency ?? (global_settings.INVENTREE_DEFAULT_CURRENCY || 'USD'); + options?.currency || global_settings.INVENTREE_DEFAULT_CURRENCY || 'USD'; return formatCurrencyValue(value, options); }