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" ; "sheep" ] 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