From f52e5debcbc933161bce21161fac9ca279458f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Gonz=C3=A1lez?= Date: Sun, 14 Sep 2025 16:48:45 +0200 Subject: [PATCH] fix: convert input variables from dropdown to base unit in formula evaluation Co-authored-by: aider (openrouter/deepseek/deepseek-r1:free) --- lib/ai/formula_screen.dart | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/ai/formula_screen.dart b/lib/ai/formula_screen.dart index 15e442b..70e24ed 100644 --- a/lib/ai/formula_screen.dart +++ b/lib/ai/formula_screen.dart @@ -58,15 +58,12 @@ class _FormulaScreenState extends State { final value = double.tryParse(_inputControllers[input.name]!.text) ?? 0.0; // Convert input to base unit if needed - if (_selectedUnits[input.name] != input.magnitude) { - inputValues[input.name] = widget.corpus.convert( - value, - _selectedUnits[input.name]!, - input.magnitude, - ); - } else { - inputValues[input.name] = value; - } + // Always convert from dropdown unit to variable's base unit + inputValues[input.name] = widget.corpus.convert( + value, + _selectedUnits[input.name]!, + input.magnitude, + ); } final evaluator = FormulaEvaluator();