diff options
Diffstat (limited to 'app/views/dashboard')
-rw-r--r-- | app/views/dashboard/_raft_allocation.html.erb | 9 | ||||
-rw-r--r-- | app/views/dashboard/_recent_measurements.html.erb | 22 | ||||
-rw-r--r-- | app/views/dashboard/_target_table.html.erb | 40 | ||||
-rw-r--r-- | app/views/dashboard/index.html.erb | 7 |
4 files changed, 78 insertions, 0 deletions
diff --git a/app/views/dashboard/_raft_allocation.html.erb b/app/views/dashboard/_raft_allocation.html.erb new file mode 100644 index 0000000..ef95cdd --- /dev/null +++ b/app/views/dashboard/_raft_allocation.html.erb @@ -0,0 +1,9 @@ +<div class="card shadow mb-4"> + <div class="card-header d-flex justify-content-between align-items-center"> + <h5 class="mb-0">Raft Allocation</h5> + <%= link_to "Edit raft allocation", editor_rafts_path, class: "btn btn-sm btn-primary" %> + </div> + + <%= bar_chart @raft_data, stacked: true %> +</div> + diff --git a/app/views/dashboard/_recent_measurements.html.erb b/app/views/dashboard/_recent_measurements.html.erb new file mode 100644 index 0000000..bc63a60 --- /dev/null +++ b/app/views/dashboard/_recent_measurements.html.erb @@ -0,0 +1,22 @@ +<div class="card shadow mb-4"> + <div class="card-header d-flex justify-content-between align-items-center"> + <h5 class="mb-0">Nutrient Measurements</h5> + <div class="btn-group"> + <%#= link_to "Add new measurement", editor_rafts_path, class: "btn btn-sm btn-primary" %> + <%#= link_to "View all", editor_rafts_path, class: "btn btn-sm btn-secondary" %> + </div> + </div> + + <div class="card-body p-0"> + <div class="container mb-3"> + <%= line_chart @npk_measurement_data, + title: "NPK", + ytitle: "Concentration (mg/L)" %> + </div> + <div class="container mb-3"> + <%= line_chart @ammonium_measurement_data, + title: "Ammonium", + ytitle: "Concentration (mg/L)" %> + </div> + </div> +</div> diff --git a/app/views/dashboard/_target_table.html.erb b/app/views/dashboard/_target_table.html.erb new file mode 100644 index 0000000..b8f7e66 --- /dev/null +++ b/app/views/dashboard/_target_table.html.erb @@ -0,0 +1,40 @@ +<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 new file mode 100644 index 0000000..2902ada --- /dev/null +++ b/app/views/dashboard/index.html.erb @@ -0,0 +1,7 @@ +<h1 class="display-1">Ferti</h1> + +<%= render "raft_allocation" %> + +<%= render "target_table" %> + +<%= render "recent_measurements" %> |