sliva/src/sliva/core.cljs

37 lines
1.2 KiB
Plaintext
Raw Normal View History

2018-08-05 20:34:45 +02:00
(ns sliva.core
(:require [secretary.core :as secretary :refer-macros [defroute]]
2018-08-09 11:28:37 +02:00
[reagent.core :as reagent]
[sliva.socket :refer [websocket-init click-test]]
2018-08-09 11:28:37 +02:00
[sliva.data :refer [appstate]]
[sliva.routes :refer [app-routes]]
[sliva.pages.hub :refer [hub]]
2018-08-10 18:29:18 +02:00
[sliva.pages.visual :refer [visual]]
[sliva.pages.gibanica :refer [gibanica]])
2018-08-05 20:34:45 +02:00
(:require-macros [cljs.core.async.macros :refer [go go-loop]]))
2018-03-20 21:12:42 +01:00
(enable-console-print!)
(console.log "Hello, Sky!")
2018-03-20 21:12:42 +01:00
2018-08-09 11:28:37 +02:00
;; Page switching
(defmulti current-page #(@appstate :page))
(defmethod current-page :hub [] [hub])
(defmethod current-page :visual [] [visual])
2018-08-10 18:29:18 +02:00
(defmethod current-page :gibanica [] [gibanica])
2018-08-09 11:28:37 +02:00
;; On figwheel reload do this (reload routes, render currently active page)
(defn init-app []
(app-routes)
(console.log "App (re)init!")
2018-08-09 11:28:37 +02:00
(reagent/render [current-page] (.getElementById js/document "container")))
2018-08-09 11:28:37 +02:00
;; Vstopna tocka
(aset js/document "onreadystatechange"
(fn []
(if (= (.-readyState js/document) "complete")
(do
(websocket-init)
(click-test)
2018-08-11 01:36:47 +02:00
(.enable (js/NoSleep.))
(init-app)))))