[Racket] Ferti hydroponic nutrient solver, redux.
Fix views edge case (no latest target) and update renamed accessor.
views.rkt
@@ -86,6 +86,8 @@
86
86
(define latest-target (get-latest-nutrient-target-value n))
87
87
(define latest-measurement (get-latest-nutrient-measurement-value n))
88
88
(define delta-percentage (cond
89
Added:
[(false? latest-target)
90
Added:
#f]
89
91
[(zero? latest-target)
90
92
-100]
91
93
[(zero? latest-measurement)
@@ -93,8 +95,7 @@
93
95
[(number? latest-target)
94
96
(* 100
95
97
(/ (- latest-target latest-measurement)
96
Removed:
latest-measurement))]
97
Removed:
[else #f]))
98
Added:
latest-measurement))]))
98
99
`(tr (td ,(nutrient-name n))
99
100
(td ([class "text-end"]) ,(if latest-measurement (round 2 latest-measurement) "—"))
100
101
(td ([class "text-end"]) ,(if latest-target (round 2 latest-target) "—"))
@@ -107,7 +108,7 @@
107
108
(th ([class "text-end"]) "P")
108
109
(th ([class "text-end"]) "K"))
109
110
,@(for/list ([m measurements])
110
Removed:
(define measured-on (nutrient-measurement-measured-on m))
111
Added:
(define measured-on (nutrient-measurement-date m))
111
112
(define-values (n p k)
112
113
(apply values
113
114
(for/list ([nutrient '("Nitrate Nitrogen" "Phosphorus" "Potassium")])