Skip to content

Instantly share code, notes, and snippets.

@tskardal
Last active August 29, 2015 14:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tskardal/4c149a1d8a5050b76a06 to your computer and use it in GitHub Desktop.
Save tskardal/4c149a1d8a5050b76a06 to your computer and use it in GitHub Desktop.
(ns battlesnake.lobby
(:require [chord.client :refer [ws-ch]]
[cljs.core.async :refer [chan <! >! put! close! timeout]]
[reagent.core :as reagent :refer [atom]])
(:require-macros [cljs.core.async.macros :refer [go go-loop]]))
(def game-name (atom ""))
(def all-games (atom [{:name "Awesome game"} {:name "Less awesome game"}]))
(defn create-game []
[:div
[:h3 "Create a game"]
[:input {:type "text" :value @game-name :placeholder "Name the game!"
:on-change #(reset! game-name (-> % .-target .-value))}]
[:input {:type "button" :value "Start" :on-click #(reset! game-name "")}]])
(defn game-list []
[:ul
(for [game @all-games]
[:li (game :name)])])
(defn lobby []
[:div
[create-game]
[game-list]])
(defn listen []
(go (let [{:keys [ws-channel]} (<! (ws-ch "ws://localhost:3000/ws"))])
(go-loop []
(when-let [{:keys [message]} (<! ws-channel)]
(js/console.log (str "msg: " message))
(recur)))))
(defn ^:export init [parent]
(reagent/render-component [lobby] parent))
Compiling ClojureScript.
Compiling "target/classes/public/js/battlesnake.js" from ["src/cljs"]...
Compiling "target/classes/public/js/battlesnake.js" failed.
clojure.lang.ExceptionInfo: failed compiling file:src/cljs/battlesnake/lobby.cljs {:file #<File src/cljs/battlesnake/lobby.cljs>}
at clojure.core$ex_info.invoke(core.clj:4403)
at cljs.compiler$compile_file.invoke(compiler.clj:999)
at cljs.compiler$compile_root.invoke(compiler.clj:1029)
at cljs.closure$compile_dir.invoke(closure.clj:358)
at cljs.closure$eval3139$fn__3140.invoke(closure.clj:398)
at cljs.closure$eval3075$fn__3076$G__3066__3083.invoke(closure.clj:306)
at cljs.closure$eval3126$fn__3127.invoke(closure.clj:412)
at cljs.closure$eval3075$fn__3076$G__3066__3083.invoke(closure.clj:306)
at cljsbuild.compiler.SourcePaths$fn__3353.invoke(compiler.clj:67)
at clojure.core$map$fn__4245.invoke(core.clj:2557)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.RT.seq(RT.java:484)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$apply.invoke(core.clj:624)
at clojure.core$mapcat.doInvoke(core.clj:2586)
at clojure.lang.RestFn.invoke(RestFn.java:423)
at cljsbuild.compiler.SourcePaths._compile(compiler.clj:67)
at cljs.closure$build.invoke(closure.clj:1006)
at cljs.closure$build.invoke(closure.clj:960)
at cljsbuild.compiler$compile_cljs$fn__3364.invoke(compiler.clj:81)
at cljsbuild.compiler$compile_cljs.invoke(compiler.clj:80)
at cljsbuild.compiler$run_compiler.invoke(compiler.clj:179)
at user$eval3496$iter__3514__3518$fn__3519$fn__3531.invoke(form-init1751129634322424023.clj:1)
at user$eval3496$iter__3514__3518$fn__3519.invoke(form-init1751129634322424023.clj:1)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.RT.seq(RT.java:484)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$dorun.invoke(core.clj:2855)
at clojure.core$doall.invoke(core.clj:2871)
at user$eval3496.invoke(form-init1751129634322424023.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6693)
at clojure.lang.Compiler.load(Compiler.java:7130)
at clojure.lang.Compiler.loadFile(Compiler.java:7086)
at clojure.main$load_script.invoke(main.clj:274)
at clojure.main$init_opt.invoke(main.clj:279)
at clojure.main$initialize.invoke(main.clj:307)
at clojure.main$null_opt.invoke(main.clj:342)
at clojure.main$main.doInvoke(main.clj:420)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at clojure.lang.Var.invoke(Var.java:383)
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: clojure.lang.ExceptionInfo: Referred var fressian-cljs.fns/lookup does not exist at line 1 file:/home/thomas/.m2/repository/net/unit8/fressian-cljs/0.1.0/fressian-cljs-0.1.0.jar!/fressian_cljs/reader.cljs {:tag :cljs/analysis-error, :file "file:/home/thomas/.m2/repository/net/unit8/fressian-cljs/0.1.0/fressian-cljs-0.1.0.jar!/fressian_cljs/reader.cljs", :line 1, :column 1}
at clojure.core$ex_info.invoke(core.clj:4403)
at cljs.analyzer$error.invoke(analyzer.clj:297)
at cljs.analyzer$error.invoke(analyzer.clj:294)
at cljs.analyzer$check_uses.invoke(analyzer.clj:1090)
at cljs.analyzer$eval1537$fn__1539.invoke(analyzer.clj:1260)
at clojure.lang.MultiFn.invoke(MultiFn.java:249)
at cljs.analyzer$analyze_seq.invoke(analyzer.clj:1567)
at cljs.analyzer$analyze$fn__1752.invoke(analyzer.clj:1654)
at cljs.analyzer$analyze.invoke(analyzer.clj:1647)
at cljs.analyzer$analyze.invoke(analyzer.clj:1642)
at cljs.analyzer$analyze_file$fn__1792.invoke(analyzer.clj:1811)
at cljs.analyzer$analyze_file.invoke(analyzer.clj:1807)
at cljs.analyzer$analyze_deps.invoke(analyzer.clj:1080)
at cljs.analyzer$eval1537$fn__1539.invoke(analyzer.clj:1258)
at clojure.lang.MultiFn.invoke(MultiFn.java:249)
at cljs.analyzer$analyze_seq.invoke(analyzer.clj:1567)
at cljs.analyzer$analyze$fn__1752.invoke(analyzer.clj:1654)
at cljs.analyzer$analyze.invoke(analyzer.clj:1647)
at cljs.analyzer$analyze.invoke(analyzer.clj:1642)
at cljs.analyzer$analyze_file$fn__1792.invoke(analyzer.clj:1811)
at cljs.analyzer$analyze_file.invoke(analyzer.clj:1807)
at cljs.analyzer$analyze_deps.invoke(analyzer.clj:1080)
at cljs.analyzer$eval1537$fn__1539.invoke(analyzer.clj:1258)
at clojure.lang.MultiFn.invoke(MultiFn.java:249)
at cljs.analyzer$analyze_seq.invoke(analyzer.clj:1567)
at cljs.analyzer$analyze$fn__1752.invoke(analyzer.clj:1654)
at cljs.analyzer$analyze.invoke(analyzer.clj:1647)
at cljs.analyzer$analyze.invoke(analyzer.clj:1642)
at cljs.analyzer$analyze_file$fn__1792.invoke(analyzer.clj:1811)
at cljs.analyzer$analyze_file.invoke(analyzer.clj:1807)
at cljs.analyzer$analyze_deps.invoke(analyzer.clj:1080)
at cljs.analyzer$eval1537$fn__1539.invoke(analyzer.clj:1258)
at clojure.lang.MultiFn.invoke(MultiFn.java:249)
at cljs.analyzer$analyze_seq.invoke(analyzer.clj:1567)
at cljs.analyzer$analyze$fn__1752.invoke(analyzer.clj:1654)
at cljs.analyzer$analyze.invoke(analyzer.clj:1647)
at cljs.analyzer$analyze.invoke(analyzer.clj:1642)
at cljs.analyzer$analyze_file$fn__1792.invoke(analyzer.clj:1811)
at cljs.analyzer$analyze_file.invoke(analyzer.clj:1807)
at cljs.analyzer$analyze_deps.invoke(analyzer.clj:1080)
at cljs.analyzer$eval1537$fn__1539.invoke(analyzer.clj:1258)
at clojure.lang.MultiFn.invoke(MultiFn.java:249)
at cljs.analyzer$analyze_seq.invoke(analyzer.clj:1567)
at cljs.analyzer$analyze$fn__1752.invoke(analyzer.clj:1654)
at cljs.analyzer$analyze.invoke(analyzer.clj:1647)
at cljs.analyzer$analyze.invoke(analyzer.clj:1642)
at cljs.analyzer$analyze_file$fn__1792.invoke(analyzer.clj:1811)
at cljs.analyzer$analyze_file.invoke(analyzer.clj:1807)
at cljs.compiler$compile_file$fn__2809.invoke(compiler.clj:996)
at cljs.compiler$with_core_cljs.invoke(compiler.clj:867)
at cljs.compiler$compile_file.invoke(compiler.clj:996)
... 44 more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment