Add txt to chess position function.
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Oly 2025-01-24 13:40:30 +00:00
parent 0d97469f64
commit 93b25637ee
1 changed files with 50 additions and 30 deletions

View File

@ -12,6 +12,7 @@
;;/addwidget https://blog-test.digitaloctave.com/chess?widgetId=dochess
;;/addwidget https://blog-test.digitaloctave.com/chess?roomI=!YOyzcCyoomnjylcOFP:matrix.org&widgetId=dochess
(def widget (atom {}))
(defn send-to-parent
@ -21,16 +22,30 @@
js/window.parent
#js {:api "fromWidget",
:v "1.0"
:widgetId @widget
:action action}, "*"))
([action data]
(prn (str "sending " action))
(prn (str "sending d " action))
(.postMessage
js/window.parent
#js {:api "fromWidget",
:v "1.0"
:action action
:data data}, "*")))
:widgetId @widget
:data data}, "*"))
([action hm-key data]
(prn (str "sending kv " action))
(.postMessage
js/window.parent
(clj->js {:api "fromWidget",
:v "1.0"
:action action
:widgetId @widget
(keyword hm-key) data
}), "*"))
)
(defn site-startup []
(prn "site start up")
@ -43,46 +58,33 @@
(prn (aget event "data" "action"))
(prn (aget event "data" "widgetId"))
(when (= (aget event "data" "api") "toWidget")
(prn (str "msg type " (.-type (.-data event))))
(prn (str "msg type " (-> event .-data .-action )))
(prn (str "msg type " (aget event "data" "action") ))
(case (aget event "data" "action")
"m.room.message" (prn "type msg")
"m.room.member" (prn "type member")
"capabilities"
(do
(swap! widget assoc :widget-id (-> event .-data .-widgetId ))
(.postMessage
js/window.parent
#js {:api "fromWidget",
:v "1.0"
:action "capabilities"
:capabilities #js ["m.text" "m.image"]
#_#_:action "supported_api_versions"}, "*")
(prn "type capa"))
(send-to-parent "capabilities" :capabilities #js ["m.capability.screenshot"]))
"notify_capabilities"
(do
(.postMessage
js/window.parent
#js {:api "fromWidget",
:v "1.0"
:action "capabilities"
:capabilities #js ["m.text" "m.image"]
#_#_:action "supported_api_versions"}, "*")
(prn "type capa"))
(prn (.-type event)))
(send-to-parent "capabilities" :capabilities #js ["m.capability.screenshot"]))
(do
(prn "unhandled action " (str (aget event "data" "action")))
(prn (aget event "data"))))
(prn (.-origin event))
(prn (.-data event)))))
#_(prn (.-origin event))
#_(prn (.-data event)))))
(prn "send ready message")
(send-to-parent "ready")
(send-to-parent "widget_ready")
(send-to-parent "m.room.message" #js {:body "testing from widget" :msgtype "m.text"})
#_(.postMessage js/window.parent #js {:api "fromWidget",
:v "1.0"
:action "ready"
#_#_:action "supported_api_versions"}, "*")
(prn "send content loaded message")
#_(.postMessage js/window.parent #js {:api "fromWidget",
:v "1.0"
@ -99,6 +101,27 @@
)
#_(def game-state-viking (r/atom {:board viking-start-state}))
(defn chars->map [text]
(when (mod (count test) 3)
(loop [colour :white
positions "KE3CA1CA4"
results []]
(prn positions)
(if (seq positions)
(recur
(if (= colour :white) :black :white)
(drop 3 positions)
(conj results {
:colour colour
:piece (first positions)
:pos [(second positions) (nth positions 2)]}))
results))))
(defn setup []
(prn "register listener")
(.addEventListener js/window "load"
@ -106,10 +129,7 @@
(prn "on load")
(prn (.-location js/window))
(prn (-> js/window .-location .-hash))
(site-startup)
))
)
(site-startup))))
(defonce test-event (setup))