From 627395e9945b571f7e4035be54afecc84b4dbccb Mon Sep 17 00:00:00 2001 From: John Warwick Date: Thu, 29 Jul 2021 17:55:39 -0400 Subject: [PATCH 1/2] Added game count in game lobby, plus indication of filtering --- src/cljs/nr/gamelobby.cljs | 22 ++++++++++++++-------- src/cljs/nr/translations.cljs | 4 +++- src/css/lobby.styl | 3 +++ 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/cljs/nr/gamelobby.cljs b/src/cljs/nr/gamelobby.cljs index 0388acef3d..e97ff9ead4 100644 --- a/src/cljs/nr/gamelobby.cljs +++ b/src/cljs/nr/gamelobby.cljs @@ -358,14 +358,20 @@ (defn game-list [user {:keys [room games gameid password-game editing]}] (let [roomgames (r/track (fn [] (filter #(= (:room %) room) @games))) - filtered-games (r/track #(filter-blocked-games @user @roomgames (:visible-formats @app-state)))] - [:div.game-list - (if (empty? @filtered-games) - [:h4 (tr [:lobby.no-games "No games"])] - (doall - (for [game @filtered-games] - ^{:key (:gameid game)} - [game-row (assoc game :current-game @gameid :password-game password-game :editing editing)])))])) + filtered-games (r/track #(filter-blocked-games @user @roomgames (:visible-formats @app-state))) + is_filtered (not= (count slug->format) (count (:visible-formats @app-state))) + n (count @filtered-games) + game-count-str (tr [:lobby.game-count] n)] + [:<> + [:div.game-count + [:h4 (str game-count-str (when is_filtered (str " " (tr [:lobby.filtered "(filtered)"]))))]] + [:div.game-list + (if (empty? @filtered-games) + [:h4 (tr [:lobby.no-games "No games"])] + (doall + (for [game @filtered-games] + ^{:key (:gameid game)} + [game-row (assoc game :current-game @gameid :password-game password-game :editing editing)])))]])) (defn format-visible? [slug] (contains? (:visible-formats @app-state) slug)) diff --git a/src/cljs/nr/translations.cljs b/src/cljs/nr/translations.cljs index 87c40f030e..d672b804f9 100644 --- a/src/cljs/nr/translations.cljs +++ b/src/cljs/nr/translations.cljs @@ -218,7 +218,9 @@ :not-allowed "Not allowed" :aborted "Connection aborted" :lobby.api-access "Allow API access to game information" - :lobby.api-requires-key "(Requires an API Key in Settings)"} + :lobby.api-requires-key "(Requires an API Key in Settings)" + :game-count (fn [[cnt]] (str cnt (if (= 1 cnt) " Game" " Games"))) + :filtered "(filtered)"} :settings {:invalid-password "Invalid login or password" :invalid-email "No account with that email address exists" diff --git a/src/css/lobby.styl b/src/css/lobby.styl index f1e0e9fded..ec4206d25f 100644 --- a/src/css/lobby.styl +++ b/src/css/lobby.styl @@ -107,6 +107,9 @@ &.current color: gold-base + .game-count + padding: 0 15px + .game-list padding: 0 15px overflow: auto From 9379aa02cff88f6b8c8f57e3c6331879052cf109 Mon Sep 17 00:00:00 2001 From: John Warwick Date: Mon, 2 Aug 2021 09:57:23 -0400 Subject: [PATCH 2/2] Clean up naming --- src/cljs/nr/gamelobby.cljs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cljs/nr/gamelobby.cljs b/src/cljs/nr/gamelobby.cljs index e97ff9ead4..9e696e4429 100644 --- a/src/cljs/nr/gamelobby.cljs +++ b/src/cljs/nr/gamelobby.cljs @@ -359,12 +359,12 @@ (defn game-list [user {:keys [room games gameid password-game editing]}] (let [roomgames (r/track (fn [] (filter #(= (:room %) room) @games))) filtered-games (r/track #(filter-blocked-games @user @roomgames (:visible-formats @app-state))) - is_filtered (not= (count slug->format) (count (:visible-formats @app-state))) + is-filtered? (not= (count slug->format) (count (:visible-formats @app-state))) n (count @filtered-games) game-count-str (tr [:lobby.game-count] n)] [:<> [:div.game-count - [:h4 (str game-count-str (when is_filtered (str " " (tr [:lobby.filtered "(filtered)"]))))]] + [:h4 (str game-count-str (when is-filtered? (str " " (tr [:lobby.filtered "(filtered)"]))))]] [:div.game-list (if (empty? @filtered-games) [:h4 (tr [:lobby.no-games "No games"])]