Implementazione completa dell'app BitePlan
- 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>
This commit is contained in:
26
src/App.vue
Normal file
26
src/App.vue
Normal file
@@ -0,0 +1,26 @@
|
||||
<template>
|
||||
<div id="app-root">
|
||||
<MealPlanner v-if="page === 'meal'" />
|
||||
<Converter v-else-if="page === 'convert'" />
|
||||
<ShoppingList v-else-if="page === 'shop'" />
|
||||
<BottomNav v-model="page" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import BottomNav from './components/BottomNav.vue'
|
||||
import MealPlanner from './pages/MealPlanner.vue'
|
||||
import Converter from './pages/Converter.vue'
|
||||
import ShoppingList from './pages/ShoppingList.vue'
|
||||
|
||||
const page = ref('meal')
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
#app-root {
|
||||
height: 100dvh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user