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

This commit is contained in:
Oly 2025-01-24 13:40:30 +00:00
parent 0d97469f64
commit 41b7d8bc62
1 changed files with 51 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?widgetId=dochess
;;/addwidget https://blog-test.digitaloctave.com/chess?roomI=!YOyzcCyoomnjylcOFP:matrix.org&widgetId=dochess
(def widget (atom {})) (def widget (atom {}))
(defn send-to-parent (defn send-to-parent
@ -21,15 +22,30 @@
js/window.parent js/window.parent
#js {:api "fromWidget", #js {:api "fromWidget",
:v "1.0" :v "1.0"
:widgetId @widget
:action action}, "*")) :action action}, "*"))
([action data] ([action data]
(prn (str "sending " action)) (prn (str "sending d " action))
(.postMessage (.postMessage
js/window.parent js/window.parent
#js {:api "fromWidget", #js {:api "fromWidget",
:v "1.0" :v "1.0"
:action action :action action
:data data}, "*"))) :widgetId @widget
:data #js data}, "*"))
([action hm-key data]
(prn (str "sending kv " action))
(.postMessage
js/window.parent
#js {:api "fromWidget",
:v "1.0"
:action action
:widgetId @widget
hm-key js data
}, "*"))
)
(defn site-startup [] (defn site-startup []
@ -43,46 +59,33 @@
(prn (aget event "data" "action")) (prn (aget event "data" "action"))
(prn (aget event "data" "widgetId")) (prn (aget event "data" "widgetId"))
(when (= (aget event "data" "api") "toWidget") (when (= (aget event "data" "api") "toWidget")
(prn (str "msg type " (.-type (.-data event)))) (prn (str "msg type " (aget event "data" "action") ))
(prn (str "msg type " (-> event .-data .-action ))) (case (aget event "data" "action")
(case (aget event "data" "action")
"m.room.message" (prn "type msg") "m.room.message" (prn "type msg")
"m.room.member" (prn "type member") "m.room.member" (prn "type member")
"capabilities" "capabilities"
(do (do
(swap! widget assoc :widget-id (-> event .-data .-widgetId )) (swap! widget assoc :widget-id (-> event .-data .-widgetId ))
(.postMessage (send-to-parent "capabilities" :capabilities ["m.capability.screenshot"]))
js/window.parent
#js {:api "fromWidget",
:v "1.0"
:action "capabilities"
:capabilities #js ["m.text" "m.image"]
#_#_:action "supported_api_versions"}, "*")
(prn "type capa"))
"notify_capabilities" "notify_capabilities"
(do (do
(.postMessage (send-to-parent "capabilities" :capabilities ["m.capability.screenshot"]))
js/window.parent (do
#js {:api "fromWidget", (prn "unhandled action " (str (aget event "data" "action")))
:v "1.0" (prn (aget event "data"))))
:action "capabilities"
:capabilities #js ["m.text" "m.image"]
#_#_:action "supported_api_versions"}, "*")
(prn "type capa"))
(prn (.-type event)))
(prn (.-origin event)) #_(prn (.-origin event))
(prn (.-data event))))) #_(prn (.-data event)))))
(prn "send ready message")
(send-to-parent "ready") (send-to-parent "ready")
(send-to-parent "widget_ready")
(send-to-parent "m.room.message" {:body "testing from widget" :msgtype "m.text"})
#_(.postMessage js/window.parent #js {:api "fromWidget", #_(.postMessage js/window.parent #js {:api "fromWidget",
:v "1.0" :v "1.0"
:action "ready" :action "ready"
#_#_:action "supported_api_versions"}, "*") #_#_:action "supported_api_versions"}, "*")
(prn "send content loaded message")
#_(.postMessage js/window.parent #js {:api "fromWidget", #_(.postMessage js/window.parent #js {:api "fromWidget",
:v "1.0" :v "1.0"
@ -99,6 +102,27 @@
) )
#_(def game-state-viking (r/atom {:board viking-start-state})) #_(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 [] (defn setup []
(prn "register listener") (prn "register listener")
(.addEventListener js/window "load" (.addEventListener js/window "load"
@ -106,10 +130,7 @@
(prn "on load") (prn "on load")
(prn (.-location js/window)) (prn (.-location js/window))
(prn (-> js/window .-location .-hash)) (prn (-> js/window .-location .-hash))
(site-startup))))
(site-startup)
))
)
(defonce test-event (setup)) (defonce test-event (setup))