aboutsummaryrefslogtreecommitdiff
path: root/src/View/Map/Icon.ml
blob: 8737f437fd9bc2d39e0757cc1ab8c8d189e6212f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
let create name color =
  let c = Color.from_raw color in
  let crBlack = Color.contrast_ratio { r = 0.; g = 0.; b = 0. } c in
  let crWhite = Color.contrast_ratio { r = 255.; g = 255.; b = 255. } c in
  let textCol = if crBlack > crWhite then "black" else "white" in
  Leaflet.div_icon
    { className = ""
    ; popupAnchor = [| 0.; -34. |]
    ; html =
        H.div
          [| HA.class_ "g-Marker" |]
          [| H.div
              [| HA.class_ "g-Marker__Round"
              ;  HA.style ("background-color: " ^ color)
              |]
              [| |]
          ;  H.div [| HA.class_ "g-Marker__PeakBorder" |] [| |]
          ;  H.div
              [| HA.class_ "g-Marker__PeakInner"
              ;  HA.style ("border-top-color: " ^ color)
              |]
              [| |]
          ;  H.div
              [| HA.class_ "g-Marker__Icon" |]
              [| H.i
                  [| HA.class_ ("fa fa-" ^ name)
                  ;  HA.style ("color: " ^ textCol)
                  |]
                  [| |]
              |]
          |]
    }