diff --git a/website/src/features/toolboxes/modules/CalculatorModule.jsx b/website/src/features/toolboxes/modules/CalculatorModule.jsx index f9bca2a..9149e8a 100644 --- a/website/src/features/toolboxes/modules/CalculatorModule.jsx +++ b/website/src/features/toolboxes/modules/CalculatorModule.jsx @@ -22,6 +22,18 @@ function formatResult(value) { return Number.parseFloat(value.toFixed(6)).toString(); } +function formatDisplayResult(value) { + if (!Number.isFinite(value)) return ""; + return new Intl.NumberFormat("fr-FR", { maximumFractionDigits: 6 }).format(Number.parseFloat(value.toFixed(6))); +} + +function getResultLengthClass(value) { + const length = formatResult(value).replace(/[^\d]/g, "").length; + if (length >= 16) return "is-compact"; + if (length >= 12) return "is-long"; + return ""; +} + function getChildren(entries, parentId) { return entries.filter((entry) => (entry.parentId || "") === parentId); } @@ -151,9 +163,9 @@ export function CalculatorModule({ toolboxId, moduleId, context, editing }) { {textContent.expressionLabel || "Calcul"} setExpression(event.target.value)} placeholder={textContent.expressionPlaceholder || "10*10"} inputMode="decimal" /> -
+
{textContent.resultLabel || "Résultat"} - {result == null ? "-" : formatResult(result)} + {result == null ? "-" : formatDisplayResult(result)}