Sostituisce text-transform:capitalize (che maiuscolava ogni parola)
con capFirst() — solo la prima lettera del metodo è maiuscola.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Aggiunge forno e friggitrice ad aria a ogni voce verdura dove
applicabile; aggiunge padella alle verdure che ne erano prive.
Documenta ogni valore derivato con metodologia e k-factor.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bottone "Genera lista della spesa" in fondo alla pagina Piano Pasti:
- raccoglie tutti gli item da tutti i giorni e pasti
- deduplica (case-insensitive) e salta item già presenti in lista
- aggiunge come non spuntati alla lista esistente
- naviga automaticamente alla tab Lista della spesa
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Su dispositivi con status bar alta o notch il bottone info finiva
sotto l'area di sistema e non era toccabile. Aggiunto env(safe-area-inset-top)
per posizionarlo sempre nell'area visibile.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs/conversioni.md: sostituisce coefficienti placeholder con dati da fonti
ufficiali (SINU, Istituto Muzzone, AEMMEDI, Nutrizionistadoc); aggiunge
sezione friggitrice ad aria con regola derivata dal forno; nuovi alimenti:
orzo, riso (4 varietà), spigola, sogliola, vitello, uova, verdure miste
- src/data/conversions.json: allineato al documento, include metodi friggitrice
ad aria per pollo, tacchino, pesce, verdure e tuberi
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Rimuove versione duplicata (era nell'header e nella lista)
- Rimuove descrizione ridondante e bottone Chiudi full-width
- Aggiunge icona app (quadrato verde con iniziale B)
- X per chiudere in alto a destra, tap overlay per dismissione
- Righe info in card con bordo, pattern iOS/Android settings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- InfoPanel.vue: bottom sheet con nome, versione (da package.json),
autore (Davide Grilli), licenza EUPL v1.2 e link documentazione
- App.vue: bottone info fisso in alto a destra, visibile da tutte
le pagine, con animazione slide-up sul pannello
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
MealPlanner:
- Titolo "Piano Pasti" (più breve e da app)
- Sottotitolo "Oggi, mercoledì 25 marzo" con data completa formattata
Converter:
- Layout calcolatrice: input sinistra | swap | risultato destra
- Card unificata con header alimento e footer fattore di resa
- Icona ricerca nell'input, stato iniziale con hint
- Titolo "Convertitore", sottotitolo descrittivo
- Tasto swap per invertire direzione invece del toggle
MealCard:
- Fix emoji pranzo 🌤️ → 🍽️ (rendering universale)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- App.vue: root con navigazione tra le tre pagine
- BottomNav.vue: barra navigazione inferiore (Pasti, Converti, Spesa)
- MealPlanner.vue + MealCard.vue: pianificatore settimanale con lista voci per pasto
- Converter.vue: convertitore crudo/cotto con ricerca testuale
- ShoppingList.vue + CheckboxItem.vue: lista spesa con checkbox
- utils/storage.js: wrapper LocalStorage (save/load)
- utils/conversion.js: rawToCooked e cookedToRaw
- data/conversions.json: 14 alimenti con coefficienti di resa
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Aggiunge struttura base del progetto: package.json, vite.config.js,
index.html con viewport mobile, main.js, CSS globale mobile-first
e .gitignore.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>