aboutsummaryrefslogtreecommitdiff
path: root/src/main.ml
diff options
context:
space:
mode:
authorJoris2021-01-09 14:24:49 +0100
committerJoris2021-01-09 14:24:49 +0100
commit026ace6302f23837e34e982f6660e09ff38ee97b (patch)
tree4ea14b3cdadadad97b349901148b8f4a2462482e /src/main.ml
parent8337dd669c518a70bffdf1e91059e0968d786c0f (diff)
downloadcooking-026ace6302f23837e34e982f6660e09ff38ee97b.tar.gz
cooking-026ace6302f23837e34e982f6660e09ff38ee97b.tar.bz2
cooking-026ace6302f23837e34e982f6660e09ff38ee97b.zip
Use plain HTML and CSS
Diffstat (limited to 'src/main.ml')
-rw-r--r--src/main.ml63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/main.ml b/src/main.ml
deleted file mode 100644
index a2174f2..0000000
--- a/src/main.ml
+++ /dev/null
@@ -1,63 +0,0 @@
-open Webapi.Dom
-
-(* Set up inputs for the ingredients *)
-
-type ingredient = { quantity : float; element : Dom.element }
-
-let ingredients : ingredient Js.Array.t =
- document
- |> Document.querySelectorAll ".g-Recipe__Content ul > li"
- |> NodeList.toArray
- |> ArrayUtils.flatMap (fun node ->
- Belt.Option.map (Element.ofNode node) (fun e -> ("li", e)))
- |> Js.Array.concat
- ( match Document.querySelector ".g-Recipe__Content h1" document with
- | Some element -> [| ("h1", element) |]
- | _ -> [||] )
- |> ArrayUtils.flatMap (fun (tag, element) ->
- Belt.Option.map
- (Number.parseInsideText (Element.innerHTML element))
- (fun parsed ->
- let created = Number.createElement tag parsed in
- let () = DomUtils.replace element created.element in
- { quantity = parsed.number; element = created.numberInput }))
-
-(* Update ingredients amounts *)
-
-let () =
- ingredients
- |> Js.Array.forEach (fun ingredient ->
- Element.addEventListener "input"
- (fun e ->
- Belt.Option.forEach
- (DomUtils.value (Event.target e))
- (fun numberStr ->
- Belt.Option.forEach (Number.parse numberStr) (fun parsed ->
- let factor = parsed.number /. ingredient.quantity in
- ingredients
- |> Js.Array.forEach (fun otherIngredient ->
- if ingredient.element != otherIngredient.element
- then
- DomUtils.setValue otherIngredient.element
- (Number.prettyPrint
- (factor *. otherIngredient.quantity))
- else ()))))
- ingredient.element)
-
-(* Set up done marks for steps *)
-
-let () =
- document
- |> Document.querySelectorAll ".g-Recipe__Content ol > li"
- |> NodeList.toArray
- |> Js.Array.forEach (fun node ->
- match Element.ofNode node with
- | Some element ->
- Element.addEventListener "click"
- (fun e ->
- let () =
- DomUtils.toggleClassName element "g-Recipe__Completed"
- in
- Event.stopPropagation e)
- element
- | _ -> ())