aboutsummaryrefslogtreecommitdiffstats
path: root/src/user.cljs
diff options
context:
space:
mode:
Diffstat (limited to 'src/user.cljs')
-rw-r--r--src/user.cljs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/user.cljs b/src/user.cljs
new file mode 100644
index 0000000..d1b96fb
--- /dev/null
+++ b/src/user.cljs
@@ -0,0 +1,22 @@
+(ns user ^:dev/always ; recompile (macroexpand) electric-main when any cljs src changes
+ (:require
+ app.sudoku
+ hyperfiddle.electric
+ hyperfiddle.electric-dom2))
+
+(def electric-main
+ (hyperfiddle.electric/boot ; Electric macroexpansion - Clojure to signals compiler
+ (binding [hyperfiddle.electric-dom2/node js/document.body]
+ (app.sudoku/App.))))
+
+(defonce reactor nil)
+
+(defn ^:dev/after-load ^:export start! []
+ (assert (nil? reactor) "reactor already running")
+ (set! reactor (electric-main
+ #(js/console.log "Reactor success:" %)
+ #(js/console.error "Reactor failure:" %))))
+
+(defn ^:dev/before-load stop! []
+ (when reactor (reactor)) ; teardown
+ (set! reactor nil))