add topbar with mana, fix bug where newly created state was not stored

in the hashtbl 😠, clean code
This commit is contained in:
zapashcanon 2023-01-08 04:10:15 +01:00
parent 51129ecb2e
commit 3a9d5daf02
No known key found for this signature in database
GPG key ID: 8981C3C62D1D28F1
11 changed files with 177 additions and 89 deletions

View file

@ -1,27 +1,39 @@
open Tyxml.Html
open Syntax
let mk_img name =
let mk_img hidden name =
let a = [ a_id name ] in
img
~src:(Format.sprintf "/assets/img/%s.png" name)
~alt:name
~a:[ a_hidden (); a_id 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
div ~a:[ a_class [ "centered" ] ] @@ [ mana_img; mana_lvl ]
in
let canvas =
canvas
~a:[ a_id "canvas" ]
[ txt "please update your browser or enable javascript" ]
in
let images =
List.map mk_img
let canvas_images =
List.map (mk_img true)
[ "grass"; "papy_left"; "papy_right"; "papy_down"; "papy_up"; "water" ]
in
let page = div ~a:[ a_class [ "centered" ] ] @@ (canvas :: images) in
let page =
div ~a:[ a_class [ "centered" ] ] @@ (topbar :: canvas :: canvas_images)
in
let js =
script