summaryrefslogtreecommitdiff
path: root/handlers.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'handlers.rkt')
-rw-r--r--handlers.rkt58
1 files changed, 23 insertions, 35 deletions
diff --git a/handlers.rkt b/handlers.rkt
index a4de123..7fcd004 100644
--- a/handlers.rkt
+++ b/handlers.rkt
@@ -14,44 +14,39 @@
"services/nnls.rkt")
(define-values (app-dispatch _)
- (dispatch-rules
- ;; Ferti dashboard
- [("ferti") #:method "get" ferti]
- ;; Nutrient measurements
- [("measurement" "new") #:method "get" new-measurement]
- [("measurement" "create") #:method "post" create-measurement]
- [("measurement" "destroy") #:method "post" destroy-measurement]
- ;; Nutrient targets
- [("target" "new") #:method "get" new-target]
- [("target" "create") #:method "post" create-target]
- ;; Index
- [("") #:method "get" index]
- [else fallback]))
+ ;; Ferti dashboard
+ (dispatch-rules [("ferti") #:method "get" ferti]
+ ;; Nutrient measurements
+ [("measurement" "new") #:method "get" new-measurement]
+ [("measurement" "create") #:method "post" create-measurement]
+ [("measurement" "destroy") #:method "post" destroy-measurement]
+ ;; Nutrient targets
+ [("target" "new") #:method "get" new-target]
+ [("target" "create") #:method "post" create-target]
+ ;; Index
+ [("") #:method "get" index]
+ [else fallback]))
(define (ferti _)
- (define measurements (get-nutrient-measurements))
(define ferti-recipe (find-ferti-recipe))
+ (define latest-measurement-hash (get-latest-nutrient-measurement-hash))
+ (define latest-target-hash (get-latest-nutrient-target-hash))
+ (define latest-measurements (take* (get-nutrient-measurements) 10))
(response/xexpr
#:preamble #"<!DOCTYPE html>"
- (ferti-page measurements ferti-recipe)))
+ (ferti-page ferti-recipe latest-measurement-hash latest-target-hash latest-measurements)))
(define (index _)
(define user (get-current-user))
- (response/xexpr
- #:preamble #"<!DOCTYPE html>"
- (index-page user)))
-
+ (response/xexpr #:preamble #"<!DOCTYPE html>" (index-page user)))
;; Nutrient measurements
(define (new-measurement _)
- (response/xexpr
- #:preamble #"<!DOCTYPE html>"
- (new-measurement-page)))
+ (response/xexpr #:preamble #"<!DOCTYPE html>" (new-measurement-page)))
(define (create-measurement req)
- (define-values (measured-on measurements)
- (formlet-process (measurements-formlet) req))
+ (define-values (measured-on measurements) (formlet-process (measurements-formlet) req))
(create-nutrient-measurement! measured-on measurements)
(redirect-to "/"))
@@ -59,23 +54,16 @@
(delete-nutrient-measurement! req)
(redirect-to "/"))
-
;; Nutrient targets
(define (new-target _)
- (response/xexpr
- #:preamble #"<!DOCTYPE html>"
- (new-target-page)))
+ (response/xexpr #:preamble #"<!DOCTYPE html>" (new-target-page)))
(define (create-target req)
- (define-values (effective-on crop-requirement-mix)
- (formlet-process (targets-formlet) req))
- (define target-nutrient-values
- (average-crop-requirement-nutrient-values crop-requirement-mix))
+ (define-values (effective-on crop-requirement-mix) (formlet-process (targets-formlet) req))
+ (define target-nutrient-values (average-crop-requirement-nutrient-values crop-requirement-mix))
(create-nutrient-target! effective-on target-nutrient-values)
(redirect-to "/"))
(define (fallback _)
- (response/xexpr
- #:preamble #"<!DOCTYPE html>"
- (fallback-page 404)))
+ (response/xexpr #:preamble #"<!DOCTYPE html>" (fallback-page 404)))
Copyright 2019--2026 Marius PETER