From 026ace6302f23837e34e982f6660e09ff38ee97b Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 9 Jan 2021 14:24:49 +0100 Subject: Use plain HTML and CSS --- src/main.ml | 63 ------------------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 src/main.ml (limited to 'src/main.ml') 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 - | _ -> ()) -- cgit v1.2.3