parsley/app/javascript/components/FoodShow.vue

74 lines
1.9 KiB
Vue
Raw Normal View History

2018-04-02 00:10:06 -05:00
<template>
<div>
2018-09-13 14:51:41 -05:00
<h3 class="title">
{{food.name}}
</h3>
2018-09-14 19:32:49 -05:00
<div class="message" v-if="food.ndbn">
<div class="message-header">
<span>USDA NDBN #{{ food.ndbn }}</span>
</div>
<div class="message-body">
<a :href="'https://ndb.nal.usda.gov/ndb/foods/show/' + food.ndbn">USDA DB Entry</a>
</div>
</div>
<div class="message">
<div class="message-header">
Custom Units
</div>
<div class="message-body">
<ul>
<li v-for="fu in food.food_units" :key="fu.id">
{{fu.name}}: {{fu.gram_weight}} grams
</li>
</ul>
</div>
</div>
<div class="message">
<div class="message-header">
Nutrition per 100 grams
</div>
<div class="message-body">
<div class="columns is-mobile is-multiline">
<div v-for="(nutrient, name) in nutrients" :key="name" class="column is-half-mobile is-one-third-tablet">
<label class="label is-small-mobile">{{nutrient.label}}</label>
<div class="field has-addons">
<div class="control is-expanded">
<input type="text" class="input is-small-mobile" disabled="true" v-model="food[name]">
</div>
<div class="control">
<button type="button" tabindex="-1" class="unit-label button is-static is-small-mobile">{{nutrient.unit}}</button>
</div>
</div>
</div>
</div>
</div>
</div>
2018-04-02 00:10:06 -05:00
</div>
</template>
2024-10-01 09:32:09 -05:00
<script setup>
2018-04-02 00:10:06 -05:00
2024-10-01 09:32:09 -05:00
import { computed } from "vue";
import { useNutrientStore } from "../stores/nutrient";
2018-09-14 19:32:49 -05:00
2024-10-01 09:32:09 -05:00
const props = defineProps({
food: {
required: true,
type: Object
2018-04-02 00:10:06 -05:00
}
2024-10-01 09:32:09 -05:00
});
const nutrientStore = useNutrientStore();
const nutrients = computed(() => nutrientStore.nutrientList);
2018-04-02 00:10:06 -05:00
</script>
<style lang="scss" scoped>
</style>