diff --git a/app/controllers/meals_controller.rb b/app/controllers/meals_controller.rb index 26b91f9..572f76c 100644 --- a/app/controllers/meals_controller.rb +++ b/app/controllers/meals_controller.rb @@ -82,6 +82,18 @@ class MealsController < ApplicationController def prepare_meals @quantities = @project.meal_quantities.includes(:formula) - @foods = @project.meal_foods.compute_quantities(@quantities) + foods = @project.meal_foods.compute_quantities(@quantities) + ingredients = @project.meal_ingredients + + @nutrients = {} + ingredients.each do |i| + @nutrients[i] = foods[i.food].map do |q, v| + [q, v && [v[0]*i.amount/i.food.ref_amount, v[1]]] + end.to_h + end + + @meals_by_date = ingredients.group_by { |i| i.composition }.reject { |m,*| m.new_record? } + .sort_by { |m,*| m.eaten_at || m.created_at } + .group_by { |m,*| m.eaten_at ? m.eaten_at.to_date : Date.current } end end diff --git a/app/views/meals/_index.html.erb b/app/views/meals/_index.html.erb index 96b6043..26a101f 100644 --- a/app/views/meals/_index.html.erb +++ b/app/views/meals/_index.html.erb @@ -1,21 +1,16 @@ -<% if @meals.any? { |m| m.persisted? } %> +<% if @meals_by_date.any? %> <%= render partial: 'meals/options' %>
<%= date == Date.current ? 'Today' : date.strftime('%F') %> |
<%= link_to l(:button_cancel), '', class: 'icon icon-cancel', style: 'display: none;', @@ -24,6 +25,7 @@ <%= link_to l(:button_notes), edit_notes_meal_path(m), remote: true, class: "icon icon-wiki-page" %> | +<%= notes(m) %> |