diff --git a/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs b/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs index da5ff2a..8572563 100644 --- a/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs +++ b/bases/do-blog/src/com/oly/static_sites/do_blog/pages/chess_board.cljs @@ -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,15 +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 + #js {:api "fromWidget", + :v "1.0" + :action action + :widgetId @widget + hm-key data + }, "*")) + + ) (defn site-startup [] @@ -43,46 +59,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 ))) - (case (aget 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 +102,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 +130,7 @@ (prn "on load") (prn (.-location js/window)) (prn (-> js/window .-location .-hash)) - - (site-startup) - )) - ) + (site-startup)))) (defonce test-event (setup))