🐛 Fix incorrect color count in color libraries dropdown (#10281)

* 🐛 Fix incorrect color count in color libraries dropdown

* 📎 Add minor formatting changes

Signed-off-by: Andrey Antukh <niwi@niwi.nz>

---------

Signed-off-by: Andrey Antukh <niwi@niwi.nz>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
This commit is contained in:
Krishna zade 2026-06-19 15:02:14 +05:30 committed by GitHub
parent 9e52bb40d0
commit 08721127a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -22,32 +22,41 @@
(defn- extract-colors
[{:keys [data] :as file}]
(let [colors (into [] xf:sample-colors (:colors data))]
(let [all-colors (:colors data)
colors (into [] xf:sample-colors all-colors)]
(-> file
(assoc :colors colors)
(assoc :total-colors (count all-colors))
(dissoc :data))))
(mf/defc color-palette-ctx-menu*
[{:keys [show on-close on-select selected]}]
(let [recent-colors (mf/deref refs/recent-colors)
libraries (mf/deref refs/libraries)
file-id (mf/use-ctx ctx/current-file-id)
local-colors (mf/with-memo [libraries file-id]
(let [colors (dm/get-in libraries [file-id :data :colors])]
(into [] xf:sample-colors colors)))
libraries (mf/with-memo [libraries file-id]
(->> (dissoc libraries file-id)
(vals)
(mapv extract-colors)))
local-colors
(mf/with-memo [libraries file-id]
(let [colors (dm/get-in libraries [file-id :data :colors])]
(into [] xf:sample-colors colors)))
recent-colors (mf/with-memo [recent-colors]
(->> (reverse recent-colors)
(take 7)
(map-indexed (fn [index color]
(assoc color ::id (dm/str index))))
(vec)))]
local-colors-count
(mf/with-memo [libraries file-id]
(count (dm/get-in libraries [file-id :data :colors])))
libraries
(mf/with-memo [libraries file-id]
(->> (dissoc libraries file-id)
(vals)
(mapv extract-colors)))
recent-colors
(mf/with-memo [recent-colors]
(->> (reverse recent-colors)
(take 7)
(map-indexed (fn [index color]
(assoc color ::id (dm/str index))))
(vec)))]
[:& dropdown {:show show :on-close on-close}
[:ul {:class (stl/css :palette-menu)}
@ -63,7 +72,7 @@
[:span {:class (stl/css :lib-name)}
(dm/str (:name library))]
[:span {:class (stl/css :lib-num)}
(dm/str "(" (count colors) ")")]]
(dm/str "(" (:total-colors library) ")")]]
(when (= selected id)
[:span {:class (stl/css :icon-wrapper)}
deprecated-icon/tick])]
@ -87,7 +96,7 @@
[:span {:class (stl/css :lib-name)}
(dm/str (tr "workspace.libraries.colors.file-library"))]
[:span {:class (stl/css :lib-num)}
(dm/str "(" (count local-colors) ")")]]
(dm/str "(" local-colors-count ")")]]
(when (= selected :file)
[:span {:class (stl/css :icon-wrapper)}