mirror of
https://github.com/StefBuwalda/cal_counter.git
synced 2025-10-30 11:19:59 +00:00
Add barcode-based meal logging workflow
Introduces a new add_meal blueprint with routes and templates for scanning barcodes, adding new food items, and logging meals. Updates FoodItemForm and FoodLogForm validation, changes FoodLog.amount to float, and integrates the new workflow into the daily log UI. Refactors user routes and templates to support the new meal logging process.
This commit is contained in:
@@ -25,11 +25,11 @@ Food Nutritional Info
|
||||
<div class="p-3 mb-2 border rounded">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0">Breakfast</h4>
|
||||
<a href="{{url_for('user.select_meal', meal_type=0)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
<a href="{{url_for('add_meal.step1', meal_type=0)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
</div>
|
||||
<div>
|
||||
{% for log in logs[0] %}
|
||||
<p class="p-0 mb-0">{{log.food_item.name}}</p>
|
||||
<p class="p-0 mb-0">{{log.food_item.name}} - {{log.amount}}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -37,33 +37,33 @@ Food Nutritional Info
|
||||
<div class="p-3 mb-2 border rounded">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0">Lunch</h4>
|
||||
<a href="{{url_for('user.select_meal', meal_type=1)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
<a href="{{url_for('add_meal.step1', meal_type=1)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
</div>
|
||||
<div>
|
||||
{% for log in logs[1] %}
|
||||
<p class="p-0 mb-0">{{log.food_item.name}}</p>
|
||||
<p class="p-0 mb-0">{{log.food_item.name}} - {{log.amount}}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-3 mb-2 border rounded">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0">Dinner</h4>
|
||||
<a href="{{url_for('user.select_meal', meal_type=2)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
<a href="{{url_for('add_meal.step1', meal_type=2)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
</div>
|
||||
<div>
|
||||
{% for log in logs[2] %}
|
||||
<p class="p-0 mb-0">{{log.food_item.name}}</p>
|
||||
<p class="p-0 mb-0">{{log.food_item.name}} - {{log.amount}}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-3 mb-2 border rounded">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h4 class="mb-0">Snacks</h4>
|
||||
<a href="{{url_for('user.select_meal', meal_type=3)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
<a href="{{url_for('add_meal.step1', meal_type=3)}}" class="btn btn-sm btn-primary">Add</a>
|
||||
</div>
|
||||
<div>
|
||||
{% for log in logs[3] %}
|
||||
<p class="p-0 mb-0">{{log.food_item.name}}</p>
|
||||
<p class="p-0 mb-0">{{log.food_item.name}} - {{log.amount}}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -55,7 +55,7 @@
|
||||
if (!response.ok) {
|
||||
throw new Error('Network response was not OK');
|
||||
}
|
||||
return response.json(); // or response.text(), response.blob(), etc.
|
||||
return response.json();
|
||||
})
|
||||
.then(data => {
|
||||
const baseURL2 = "{{url_for('user.select_item', item_id='0')}}"
|
||||
|
||||
Reference in New Issue
Block a user