diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-11-23 17:54:45 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-11-23 17:54:45 +0100 |
| commit | fa77a691ce0cc8941fe470a762f352b27f4f0563 (patch) | |
| tree | 08916174840a7896fc59633cc59fab931e7012c2 /app/views/dashboard | |
| parent | 73283f2f5153c77f72b6a29e98f173628f5e1057 (diff) | |
Diffstat (limited to 'app/views/dashboard')
| -rw-r--r-- | app/views/dashboard/_nutrient_measurements_table.html.erb | 4 | ||||
| -rw-r--r-- | app/views/dashboard/_nutrient_target_table.html.erb | 35 | ||||
| -rw-r--r-- | app/views/dashboard/_raft_allocation.html.erb | 9 | ||||
| -rw-r--r-- | app/views/dashboard/_target_table.html.erb | 39 | ||||
| -rw-r--r-- | app/views/dashboard/index.html.erb | 4 |
5 files changed, 16 insertions, 75 deletions
diff --git a/app/views/dashboard/_nutrient_measurements_table.html.erb b/app/views/dashboard/_nutrient_measurements_table.html.erb index 82ea6ff..4d516bd 100644 --- a/app/views/dashboard/_nutrient_measurements_table.html.erb +++ b/app/views/dashboard/_nutrient_measurements_table.html.erb @@ -2,8 +2,8 @@ <div class="card-header d-flex justify-content-between align-items-center"> <h4 class="mb-0">Relevé des Nutriments</h4> <div class="btn-group"> - <%= link_to "Ajouter un relevé", new_nutrient_measurement_path, class: "btn btn-sm btn-primary" %> - <%= link_to "Liste des relevés", nutrient_measurements_path, class: "btn btn-sm btn-secondary" %> + <%= link_to "Ajouter un relevé", new_nutrient_measurement_path, class: "btn btn-sm btn-outline-primary" %> + <%= link_to "Liste des relevés", nutrient_measurements_path, class: "btn btn-sm btn-outline-secondary" %> </div> </div> diff --git a/app/views/dashboard/_nutrient_target_table.html.erb b/app/views/dashboard/_nutrient_target_table.html.erb index 7cf294c..006d262 100644 --- a/app/views/dashboard/_nutrient_target_table.html.erb +++ b/app/views/dashboard/_nutrient_target_table.html.erb @@ -2,40 +2,33 @@ <div class="card-header d-flex justify-content-between align-items-center"> <h4 class="mb-0">Complémentation</h4> <div class="btn-group"> - <%= link_to "Nouvelle cible", new_target_path, class: "btn btn-sm btn-primary" %> - <%= link_to "Voir la recette", root_path, class: "btn btn-sm btn-secondary" %> + <%= link_to "Nouvelle cible", new_target_path, class: "btn btn-sm btn-outline-primary" %> + <%= link_to "Liste des cibles", targets_path, class: "btn btn-sm btn-outline-secondary" %> + <%= link_to "Voir la recette", root_path, class: "btn btn-sm btn-outline-secondary" %> </div> </div> <div class="card-body p-0"> <div class="table-responsive"> - <table class="table table-sm table-striped table-hover align-middle mb-0"> + <table class="table table-striped table-hover align-middle mb-0"> <thead class="table-light"> <tr> <th>Nutriment</th> <th class="text-end">Relevé</th> - <th class="text-end">Cible</th> - <th class="text-end">Delta</th> + <th class="text-end"><%= @latest_target&.name || "Cible" %></th> + <th class="text-end">Delta (%)</th> </tr> </thead> <tbody> - <% wr = @weighted || {} %> - <% lm = @latest_measurements || {} %> + <% Nutrient.all.each do |nutrient| %> + <% measured = @latest_measurement.send(nutrient.formula.downcase) %> + <% target = @latest_target.send(nutrient.formula.downcase) %> + <% delta = (target.to_f - measured.to_f) / 100.0 if measured || target %> - <% keys = (wr.keys + lm.keys).map(&:to_s).uniq.sort %> - <% keys.each do |nut| %> - <% measured = lm[nut] %> - <% target = wr[nut] %> - <% delta = (measured.to_f - target.to_f) if measured || target %> <tr> - <td class="fw-semibold"><%= nut.upcase %></td> - + <td class="fw-semibold"><%= nutrient.formula %></td> <td class="text-end"> - <% if measured.nil? %> - <span class="text-muted">—</span> - <% else %> - <%= number_with_precision(measured, precision: 2) %> - <% end %> + <%= measured.present? ? number_with_precision(measured, precision: 2) : — %> </td> <td class="text-end"> @@ -50,7 +43,7 @@ <% if measured.nil? && target.nil? %> <span class="text-muted">—</span> <% else %> - <% badge = + <% badge_class = if delta.nil? "text-bg-secondary" elsif delta.abs <= 0.01 @@ -60,7 +53,7 @@ else "text-bg-danger" end %> - <span class="badge <%= badge %>"> + <span class="badge <%= badge_class %>"> <%= number_with_precision(delta.to_f, precision: 2) %> </span> <% end %> diff --git a/app/views/dashboard/_raft_allocation.html.erb b/app/views/dashboard/_raft_allocation.html.erb deleted file mode 100644 index 1c9ef9a..0000000 --- a/app/views/dashboard/_raft_allocation.html.erb +++ /dev/null @@ -1,9 +0,0 @@ -<div class="card shadow mb-4"> - <div class="card-header d-flex justify-content-between align-items-center"> - <h5 class="mb-0">Crop Allocation</h5> - <%#= link_to "Edit allocation", beds_path, class: "btn btn-sm btn-primary" %> - </div> - - <%= bar_chart @raft_data, stacked: true %> -</div> - diff --git a/app/views/dashboard/_target_table.html.erb b/app/views/dashboard/_target_table.html.erb deleted file mode 100644 index b1553dc..0000000 --- a/app/views/dashboard/_target_table.html.erb +++ /dev/null @@ -1,39 +0,0 @@ -<div class="card shadow mb-4"> - <div class="card-header d-flex justify-content-between align-items-center"> - <h5 class="mb-0">Target nutrient concentrations</h5> - <%= link_to "Get Ferti© recipe", ferti_recipe_path, class: "btn btn-sm btn-primary" %> - </div> - - <div class="table-responsive"> - <table class="table table-sm align-middle mb-0"> - <thead class="table-light"> - <tr> - <th scope="col" class="text-nowrap">Nutrient</th> - <th scope="col" class="text-end"> Latest (mg/L)</th> - <th scope="col" class="text-end">Target (mg/L)</th> - <th scope="col" class="text-end">Δ %</th> - </tr> - </thead> - <tbody> - <% NutrientsHelper::NUTRIENTS.each do |n| %> - <% latest = @latest_measurement[n] || 0 %> - <% target = @target[n] || 0 %> - <% delta = target - latest %> - <tr> - <th scope="row" class="text-nowrap"><%= n.upcase %></th> - <td class="text-end"><%= fmt(latest) %></td> - <td class="text-end"><%= fmt(target) %></td> - <td class="text-end"> - <span class="badge <%= delta_badge_class(delta) %>"> - <%= fmt(delta) %>% - </span> - </td> - </tr> - <% end %> - </tbody> - </table> - </div> - <div class="card-footer"> - Latest measurement: <%= @latest_measurement.measured_on || "none yet" %> - </div> -</div> diff --git a/app/views/dashboard/index.html.erb b/app/views/dashboard/index.html.erb index a954e4c..50fab18 100644 --- a/app/views/dashboard/index.html.erb +++ b/app/views/dashboard/index.html.erb @@ -2,8 +2,4 @@ <%= render "nutrient_target_table", nutrient_profiles: @nutrient_profiles %> -<%#= render "raft_allocation" %> - -<%#= render "target_table" %> - <%= render "nutrient_measurements_table" %> |