From c0f93e8d41188fc4138a350430ee349b61ea0535 Mon Sep 17 00:00:00 2001 From: Marius Peter Date: Mon, 17 Nov 2025 17:47:17 +0100 Subject: raco fmt. --- formlets.rkt | 116 ++++++++++++++++++++++++++--------------------------------- 1 file changed, 51 insertions(+), 65 deletions(-) (limited to 'formlets.rkt') diff --git a/formlets.rkt b/formlets.rkt index d0067e3..20a84d8 100644 --- a/formlets.rkt +++ b/formlets.rkt @@ -10,87 +10,73 @@ "models/crop.rkt" "models/crop-requirement.rkt") - (define date-formlet - (formlet - ,{=> (to-string - (required - (input #:type "date" - #:value (date->iso8601 (today)) - #:attributes '([class "form-control"] [required "required"])))) - date-b} - date-b)) + (formlet ,{=> + (to-string (required (input #:type "date" + #:value (date->iso8601 (today)) + #:attributes + '((class "form-control") [required "required"])))) + date-b} + date-b)) (define (measurement-formlet nutrient) (define id (nutrient-id nutrient)) (define number-input (input #:type "number" - #:attributes `([class "form-control"] - [id ,(number->string id)] - [step "0.1"] - [placeholder ,(nutrient-name nutrient)]))) - (define input-label `(label ([for ,(number->string id)]) ,(nutrient-name nutrient))) - (formlet - (#%# - (div ([class "form-floating mb-3"]) - ,{=> number-input nutrient-value-b} - ,input-label)) - (let ([nutrient-value (string->number - (bytes->string/utf-8 - (binding:form-value nutrient-value-b)))]) - (and nutrient-value (cons id nutrient-value))))) + #:attributes `((class "form-control") [id ,(number->string id)] + [step "0.1"] + [placeholder ,(nutrient-name nutrient)]))) + (define input-label + `(label ((for ,(number->string id) + )) + ,(nutrient-name nutrient))) + (formlet (#%# (div ((class "form-floating mb-3")) ,{=> number-input nutrient-value-b} ,input-label)) + (let ([nutrient-value (string->number (bytes->string/utf-8 + (binding:form-value nutrient-value-b)))]) + (and nutrient-value (cons id nutrient-value))))) (define (measurements-formlet) - (formlet* - (#%# - `(div ([class "mb-3"]) - (h5 "Date du relevé") - ,{=>* date-formlet measured-on*}) - `(div ([class "mb-3"]) - (h5 "Valeurs du relevé") - ,@(for/list ([nutrient (get-nutrients)]) - {=>* (measurement-formlet nutrient) measurements*})) - {=>* (submit "Enregistrer le relevé" #:attributes '([class "btn btn-primary"])) _}) - (let ([measured-on (first measured-on*)] - [measurements (filter pair? measurements*)]) ; drop #f’s from empty values - (values measured-on measurements)))) + (formlet* (#%# `(div ((class "mb-3")) (h5 "Date du relevé") ,{=>* date-formlet measured-on*}) + `(div ((class "mb-3")) + (h5 "Valeurs du relevé") + ,@(for/list ([nutrient (get-nutrients)]) + {=>* (measurement-formlet nutrient) measurements*})) + {=>* (submit "Enregistrer le relevé" #:attributes '((class "btn btn-primary"))) _}) + (let ([measured-on (first measured-on*)] + [measurements (filter pair? measurements*)]) ; drop #f’s from empty values + (values measured-on measurements)))) (define (crop-requirement-formlet requirement) (define id (crop-requirement-id requirement)) (define profile (crop-requirement-profile requirement)) (define maybe-crop (crop-requirement-crop-id requirement)) - (define crop (if maybe-crop (crop-name (get-crop #:id maybe-crop)) #f)) + (define crop + (if maybe-crop + (crop-name (get-crop #:id maybe-crop)) + #f)) (define number-input (input #:type "number" - #:attributes `([class "form-control"] - [id ,(number->string id)] - [step "1"] - [placeholder ,profile]))) - (define input-label `(label ([for ,(number->string id)]) - ,(if crop - (format "~a (~a)" crop profile) - (format "~a" profile)))) + #:attributes + `((class "form-control") [id ,(number->string id)] [step "1"] [placeholder ,profile]))) + (define input-label + `(label ((for ,(number->string id) + )) + ,(if crop + (format "~a (~a)" crop profile) + (format "~a" profile)))) (formlet - (#%# - (div ([class "form-floating mb-3"]) - ,{=> number-input requirement-proportion-b} - ,input-label)) - (let ([requirement-proportion (string->number - (bytes->string/utf-8 - (binding:form-value requirement-proportion-b)))]) + (#%# (div ((class "form-floating mb-3")) ,{=> number-input requirement-proportion-b} ,input-label)) + (let ([requirement-proportion + (string->number (bytes->string/utf-8 (binding:form-value requirement-proportion-b)))]) (and requirement-proportion (cons requirement requirement-proportion))))) (define (targets-formlet) - (formlet* - (#%# - `(div ([class "mb-3"]) - (h5 "Date ciblée") - ,{=>* date-formlet effective-on*}) - `(div ([class "mb-3"]) - (h5 "Valeurs cibles") - ,@(for/list ([requirement (get-crop-requirements)]) - {=>* (crop-requirement-formlet requirement) requirements*})) - {=>* (submit "Enregistrer la cible" #:attributes '([class "btn btn-primary"])) _}) - (let ([effective-on (first effective-on*)] - [requirements (filter pair? requirements*)]) ; drop #f’s from empty values - (values effective-on requirements)))) + (formlet* (#%# `(div ((class "mb-3")) (h5 "Date ciblée") ,{=>* date-formlet effective-on*}) + `(div ((class "mb-3")) + (h5 "Valeurs cibles") + ,@(for/list ([requirement (get-crop-requirements)]) + {=>* (crop-requirement-formlet requirement) requirements*})) + {=>* (submit "Enregistrer la cible" #:attributes '((class "btn btn-primary"))) _}) + (let ([effective-on (first effective-on*)] + [requirements (filter pair? requirements*)]) ; drop #f’s from empty values + (values effective-on requirements)))) -- cgit v1.2.3