mirror of
https://github.com/penpot/penpot.git
synced 2025-06-04 13:11:46 +02:00
✨ Use different copies for different variant selection cases (#6544)
* ✨ Use different copies for different variant selection cases * 📎 PR changes
This commit is contained in:
parent
927ee9e55e
commit
44829ff1ae
3 changed files with 59 additions and 20 deletions
|
@ -235,12 +235,26 @@
|
|||
(when (or editing? creating?)
|
||||
[:div {:class (stl/css :counter)} (str size "/300")])]])))
|
||||
|
||||
|
||||
(defn- get-variant-error-message [errors]
|
||||
(cond
|
||||
(and (= (count errors) 1) (some? (first errors)))
|
||||
(tr "workspace.options.component.variant.malformed.single.one")
|
||||
|
||||
(and (seq errors) (every? some? errors))
|
||||
(tr "workspace.options.component.variant.malformed.single.all")
|
||||
|
||||
(and (seq errors) (some some? errors))
|
||||
(tr "workspace.options.component.variant.malformed.single.some")
|
||||
|
||||
:else nil))
|
||||
|
||||
|
||||
(mf/defc component-variant-main-instance*
|
||||
[{:keys [components shape data]}]
|
||||
[{:keys [components shapes data]}]
|
||||
(let [component (first components)
|
||||
|
||||
variant-id (:variant-id component)
|
||||
variant-error? (:variant-error shape)
|
||||
|
||||
objects (-> (dsh/get-page data (:main-instance-page component))
|
||||
(get :objects))
|
||||
|
@ -254,6 +268,9 @@
|
|||
prop-vals (mf/with-memo [data objects variant-id]
|
||||
(cfv/extract-properties-values data objects variant-id))
|
||||
|
||||
variant-errors (mapv :variant-error shapes)
|
||||
variant-error-msg (get-variant-error-message variant-errors)
|
||||
|
||||
empty-indicator "--"
|
||||
|
||||
get-options
|
||||
|
@ -301,14 +318,14 @@
|
|||
:options (clj->js (get-options (:name prop)))
|
||||
:on-change (partial update-property-value pos)}])]])]
|
||||
|
||||
(when variant-error?
|
||||
(when variant-error-msg
|
||||
[:div {:class (stl/css :variant-error-wrapper)}
|
||||
[:> icon* {:icon-id "msg-neutral"
|
||||
:class (stl/css :variant-error-darken)}]
|
||||
[:div {:class (stl/css :variant-error-highlight)}
|
||||
(tr "workspace.options.component.variant.malformed.single")]
|
||||
(str variant-error-msg " " (tr "workspace.options.component.variant.malformed.structure.title"))]
|
||||
[:div {:class (stl/css :variant-error-darken)}
|
||||
(tr "workspace.options.component.variant.malformed.structure")]])]))
|
||||
(tr "workspace.options.component.variant.malformed.structure.example")]])]))
|
||||
|
||||
(mf/defc component-variant*
|
||||
[{:keys [component shape data]}]
|
||||
|
@ -807,7 +824,7 @@
|
|||
|
||||
(when (and is-variant? main-instance? same-variant? (not swap-opened?))
|
||||
[:> component-variant-main-instance* {:components components
|
||||
:shape shape
|
||||
:shapes shapes
|
||||
:data data}])
|
||||
|
||||
(when (dbg/enabled? :display-touched)
|
||||
|
@ -951,7 +968,7 @@
|
|||
[:> icon* {:icon-id "msg-neutral"
|
||||
:class (stl/css :variant-error-darken)}]
|
||||
[:div {:class (stl/css :variant-error-highlight)}
|
||||
(tr "workspace.options.component.variant.malformed.multi")]
|
||||
(tr "workspace.options.component.variant.malformed.group.title")]
|
||||
[:button {:class (stl/css :variant-error-button)
|
||||
:on-click select-shape-with-error}
|
||||
(tr "workspace.options.component.variant.malformed.locate")]])]])))
|
||||
(tr "workspace.options.component.variant.malformed.group.locate")]])]])))
|
||||
|
|
|
@ -5312,21 +5312,33 @@ msgid "workspace.options.component.variant"
|
|||
msgstr "Variant"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:957
|
||||
msgid "workspace.options.component.variant.malformed.locate"
|
||||
msgid "workspace.options.component.variant.malformed.group.locate"
|
||||
msgstr "Locate invalid variants"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:954
|
||||
msgid "workspace.options.component.variant.malformed.multi"
|
||||
msgid "workspace.options.component.variant.malformed.group.title"
|
||||
msgstr "Some variants have invalid names"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.single"
|
||||
msgstr "This variant has an invalid name. Try using the following structure:"
|
||||
msgid "workspace.options.component.variant.malformed.single.all"
|
||||
msgstr "These variants have invalid names."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.single.one"
|
||||
msgstr "This variant has an invalid name."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.single.some"
|
||||
msgstr "Some of these variants have invalid names."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:311
|
||||
msgid "workspace.options.component.variant.malformed.structure"
|
||||
msgid "workspace.options.component.variant.malformed.structure.example"
|
||||
msgstr "[property]=[value], [property]=[value]"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.structure.title"
|
||||
msgstr "Try using the following structure:"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163
|
||||
msgid "workspace.options.constraints"
|
||||
msgstr "Constraints"
|
||||
|
|
|
@ -5337,23 +5337,33 @@ msgid "workspace.options.component.variant"
|
|||
msgstr "Variante"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:957
|
||||
msgid "workspace.options.component.variant.malformed.locate"
|
||||
msgid "workspace.options.component.variant.malformed.group.locate"
|
||||
msgstr "Localizar variantes no válidas"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:954
|
||||
msgid "workspace.options.component.variant.malformed.multi"
|
||||
msgid "workspace.options.component.variant.malformed.group.title"
|
||||
msgstr "Algunas variantes tienen nombres no válidos"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.single"
|
||||
msgstr ""
|
||||
"Esta variante tiene un nombre no válido. Prueba a utilizar la siguiente "
|
||||
"estructura:"
|
||||
msgid "workspace.options.component.variant.malformed.single.all"
|
||||
msgstr "Estas variantes tienen nombres no válidos."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.single.one"
|
||||
msgstr "Esta variante tiene un nombre no válido."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.single.some"
|
||||
msgstr "Algunas de estas variantes tienen nombres no válidos."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:311
|
||||
msgid "workspace.options.component.variant.malformed.structure"
|
||||
msgid "workspace.options.component.variant.malformed.structure.example"
|
||||
msgstr "[propiedad]=[valor], [propiedad]=[valor]"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:309
|
||||
msgid "workspace.options.component.variant.malformed.structure.title"
|
||||
msgstr "Prueba a utilizar la siguiente estructura:"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163
|
||||
msgid "workspace.options.constraints"
|
||||
msgstr "Restricciones"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue