feat: ricetta persistente + quantità corretta per scalare ingredienti

- Ricetta cachata in localStorage: riaprendo mostra la stessa ricetta
- Si rigenera solo se cambia tipo pasto (colazione/pranzo/cena) o bottone 'Generane un'altra'
- Prompt Gemini aggiornato: richiede qty_number nella stessa unità di misura dell'inventario
- Bottone 'Usa' ora scala la quantità effettiva della ricetta (non più sempre 1)
- Estratta renderRecipe() per riutilizzo con cache
- Aggiunto bottone '🔄 Generane un'altra' nel risultato ricetta
This commit is contained in:
dadaloop82
2026-03-10 17:36:34 +00:00
parent fa4dc6ae88
commit bae9af0fe5
3 changed files with 87 additions and 49 deletions
+3 -2
View File
@@ -741,6 +741,7 @@ REGOLE IMPORTANTI:
4. Adatta le quantità per $persons persona/e
5. Se non ci sono abbastanza ingredienti per una ricetta completa, suggerisci la migliore combinazione possibile
6. La ricetta deve essere adatta al pasto: $mealLabel
7. IMPORTANTE - QUANTITÀ NUMERICHE: per ogni ingrediente dalla dispensa, il campo "qty_number" DEVE contenere il valore NUMERICO da scalare dall'inventario, espresso nella STESSA unità di misura della dispensa. Esempio: se in dispensa c'è "Farina: 1000 g" e la ricetta richiede 200g, qty_number = 200. Se "Riso: 2 kg" e servono 300g, qty_number = 0.3. Per ingredienti non dalla dispensa, qty_number = 0.
INGREDIENTI DISPONIBILI IN DISPENSA:
$ingredientsText
@@ -755,8 +756,8 @@ Rispondi SOLO con un JSON valido in questo formato esatto (senza markdown, senza
"tags": ["sano", "veloce", "..."],
"expiry_note": "Nota sugli ingredienti in scadenza usati (o stringa vuota)",
"ingredients": [
{"name": "nome ingrediente", "qty": "quantità per $persons persone", "from_pantry": true},
{"name": "sale", "qty": "q.b.", "from_pantry": false}
{"name": "nome ingrediente", "qty": "quantità leggibile (es: 200 g)", "qty_number": 200, "from_pantry": true},
{"name": "sale", "qty": "q.b.", "qty_number": 0, "from_pantry": false}
],
"steps": [
"Passo 1: descrizione dettagliata",