From 23d895737792821e670e0cf314e26ac4c8298601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Gonz=C3=A1lez?= Date: Sun, 1 Mar 2026 10:49:46 +0100 Subject: [PATCH] refactor shared formula --- lib/ai/formula_list.dart | 29 +++++++++++++---------------- lib/formula_models.dart | 2 +- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/lib/ai/formula_list.dart b/lib/ai/formula_list.dart index a9f6675..fce2c1d 100644 --- a/lib/ai/formula_list.dart +++ b/lib/ai/formula_list.dart @@ -53,16 +53,20 @@ class _FormulaListState extends State { }).toList(); } + String _formulaAndDependenciesToStringLiteral(Formula formula) { + // Get the formula and its dependencies + final dependencies = widget.corpus.withDependencies(formula); + + // Convert each dependency to its string literal representation + final literals = dependencies.map((element) => element.toStringLiteral()).toList(); + + // Create an array string literal containing all the elements + return '[${literals.join(', ')}]'; + } + void _shareFormula(Formula formula) async { try { - // Get the formula and its dependencies - final dependencies = widget.corpus.withDependencies(formula); - - // Convert each dependency to its string literal representation - final literals = dependencies.map((element) => element.toStringLiteral()).toList(); - - // Create an array string literal containing all the elements - final exportString = '[${literals.join(', ')}]'; + final exportString = _formulaAndDependenciesToStringLiteral(formula); // Share the string await share_plus.SharePlus.instance.share( @@ -90,14 +94,7 @@ class _FormulaListState extends State { void _copyFormula(Formula formula) async { try { - // Get the formula and its dependencies - final dependencies = widget.corpus.withDependencies(formula); - - // Convert each dependency to its string literal representation - final literals = dependencies.map((element) => element.toStringLiteral()).toList(); - - // Create an array string literal containing all the elements - final exportString = '[${literals.join(', ')}]'; + final exportString = _formulaAndDependenciesToStringLiteral(formula); // Copy to clipboard await Clipboard.setData(ClipboardData(text: exportString)); diff --git a/lib/formula_models.dart b/lib/formula_models.dart index 12ceaba..7c79574 100644 --- a/lib/formula_models.dart +++ b/lib/formula_models.dart @@ -358,7 +358,7 @@ class Formula implements FormulaElement { buffer.write(', "input": [${inputStrings.join(", ")}]'); buffer.write(', "output": ${output.toStringLiteral()}'); - + buffer.write(', "d4rtCode": r"""$d4rtCode"""'); if (tags.isNotEmpty) {