From 0f509663c78ada3a7d7bbba3da721b99c32ef9e0 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Mon, 30 Jun 2025 09:13:18 +0200 Subject: Added a radio-button element and added it with an example --- bin/main.ml | 20 +++++-- js/content.ml | 122 ++++++++++++++++++++++++++++----------- js/elements.ml | 152 ++++++++++++++++++++++++++++++++++++++++--------- js/elements.mli | 40 ++++++++++--- services/capitalize.ml | 15 +++++ 5 files changed, 279 insertions(+), 70 deletions(-) create mode 100644 services/capitalize.ml diff --git a/bin/main.ml b/bin/main.ml index 79593c9..1c1c442 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1,5 +1,5 @@ (** Create the handler for the service *) -let handler = +let nbcar_handler = Dream_handler.handle (module Services_impl.Nb_car) (fun (() : Services_impl.Nb_car.placeholders) body -> @@ -10,12 +10,23 @@ let handler = nbcar = Int64.of_int (String.length body.value); }) +let capitalize_handler = + Dream_handler.handle + (module Services_impl.Capitalize) + (fun () body -> + Lwt.return_ok + Services_impl.Capitalize.{ value = String.uppercase_ascii body.value }) + (* The handler and the route are not created at the same time because we may want create a specific handler, for example one checking CRSF in the query and can’t infer this from the service signature only *) (** And create the route. *) -let route = Dream_handler.register (module Services_impl.Nb_car) handler +let nbcar_route = + Dream_handler.register (module Services_impl.Nb_car) nbcar_handler + +and capitalize_route = + Dream_handler.register (module Services_impl.Capitalize) capitalize_handler (** Generate a default static page *) let hello : Dream.handler = @@ -32,7 +43,7 @@ let hello : Dream.handler =

- Dashboard + Example