aboutsummaryrefslogtreecommitdiff
path: root/src/app
diff options
context:
space:
mode:
Diffstat (limited to 'src/app')
-rw-r--r--src/app/api.clj5
-rw-r--r--src/app/rpc.cljs4
-rw-r--r--src/app/scoreboard.cljs11
3 files changed, 16 insertions, 4 deletions
diff --git a/src/app/api.clj b/src/app/api.clj
index 432482c..d453f4b 100644
--- a/src/app/api.clj
+++ b/src/app/api.clj
@@ -29,3 +29,8 @@
{:rpc/pre (= token (db/get :admin))}
(binding [*ns* (find-ns 'simpledb.core)]
(eval (read-string expr))))
+
+(defrpc get-hints []
+ (if (db/get :drop-hints)
+ (db/get :hints)
+ "Hack Harder!"))
diff --git a/src/app/rpc.cljs b/src/app/rpc.cljs
index dab3566..2f25b35 100644
--- a/src/app/rpc.cljs
+++ b/src/app/rpc.cljs
@@ -11,6 +11,7 @@
(defc loading [])
(defc token-ok false)
(defc eval-result nil)
+(defc hints "No hints")
(def get-scoreboard
(mkremote 'app.api/get-scoreboard scoreboard scoreboard-error loading))
@@ -27,6 +28,9 @@
(def admin-eval!
(mkremote 'app.api/admin-eval! eval-result error loading))
+(def get-hints
+ (mkremote 'app.api/get-hints hints error loading))
+
(defn init []
(get-scoreboard)
(js/setInterval get-scoreboard 1000))
diff --git a/src/app/scoreboard.cljs b/src/app/scoreboard.cljs
index b58e49e..794a803 100644
--- a/src/app/scoreboard.cljs
+++ b/src/app/scoreboard.cljs
@@ -56,9 +56,12 @@
(td :text (cell= (:name player)))
(td :text score)
(loop-tpl :bindings [[owner _name] problems]
- (td :text (cell=
- (name (get (:scores player)
- _name
- :unsolved))))))))))))
+ (let [solved (cell= (= :solved
+ (get (:scores player)
+ _name
+ :unsolved)))]
+ (td
+ :text (cell=
+ (when solved "\u2713"))))))))))))
;; vim: set expandtab ts=2 sw=2 filetype=clojure :