open Tyxml.Html
open Syntax
let mk_img hidden name =
let a = [ a_id name ] in
img
~src:(Format.sprintf "/assets/img/%s.png" name)
~alt:name
~a:(if hidden then a_hidden () :: a else a)
()
let get request =
let** () = User.assert_logged request in
let title = "Your island" in
let topbar =
let mana_img = mk_img false "mana" in
let mana_lvl = span ~a:[ a_id "mana_lvl" ] [ txt "0" ] in
let wheat_img = mk_img false "wheat" in
let wheat_lvl = span ~a:[ a_id "wheat_lvl" ] [ txt "0" ] in
div
~a:[ a_class [ "centered" ] ]
[ mana_img; mana_lvl; wheat_img; wheat_lvl ]
in
let canvas =
div
~a:[ a_class [ "centered" ] ]
[ canvas
~a:[ a_id "canvas" ]
[ txt "please update your browser or enable javascript" ]
]
in
let canvas_images =
div
@@ List.map (mk_img true)
[ "grass"
; "papy_left"
; "papy_right"
; "papy_down"
; "papy_up"
; "water"
; "wheat"
]
in
let bottombar =
let medidate_button =
button ~a:[ a_id "medidate_button" ] [ txt "Medidate" ]
in
let plant_wheat_button =
button ~a:[ a_id "plant_wheat_button" ] [ txt "Plant wheat" ]
in
div ~a:[ a_class [ "centered" ] ] [ medidate_button; plant_wheat_button ]
in
let page = div [ topbar; canvas; bottombar; canvas_images ] in
let js =
script
~a:
[ (*a_mime_type "text/javascript" ; *)
a_src "/assets/js/island_client.js"
; a_defer ()
]
(txt "")
in
Template.render ~title ~scripts:[ js ] page