From 76d17f3a036bdb76ff986cb104636e1f56cf52fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Gonz=C3=A1lez?= Date: Wed, 11 Mar 2026 08:36:54 +0100 Subject: [PATCH 1/2] setState instead of pushReplacement --- lib/ai/formula_screen.dart | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/ai/formula_screen.dart b/lib/ai/formula_screen.dart index c8a4436..5b1c5bc 100644 --- a/lib/ai/formula_screen.dart +++ b/lib/ai/formula_screen.dart @@ -484,16 +484,9 @@ class _FormulaScreenState extends State { } // Replace the current FormulaScreen with the new DerivedFormula screen - Navigator.pushReplacement( - context, - MaterialPageRoute( - builder: (context) => FormulaScreen( - formula: derivedFormula, - corpus: widget.corpus, - onSave: widget.onSave, - ), - ), - ); + setState( (){ + formula = derivedFormula; + }); } catch (e, st) { errorHandler.notify(e,st); } From 127f486cded2356e6be6a0708e085e48d1dfe7ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Gonz=C3=A1lez?= Date: Wed, 11 Mar 2026 08:57:48 +0100 Subject: [PATCH 2/2] Simplify formula evaluation in FormulaScreen --- lib/ai/formula_screen.dart | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/ai/formula_screen.dart b/lib/ai/formula_screen.dart index 5b1c5bc..02de651 100644 --- a/lib/ai/formula_screen.dart +++ b/lib/ai/formula_screen.dart @@ -55,6 +55,10 @@ class _FormulaScreenState extends State { _selectedOutputUnit = formula.output.unit; } + void _initInputs( Map inputValues ){ + // TODO: FIND WIDGETS AND SET VALUES + } + @override void initState() { super.initState(); @@ -117,14 +121,14 @@ class _FormulaScreenState extends State { } late final dynamic result; - if( formula is DerivedFormula) { + //if( formula is DerivedFormula) { result = formulaSolver(formula, formula.output.name, inputValues,); - } - else { - print( "TODO: MAYBE ONLY FORMULASOLVER IS NECCESSARY"); - final evaluator = FormulaEvaluator(); - result = evaluator.evaluate(formula as Formula, inputValues); - } + //} + //else { + // TODO: MAYBE ONLY FORMULASOLVER IS NECCESSARY" + //final evaluator = FormulaEvaluator(); + //result = evaluator.evaluate(formula as Formula, inputValues); + //} // Convert output to selected unit if needed String? unit = formula.output.unit;