- DocsPanel: pannello documentazione slide-from-right con nav a pill,
IntersectionObserver per sezione attiva, card con step numerati e callout tip
- InfoPanel: bottone "Guida" emette open-docs invece di aprire link esterno
- App: integra DocsPanel con v-model showDocs
- Converter: fix capitalize food names (capFirst invece di text-transform),
simmetria visiva input/output (stesso underline e font-size 1.6rem),
rimosso CSS morto (doppio align-items, doppio background, visibility hack)
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>
- 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>
- 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>