diff options
| author | Marius Peter <dev@marius-peter.com> | 2025-11-17 17:47:17 +0100 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2025-11-17 17:47:17 +0100 |
| commit | c0f93e8d41188fc4138a350430ee349b61ea0535 (patch) | |
| tree | 5d88fd1195d65521c5e1a787cd773047605b7e72 /handlers.rkt | |
| parent | 02ef60dd46676b5069aeae666b544b62f270ffd1 (diff) | |
raco fmt.
Diffstat (limited to 'handlers.rkt')
| -rw-r--r-- | handlers.rkt | 58 |
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))) |