mirror of
https://github.com/penpot/penpot.git
synced 2025-06-06 17:31:38 +02:00
Take tokens as ref
This commit is contained in:
parent
8f852bf48f
commit
622843f18d
2 changed files with 16 additions and 12 deletions
|
@ -230,6 +230,12 @@
|
||||||
(def workspace-data
|
(def workspace-data
|
||||||
(l/derived :workspace-data st/state))
|
(l/derived :workspace-data st/state))
|
||||||
|
|
||||||
|
(def workspace-tokens
|
||||||
|
(l/derived (fn [data]
|
||||||
|
(get data :tokens []))
|
||||||
|
workspace-data
|
||||||
|
=))
|
||||||
|
|
||||||
(def workspace-file-colors
|
(def workspace-file-colors
|
||||||
(l/derived (fn [data]
|
(l/derived (fn [data]
|
||||||
(when data
|
(when data
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
(ns app.main.ui.workspace.tokens.sidebar
|
(ns app.main.ui.workspace.tokens.sidebar
|
||||||
(:require-macros [app.main.style :as stl])
|
(:require-macros [app.main.style :as stl])
|
||||||
(:require
|
(:require
|
||||||
|
[app.common.data :as d]
|
||||||
[app.main.data.modal :as modal]
|
[app.main.data.modal :as modal]
|
||||||
[app.main.data.tokens :as dt]
|
[app.main.data.tokens :as dt]
|
||||||
[app.main.refs :as refs]
|
[app.main.refs :as refs]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.main.ui.icons :as i]
|
[app.main.ui.icons :as i]
|
||||||
[app.main.ui.workspace.sidebar.assets.common :as cmm]
|
[app.main.ui.workspace.sidebar.assets.common :as cmm]
|
||||||
[app.main.ui.workspace.tokens.common :refer [workspace-shapes]]
|
|
||||||
[app.main.ui.workspace.tokens.core :as wtc]
|
[app.main.ui.workspace.tokens.core :as wtc]
|
||||||
[app.util.dom :as dom]
|
[app.util.dom :as dom]
|
||||||
[rumext.v2 :as mf]))
|
[rumext.v2 :as mf]))
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
i/add))
|
i/add))
|
||||||
|
|
||||||
(mf/defc token-component
|
(mf/defc token-component
|
||||||
[{:keys [type file tokens selected-shapes token-type-props]}]
|
[{:keys [type tokens selected-shapes token-type-props]}]
|
||||||
(let [open? (mf/use-state false)
|
(let [open? (mf/use-state false)
|
||||||
{:keys [modal attributes title]} token-type-props
|
{:keys [modal attributes title]} token-type-props
|
||||||
|
|
||||||
|
@ -87,8 +87,7 @@
|
||||||
:selected-shapes selected-shapes})))
|
:selected-shapes selected-shapes})))
|
||||||
tokens-count (count tokens)]
|
tokens-count (count tokens)]
|
||||||
[:div {:on-click on-toggle-open-click}
|
[:div {:on-click on-toggle-open-click}
|
||||||
[:& cmm/asset-section {:file-id (:id file)
|
[:& cmm/asset-section {:icon (mf/fnc icon-wrapper [_]
|
||||||
:icon (mf/fnc icon-wrapper [_]
|
|
||||||
[:div {:class (stl/css :section-icon)}
|
[:div {:class (stl/css :section-icon)}
|
||||||
[:& token-section-icon {:type type}]])
|
[:& token-section-icon {:type type}]])
|
||||||
|
|
||||||
|
@ -128,21 +127,20 @@
|
||||||
|
|
||||||
(mf/defc tokens-explorer
|
(mf/defc tokens-explorer
|
||||||
[_props]
|
[_props]
|
||||||
(let [file (mf/deref refs/workspace-file)
|
(let [objects (mf/deref refs/workspace-page-objects)
|
||||||
current-page-id (:current-page-id @st/state)
|
|
||||||
workspace-data (mf/deref refs/workspace-data)
|
selected (mf/deref refs/selected-shapes)
|
||||||
tokens (get workspace-data :tokens)
|
selected-shapes (into [] (keep (d/getf objects)) selected)
|
||||||
|
|
||||||
|
tokens (mf/deref refs/workspace-tokens)
|
||||||
token-groups (mf/with-memo [tokens]
|
token-groups (mf/with-memo [tokens]
|
||||||
(sorted-token-groups tokens))
|
(sorted-token-groups tokens))]
|
||||||
selected-shape-ids (mf/deref refs/selected-shapes)
|
|
||||||
selected-shapes (workspace-shapes workspace-data current-page-id selected-shape-ids)]
|
|
||||||
[:article
|
[:article
|
||||||
[:div.assets-bar
|
[:div.assets-bar
|
||||||
(for [{:keys [token-key token-type-props tokens]} (concat (:filled token-groups)
|
(for [{:keys [token-key token-type-props tokens]} (concat (:filled token-groups)
|
||||||
(:empty token-groups))]
|
(:empty token-groups))]
|
||||||
[:& token-component {:key token-key
|
[:& token-component {:key token-key
|
||||||
:type token-key
|
:type token-key
|
||||||
:file file
|
|
||||||
:selected-shapes selected-shapes
|
:selected-shapes selected-shapes
|
||||||
:tokens tokens
|
:tokens tokens
|
||||||
:token-type-props token-type-props}])]]))
|
:token-type-props token-type-props}])]]))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue