2022-12-06 02:31:33 +01:00
|
|
|
open Tyxml.Html
|
|
|
|
|
open Syntax
|
|
|
|
|
|
2023-01-08 04:10:15 +01:00
|
|
|
let mk_img hidden name =
|
|
|
|
|
let a = [ a_id name ] in
|
2022-12-06 03:08:30 +01:00
|
|
|
img
|
|
|
|
|
~src:(Format.sprintf "/assets/img/%s.png" name)
|
|
|
|
|
~alt:name
|
2023-01-08 04:10:15 +01:00
|
|
|
~a:(if hidden then a_hidden () :: a else a)
|
2022-12-06 03:08:30 +01:00
|
|
|
()
|
|
|
|
|
|
2022-12-06 02:31:33 +01:00
|
|
|
let get request =
|
|
|
|
|
let** () = User.assert_logged request in
|
2023-01-08 04:10:15 +01:00
|
|
|
|
2022-12-06 02:31:33 +01:00
|
|
|
let title = "Your island" in
|
2023-01-08 04:10:15 +01:00
|
|
|
|
|
|
|
|
let topbar =
|
|
|
|
|
let mana_img = mk_img false "mana" in
|
|
|
|
|
let mana_lvl = span ~a:[ a_id "mana_lvl" ] [ txt "0" ] in
|
|
|
|
|
div ~a:[ a_class [ "centered" ] ] @@ [ mana_img; mana_lvl ]
|
|
|
|
|
in
|
|
|
|
|
|
2022-12-06 02:31:33 +01:00
|
|
|
let canvas =
|
|
|
|
|
canvas
|
|
|
|
|
~a:[ a_id "canvas" ]
|
|
|
|
|
[ txt "please update your browser or enable javascript" ]
|
|
|
|
|
in
|
2023-01-08 04:10:15 +01:00
|
|
|
|
|
|
|
|
let canvas_images =
|
|
|
|
|
List.map (mk_img true)
|
2022-12-08 04:08:27 +01:00
|
|
|
[ "grass"; "papy_left"; "papy_right"; "papy_down"; "papy_up"; "water" ]
|
|
|
|
|
in
|
2022-12-06 03:08:30 +01:00
|
|
|
|
2023-01-08 04:10:15 +01:00
|
|
|
let page =
|
|
|
|
|
div ~a:[ a_class [ "centered" ] ] @@ (topbar :: canvas :: canvas_images)
|
|
|
|
|
in
|
2022-12-06 02:31:33 +01:00
|
|
|
|
|
|
|
|
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
|