0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-01-21 06:02:32 -05:00

Simplify token application

This commit is contained in:
Florian Schroedl 2024-05-16 09:55:57 +02:00
parent 0d154679e9
commit 48c85d7200
2 changed files with 18 additions and 7 deletions

View file

@ -59,10 +59,21 @@
(let [token (token-from-attributes token-id attributes)]
(toggle-or-apply-token shape token)))
(defn apply-token-to-shape [{:keys [shape _token-id _attributes] :as props}]
(let [applied-tokens (apply-token-id-to-attributes props)]
(defn apply-token-to-shape
"When the passed `:token` is non-nil apply it to the `:applied-tokens` on a shape."
[{:keys [shape token attributes] :as props}]
(let [applied-tokens (apply-token-id-to-attributes {:shape shape
:token-id (:id token)
:attributes attributes})]
(update shape :applied-tokens #(merge % applied-tokens))))
(defn maybe-apply-token-to-shape
"When the passed `:token` is non-nil apply it to the `:applied-tokens` on a shape."
[{:keys [shape token _attributes] :as props}]
(if token
(apply-token-to-shape props)
shape))
(defn update-token-from-attributes
[{:keys [token-id shape-id attributes]}]
(ptk/reify ::update-token-from-attributes

View file

@ -296,11 +296,11 @@
token-value (some-> token wtc/resolve-token-value)]
(st/emit!
(change-radius (fn [shape]
(cond-> shape
token-value (#(dt/apply-token-to-shape {:token-id (:id token)
:shape %
:attributes (wtc/token-attributes :border-radius)}))
:always (ctsr/set-radius-1 (or token-value value)))))))))
(-> (dt/maybe-apply-token-to-shape
{:token-id token
:shape shape
:attributes (wtc/token-attributes :border-radius)})
(ctsr/set-radius-1 (or token-value value)))))))))
on-radius-multi-change
(mf/use-fn