From 47dae090ed0c45f05d8b554e1ad8d5ba3bb66a10 Mon Sep 17 00:00:00 2001 From: Eva Marco Date: Thu, 26 Feb 2026 10:24:48 +0100 Subject: [PATCH] :bug: Add notification to token applied during text edition (#8434) --- .../src/app/main/data/workspace/tokens/application.cljs | 8 ++++++-- .../app/main/ui/workspace/tokens/management/group.cljs | 9 +++++++-- frontend/translations/en.po | 4 ++++ frontend/translations/es.po | 4 ++++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/main/data/workspace/tokens/application.cljs b/frontend/src/app/main/data/workspace/tokens/application.cljs index 68240aafac..a85d0f117c 100644 --- a/frontend/src/app/main/data/workspace/tokens/application.cljs +++ b/frontend/src/app/main/data/workspace/tokens/application.cljs @@ -620,7 +620,7 @@ ptk/WatchEvent (watch [_ state _] ;; We do not allow to apply tokens while text editor is open. - (when (empty? (get state :workspace-editor-state)) + (if (empty? (get state :workspace-editor-state)) (let [attributes-to-remove ;; Remove atomic typography tokens when applying composite and vice-verca (cond @@ -674,7 +674,11 @@ (if (rx/observable? res) res (rx/of res)))) - (rx/of (dwu/commit-undo-transaction undo-id))))))))))))) + (rx/of (dwu/commit-undo-transaction undo-id))))))))) + (rx/of (ntf/show {:content (tr "workspace.tokens.error-text-edition") + :type :toast + :level :warning + :timeout 3000})))))) (defn apply-spacing-token-separated "Handles edge-case for spacing token when applying token via toggle button. diff --git a/frontend/src/app/main/ui/workspace/tokens/management/group.cljs b/frontend/src/app/main/ui/workspace/tokens/management/group.cljs index 58912a2101..3a41c5a348 100644 --- a/frontend/src/app/main/ui/workspace/tokens/management/group.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/management/group.cljs @@ -12,6 +12,7 @@ [app.common.data.macros :as dm] [app.common.types.tokens-lib :as ctob] [app.main.data.modal :as modal] + [app.main.data.notifications :as ntf] [app.main.data.workspace.tokens.application :as dwta] [app.main.data.workspace.tokens.library-edit :as dwtl] [app.main.refs :as refs] @@ -136,9 +137,13 @@ (fn [event token] (let [token (ctob/get-token tokens-lib selected-token-set-id (:id token))] (dom/stop-propagation event) - (when (and not-editing? (seq selected-shapes) (not= (:type token) :number)) + (if (and not-editing? (seq selected-shapes) (not= (:type token) :number)) (st/emit! (dwta/toggle-token {:token token - :shape-ids selected-ids}))))))] + :shape-ids selected-ids})) + (st/emit! (ntf/show {:content (tr "workspace.tokens.error-text-edition") + :type :toast + :level :warning + :timeout 3000}))))))] [:div {:class (stl/css :token-section-wrapper) :data-testid (dm/str "section-" (name type))} diff --git a/frontend/translations/en.po b/frontend/translations/en.po index f4928f67f8..495fd1b9c2 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -8366,6 +8366,10 @@ msgstr "Invalid value: Units are not allowed." msgid "workspace.tokens.warning-name-change" msgstr "Renaming this token will break any reference to its old name" +#: src/app/main/data/workspace/tokens/application.cljs +msgid "workspace.tokens.error-text-edition" +msgstr "Tokens can't be applied while editing text. Select the text layer instead." + #: src/app/main/ui/workspace/sidebar.cljs:159, src/app/main/ui/workspace/sidebar.cljs:166 msgid "workspace.toolbar.assets" msgstr "Assets" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 683f73d6c4..f30b9e12e3 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -8246,6 +8246,10 @@ msgstr "" "Cambiar el nombre de este token romperá cualquier referencia a su nombre " "anterior." +#: src/app/main/data/workspace/tokens/application.cljs +msgid "workspace.tokens.error-text-edition" +msgstr "No se pueden aplicar tokens mientras se edita texto. Seleccione la capa de texto en su lugar." + #: src/app/main/ui/workspace/sidebar.cljs:159, src/app/main/ui/workspace/sidebar.cljs:166 msgid "workspace.toolbar.assets" msgstr "Recursos"