From c2a045ad5b9227fc124ec9da5185668bd190684f Mon Sep 17 00:00:00 2001 From: Florian Schroedl Date: Fri, 16 Aug 2024 11:44:41 +0200 Subject: [PATCH] Add selected sets UI --- frontend/src/app/main/refs.cljs | 6 +++++ .../app/main/ui/workspace/tokens/sidebar.cljs | 25 +++++++++++++------ .../main/ui/workspace/tokens/token_set.cljs | 3 +++ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/frontend/src/app/main/refs.cljs b/frontend/src/app/main/refs.cljs index 539570c5e..2fb8799d1 100644 --- a/frontend/src/app/main/refs.cljs +++ b/frontend/src/app/main/refs.cljs @@ -240,6 +240,12 @@ st/state =)) +(def workspace-active-theme-id + (l/derived wtts/update-theme-id st/state)) + +(def workspace-token-themes + (l/derived wtts/get-workspace-themes-index st/state)) + (def workspace-ordered-token-themes (l/derived wtts/get-workspace-ordered-themes st/state)) diff --git a/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs b/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs index 976c7f738..c341a0e1a 100644 --- a/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs @@ -21,6 +21,7 @@ [app.main.ui.workspace.tokens.core :as wtc] [app.main.ui.workspace.tokens.style-dictionary :as sd] [app.main.ui.workspace.tokens.token :as wtt] + [app.main.ui.workspace.tokens.token-set :as wtts] [app.main.ui.workspace.tokens.token-types :as wtty] [app.main.ui.workspace.tokens.update :as wtu] [app.util.dom :as dom] @@ -166,15 +167,19 @@ (mf/defc token-sets [_props] - (let [themes (mf/deref refs/workspace-ordered-token-themes) + (let [selected-theme-id (mf/deref refs/workspace-active-theme-id) + themes (mf/deref refs/workspace-ordered-token-themes) + themes-index (mf/deref refs/workspace-token-themes) + selected-theme (get themes-index selected-theme-id) selected-token-set-id (mf/deref refs/workspace-selected-token-set-id) token-sets (mf/deref refs/workspace-token-sets)] + (js/console.log "selected-theme" selected-theme) [:div {:style {:display "flex" :flex-direction "column" :gap "10px"}} - "Themes" + (str "Themes (selected: " selected-theme-id ")") [:div [:ul {:style {:list-style "disk"}} [:& tokene-theme-create] @@ -210,11 +215,17 @@ [:div {:style {:display "flex" :justify-content "space-between"}} name - [:button {:on-click (fn [e] - (dom/prevent-default e) - (dom/stop-propagation e) - (st/emit! (wdt/delete-token-set id)))} - "Delete"]]])] + [:div {:style {:display "flex" + :gap "5px"}} + [:button + (if (wtts/token-set-enabled-in-theme? id selected-theme) + "👁️" + " ")] + [:button {:on-click (fn [e] + (dom/prevent-default e) + (dom/stop-propagation e) + (st/emit! (wdt/delete-token-set id)))} + "🗑️"]]]])] [:hr]])) (mf/defc tokens-explorer diff --git a/frontend/src/app/main/ui/workspace/tokens/token_set.cljs b/frontend/src/app/main/ui/workspace/tokens/token_set.cljs index 013fd2586..1ffb3288e 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_set.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/token_set.cljs @@ -38,6 +38,9 @@ (defn add-token-set-to-token-theme [token-set-id token-theme] (update token-theme :sets conj token-set-id)) +(defn token-set-enabled-in-theme? [set-id theme] + (some? (get-in theme [:sets set-id]))) + ;; Sets ------------------------------------------------------------------------ (defn get-workspace-tokens [state]