From 0c586551c4810085aeb466a53c873755d2e8b5ad Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Wed, 20 Nov 2024 15:12:54 +0100 Subject: [PATCH 1/9] =?UTF-8?q?:tada:=20Add=20A/B=20test=20of=20use=20of?= =?UTF-8?q?=20boards=20if=20we=20just=20change=20the=20icon=20for=20?= =?UTF-8?q?=E2=80=9Cstandard=E2=80=9D=20one?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/resources/images/icons/board-2.svg | 3 +++ frontend/src/app/main/ui/components/shape_icon.cljs | 5 +++-- frontend/src/app/main/ui/icons.cljs | 1 + frontend/src/app/main/ui/workspace/sidebar/history.cljs | 3 ++- frontend/src/app/main/ui/workspace/sidebar/layers.cljs | 3 ++- frontend/src/app/main/ui/workspace/top_toolbar.cljs | 3 ++- 6 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 frontend/resources/images/icons/board-2.svg diff --git a/frontend/resources/images/icons/board-2.svg b/frontend/resources/images/icons/board-2.svg new file mode 100644 index 000000000..70a44ea15 --- /dev/null +++ b/frontend/resources/images/icons/board-2.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/main/ui/components/shape_icon.cljs b/frontend/src/app/main/ui/components/shape_icon.cljs index 060213681..86ce8f3bf 100644 --- a/frontend/src/app/main/ui/components/shape_icon.cljs +++ b/frontend/src/app/main/ui/components/shape_icon.cljs @@ -9,6 +9,7 @@ [app.common.types.component :as ctk] [app.common.types.shape :as cts] [app.common.types.shape.layout :as ctl] + [app.config :as cf] [app.main.ui.icons :as i] [rumext.v2 :as mf])) @@ -31,7 +32,7 @@ i/flex-grid :else - i/board) + (if (cf/external-feature-flag "boards-01" "test") i/board-2 i/board)) ;; TODO -> THUMBNAIL ICON :image i/img :line (if (cts/has-images? shape) i/img i/path) @@ -56,7 +57,7 @@ (if main-instance? i/component (case type - :frame i/board + :frame (if (cf/external-feature-flag "boards-01" "test") i/board-2 i/board) :image i/img :shape i/path :text i/text diff --git a/frontend/src/app/main/ui/icons.cljs b/frontend/src/app/main/ui/icons.cljs index c73c7d1bd..29b057557 100644 --- a/frontend/src/app/main/ui/icons.cljs +++ b/frontend/src/app/main/ui/icons.cljs @@ -63,6 +63,7 @@ (def ^:icon arrow (icon-xref :arrow)) (def ^:icon asc-sort (icon-xref :asc-sort)) (def ^:icon board (icon-xref :board)) +(def ^:icon board-2 (icon-xref :board-2)) (def ^:icon boards-thumbnail (icon-xref :boards-thumbnail)) (def ^:icon boolean-difference (icon-xref :boolean-difference)) (def ^:icon boolean-exclude (icon-xref :boolean-exclude)) diff --git a/frontend/src/app/main/ui/workspace/sidebar/history.cljs b/frontend/src/app/main/ui/workspace/sidebar/history.cljs index 618e397b0..753c99c3c 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/history.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/history.cljs @@ -9,6 +9,7 @@ (:require [app.common.data :as d] [app.common.data.macros :as dm] + [app.config :as cf] [app.main.data.workspace.undo :as dwu] [app.main.refs :as refs] [app.main.store :as st] @@ -154,7 +155,7 @@ :circle i/elipse :text i/text :path i/path - :frame i/board + :frame (if (cf/external-feature-flag "boards-01" "test") i/board-2 i/board) :group i/group :color i/drop-icon :typography i/text-palette diff --git a/frontend/src/app/main/ui/workspace/sidebar/layers.cljs b/frontend/src/app/main/ui/workspace/sidebar/layers.cljs index 88f3c4601..9dd8d234a 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layers.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/layers.cljs @@ -12,6 +12,7 @@ [app.common.files.helpers :as cfh] [app.common.types.shape :as cts] [app.common.uuid :as uuid] + [app.config :as cf] [app.main.data.workspace :as dw] [app.main.refs :as refs] [app.main.store :as st] @@ -335,7 +336,7 @@ :on-click add-filter} [:div {:class (stl/css :filter-menu-item-name-wrapper)} [:span {:class (stl/css :filter-menu-item-icon)} - i/board] + (if (cf/external-feature-flag "boards-01" "test") i/board-2 i/board)] [:span {:class (stl/css :filter-menu-item-name)} (tr "workspace.sidebar.layers.frames")]] diff --git a/frontend/src/app/main/ui/workspace/top_toolbar.cljs b/frontend/src/app/main/ui/workspace/top_toolbar.cljs index fb9f3473c..eb19fc6f7 100644 --- a/frontend/src/app/main/ui/workspace/top_toolbar.cljs +++ b/frontend/src/app/main/ui/workspace/top_toolbar.cljs @@ -10,6 +10,7 @@ [app.common.data.macros :as dm] [app.common.geom.point :as gpt] [app.common.media :as cm] + [app.config :as cf] [app.main.data.events :as ev] [app.main.data.modal :as modal] [app.main.data.workspace :as dw] @@ -146,7 +147,7 @@ :on-click select-drawtool :data-tool "frame" :data-testid "artboard-btn"} - i/board]] + (if (cf/external-feature-flag "boards-01" "test") i/board-2 i/board)]] [:li [:button {:title (tr "workspace.toolbar.rect" (sc/get-tooltip :draw-rect)) From 2164593757bcc9e2d1c89ce4509d88fdd9bd24c6 Mon Sep 17 00:00:00 2001 From: AzazelN28 Date: Fri, 22 Nov 2024 14:47:43 +0100 Subject: [PATCH 2/9] :bug: Fix assets filters --- frontend/src/app/main/ui/workspace/sidebar/assets.cljs | 10 +++++----- .../main/ui/workspace/sidebar/assets/file_library.cljs | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs index 460a395de..6c4d03a07 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs @@ -133,23 +133,23 @@ options [{:name (tr "workspace.assets.box-filter-all") - :id "section-all" + :id "all" :handler on-section-filter-change} {:name (tr "workspace.assets.components") - :id "section-components" + :id "components" :handler on-section-filter-change} (when (not components-v2) {:name (tr "workspace.assets.graphics") - :id "section-graphics" + :id "graphics" :handler on-section-filter-change}) {:name (tr "workspace.assets.colors") - :id "section-colors" + :id "colors" :handler on-section-filter-change} {:name (tr "workspace.assets.typography") - :id "section-typographies" + :id "typographies" :handler on-section-filter-change}]] [:article {:class (stl/css :assets-bar)} diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs index b255013aa..052a7bbe5 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs @@ -74,14 +74,13 @@ (mf/defc file-library-content {::mf/wrap-props false} - [{:keys [file local? open-status-ref on-clear-selection]}] + [{:keys [file local? open-status-ref on-clear-selection filters]}] (let [components-v2 (mf/use-ctx ctx/components-v2) open-status (mf/deref open-status-ref) file-id (:id file) project-id (:project-id file) - filters (mf/use-ctx cmm/assets-filters) filters-section (:section filters) filters-term (:term filters) From c1d3e4cd6e646b69819b1aa08bba617c1a6139bc Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Fri, 22 Nov 2024 15:31:06 +0100 Subject: [PATCH 3/9] :bug: Fix problem with scroll in history versions --- frontend/src/app/main/ui/workspace/sidebar.cljs | 14 +++++--------- frontend/src/app/main/ui/workspace/sidebar.scss | 1 + .../app/main/ui/workspace/sidebar/versions.scss | 6 ++++++ frontend/translations/en.po | 6 ++++++ frontend/translations/es.po | 6 ++++++ 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/sidebar.cljs b/frontend/src/app/main/ui/workspace/sidebar.cljs index 6886108a0..cc9a9c550 100644 --- a/frontend/src/app/main/ui/workspace/sidebar.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar.cljs @@ -237,15 +237,11 @@ [:& comments-sidebar] (true? is-history?) - [:> tab-switcher* {:tabs #js [#js {:label "History" :id "history" :content versions-tab} - #js {:label "Actions" :id "actions" :content history-tab}] - :default-selected "history" - ;;:selected (name section) - ;;:on-change-tab on-tab-change - :class (stl/css :left-sidebar-tabs) - ;;:action-button-position "start" - ;;:action-button (mf/html [:& collapse-button {:on-click handle-collapse}]) - }] + [:> tab-switcher* + {:tabs #js [#js {:label (tr "workspace.versions.tab.history") :id "history" :content versions-tab} + #js {:label (tr "workspace.versions.tab.actions") :id "actions" :content history-tab}] + :default-selected "history" + :class (stl/css :left-sidebar-tabs)}] :else [:> options-toolbox props])]]])) diff --git a/frontend/src/app/main/ui/workspace/sidebar.scss b/frontend/src/app/main/ui/workspace/sidebar.scss index 64ca985a4..d4d606d12 100644 --- a/frontend/src/app/main/ui/workspace/sidebar.scss +++ b/frontend/src/app/main/ui/workspace/sidebar.scss @@ -113,4 +113,5 @@ $width-settings-bar-max: $s-500; .versions-tab { width: 100%; overflow: hidden; + height: calc(100vh - $s-88); } diff --git a/frontend/src/app/main/ui/workspace/sidebar/versions.scss b/frontend/src/app/main/ui/workspace/sidebar/versions.scss index 703f8d3be..a924ae31d 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/versions.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/versions.scss @@ -8,6 +8,10 @@ .version-toolbox { padding: $s-8; + height: 100%; + display: grid; + overflow: hidden; + grid-template-rows: auto auto 1fr; } .versions-entry-empty { @@ -49,6 +53,8 @@ display: flex; flex-direction: column; gap: $s-6; + overflow: auto; + margin: 0; } .version-entry { diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 3b7441229..df8d57bbc 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -6565,3 +6565,9 @@ msgstr "Open version menu" #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Click to close the path" + +msgid "workspace.versions.tab.history" +msgstr "History" + +msgid "workspace.versions.tab.actions" +msgstr "Actions" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 0c09c0a44..703c7636f 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -6560,3 +6560,9 @@ msgstr "Abrir menu de versiones" #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Pulsar para cerrar la ruta" + +msgid "workspace.versions.tab.history" +msgstr "Histórico" + +msgid "workspace.versions.tab.actions" +msgstr "Acciones" From d22f6e37c9dcae7d1ab19d3580b722787338fed7 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Fri, 22 Nov 2024 15:47:19 +0100 Subject: [PATCH 4/9] :sparkles: Add pin version to main menu --- .../src/app/main/ui/workspace/main_menu.cljs | 25 +++++++++++++++++++ .../src/app/main/ui/workspace/main_menu.scss | 7 ++++-- frontend/translations/en.po | 3 +++ frontend/translations/es.po | 3 +++ 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/main_menu.cljs b/frontend/src/app/main/ui/workspace/main_menu.cljs index 6d01606fc..f002f90a2 100644 --- a/frontend/src/app/main/ui/workspace/main_menu.cljs +++ b/frontend/src/app/main/ui/workspace/main_menu.cljs @@ -24,6 +24,7 @@ [app.main.data.workspace.libraries :as dwl] [app.main.data.workspace.shortcuts :as sc] [app.main.data.workspace.undo :as dwu] + [app.main.data.workspace.versions :as dwv] [app.main.features :as features] [app.main.refs :as refs] [app.main.store :as st] @@ -537,6 +538,19 @@ (when (kbd/enter? event) (on-show-version-history event)))) + on-pin-version + (mf/use-fn + (mf/deps file-id) + (fn [_] + (st/emit! (dwv/create-version file-id)))) + + on-pin-version-key-down + (mf/use-fn + (mf/deps on-pin-version) + (fn [event] + (when (kbd/enter? event) + (on-pin-version event)))) + on-export-shapes (mf/use-fn #(st/emit! (de/show-workspace-export-dialog {:origin "workspace:menu"}))) @@ -599,6 +613,15 @@ [:span {:class (stl/css :item-name)} (tr "dashboard.add-shared")]])) + [:div {:class (stl/css :separator)}] + + [:> dropdown-menu-item* {:class (stl/css :submenu-item) + :on-click on-pin-version + :on-key-down on-pin-version-key-down + :id "file-menu-show-version-history"} + [:span {:class (stl/css :item-name)} + (tr "dashboard.create-version-menu")]] + [:> dropdown-menu-item* {:class (stl/css :submenu-item) :on-click on-show-version-history :on-key-down on-show-version-history-key-down @@ -606,6 +629,8 @@ [:span {:class (stl/css :item-name)} (tr "dashboard.show-version-history")]] + [:div {:class (stl/css :separator)}] + [:> dropdown-menu-item* {:class (stl/css :submenu-item) :on-click on-export-shapes :on-key-down on-export-shapes-key-down diff --git a/frontend/src/app/main/ui/workspace/main_menu.scss b/frontend/src/app/main/ui/workspace/main_menu.scss index 5ffd8efaa..7afcba4f8 100644 --- a/frontend/src/app/main/ui/workspace/main_menu.scss +++ b/frontend/src/app/main/ui/workspace/main_menu.scss @@ -43,9 +43,12 @@ } .separator { - margin-top: $s-8; + border-top: $s-1 solid var(--color-background-quaternary); height: $s-4; - border-top: $s-1 solid var(--color-background-secondary); + left: calc(-1 * $s-4); + margin-top: $s-8; + position: relative; + width: calc(100% + $s-8); } .shortcut { diff --git a/frontend/translations/en.po b/frontend/translations/en.po index df8d57bbc..62f00de6b 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -400,6 +400,9 @@ msgstr "Add as Shared Library" msgid "dashboard.show-version-history" msgstr "Version history" +msgid "dashboard.create-version-menu" +msgstr "Pin this version" + #: src/app/main/ui/settings/profile.cljs:72 msgid "dashboard.change-email" msgstr "Change email" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 703c7636f..1c904b1b1 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -402,6 +402,9 @@ msgstr "Añadir como Biblioteca Compartida" msgid "dashboard.show-version-history" msgstr "Histórico de versiones" +msgid "dashboard.create-version-menu" +msgstr "Guardar esta versión" + #: src/app/main/ui/settings/profile.cljs:72 msgid "dashboard.change-email" msgstr "Cambiar correo" From 9b71e04e1cffc19e40043a8db37a8dbc9a019046 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 25 Nov 2024 09:28:06 +0100 Subject: [PATCH 5/9] :bug: Fix exception on user-feedback rpc method And normalizes configuration parameters --- backend/src/app/email.clj | 14 ++++++-------- backend/src/app/rpc/commands/feedback.clj | 12 +++++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/backend/src/app/email.clj b/backend/src/app/email.clj index a8ee40c4d..5bcf741f1 100644 --- a/backend/src/app/email.clj +++ b/backend/src/app/email.clj @@ -226,8 +226,8 @@ [:priority {:optional true} [:enum :high :low]] [:extra-data {:optional true} ::sm/text]]) -(def ^:private valid-context? - (sm/validator schema:context)) +(def ^:private check-context + (sm/check-fn schema:context)) (defn template-factory [& {:keys [id schema]}] @@ -236,10 +236,8 @@ (sm/check-fn schema) (constantly nil))] (fn [context] - (assert (valid-context? context) "expected a valid context") - (check-fn context) - - (let [email (build-email-template id context)] + (let [context (-> context check-context check-fn) + email (build-email-template id context)] (when-not email (ex/raise :type :internal :code :email-template-does-not-exists @@ -271,7 +269,7 @@ "Schedule an already defined email to be sent using asynchronously using worker task." [{:keys [::conn ::factory] :as context}] - (assert (db/connection? conn) "expected a valid database connection") + (assert (db/connectable? conn) "expected a valid database connection or pool") (let [email (if factory (factory context) @@ -348,7 +346,7 @@ [:subject ::sm/text] [:content ::sm/text]]) -(def feedback +(def user-feedback "A profile feedback email." (template-factory :id ::feedback diff --git a/backend/src/app/rpc/commands/feedback.clj b/backend/src/app/rpc/commands/feedback.clj index c641a4ff4..e3525ded4 100644 --- a/backend/src/app/rpc/commands/feedback.clj +++ b/backend/src/app/rpc/commands/feedback.clj @@ -17,7 +17,7 @@ [app.rpc.doc :as-alias doc] [app.util.services :as sv])) -(declare ^:private send-feedback!) +(declare ^:private send-user-feedback!) (def ^:private schema:send-user-feedback [:map {:title "send-user-feedback"} @@ -34,14 +34,16 @@ :hint "feedback not enabled")) (let [profile (profile/get-profile pool profile-id)] - (send-feedback! pool profile params) + (send-user-feedback! pool profile params) nil)) -(defn- send-feedback! +(defn- send-user-feedback! [pool profile params] - (let [dest (cf/get :feedback-destination)] + (let [dest (or (cf/get :user-feedback-destination) + ;; LEGACY + (cf/get :feedback-destination))] (eml/send! {::eml/conn pool - ::eml/factory eml/feedback + ::eml/factory eml/user-feedback :from dest :to dest :profile profile From 3ddd45e99b908debba555ca24f85b935627d7209 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 25 Nov 2024 09:53:49 +0100 Subject: [PATCH 6/9] :bug: Fix incorrect internal form initialization --- frontend/src/app/main/ui/dashboard/team_form.cljs | 4 +++- frontend/src/app/util/forms.cljs | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/main/ui/dashboard/team_form.cljs b/frontend/src/app/main/ui/dashboard/team_form.cljs index cf8796b75..631b17556 100644 --- a/frontend/src/app/main/ui/dashboard/team_form.cljs +++ b/frontend/src/app/main/ui/dashboard/team_form.cljs @@ -73,7 +73,9 @@ {::mf/register modal/components ::mf/register-as :team-form} [{:keys [team] :as props}] - (let [initial (mf/use-memo (fn [] (or team {}))) + (let [initial (mf/use-memo (fn [] + (or (some-> team (select-keys [:name :id])) + {}))) form (fm/use-form :schema schema:team-form :initial initial) handle-keydown diff --git a/frontend/src/app/util/forms.cljs b/frontend/src/app/util/forms.cljs index e5b710aba..f628b06b2 100644 --- a/frontend/src/app/util/forms.cljs +++ b/frontend/src/app/util/forms.cljs @@ -148,9 +148,7 @@ (mf/set-ref-val! internal-state initial)) (mf/with-effect [initial] - (if (fn? initial) - (swap! form-mutator update :data merge (initial)) - (swap! form-mutator update :data merge initial))) + (swap! form-mutator d/deep-merge initial)) form-mutator)) From 660bc1a4dd5fe9ad79b48be6a4d54ca971d85120 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 25 Nov 2024 09:55:40 +0100 Subject: [PATCH 7/9] :bug: Fix incorrect team rename operation --- frontend/src/app/main/data/dashboard.cljs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/data/dashboard.cljs b/frontend/src/app/main/data/dashboard.cljs index e4530c9f9..404fb8bf0 100644 --- a/frontend/src/app/main/data/dashboard.cljs +++ b/frontend/src/app/main/data/dashboard.cljs @@ -450,7 +450,9 @@ (ptk/reify ::update-team ptk/UpdateEvent (update [_ state] - (assoc-in state [:teams id :name] name)) + (-> state + (assoc-in [:teams id :name] name) + (assoc-in [:team :name] name))) ptk/WatchEvent (watch [_ _ _] From ee1230c4880e7dce86cecb4651cddccef328fb79 Mon Sep 17 00:00:00 2001 From: Elhombretecla Date: Wed, 20 Nov 2024 15:06:40 +0100 Subject: [PATCH 8/9] :bug: Fix release 2.3 onboarding text typos --- frontend/src/app/main/ui/releases/v2_3.cljs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/main/ui/releases/v2_3.cljs b/frontend/src/app/main/ui/releases/v2_3.cljs index 4d3789a10..8b3040b8f 100644 --- a/frontend/src/app/main/ui/releases/v2_3.cljs +++ b/frontend/src/app/main/ui/releases/v2_3.cljs @@ -41,7 +41,7 @@ "The introduction of our brand new Plugin system allows you to access even richer ecosystem of capabilities."] [:p {:class (stl/css :feature-content)} - "We are beyond excitement about how this will further involve the Penpot community in building the best design and prototyping platform."] + "We are beyond excited about how this will further involve the Penpot community in building the best design and prototyping platform."] [:p {:class (stl/css :feature-content)} "Let’s dive in!"]] @@ -69,7 +69,7 @@ "Penpot Plugins encourage developers to easily customize and expand the platform using standard web technologies like JavaScript, CSS, and HTML."] [:p {:class (stl/css :feature-content)} - "Find everything you need in ouor full comprehensive documentation to start building your plugins now!"]] + "Find everything you need in our full comprehensive documentation to start building your plugins now!"]] [:div {:class (stl/css :navigation)} [:& c/navigation-bullets @@ -101,7 +101,7 @@ "Be sure to keep an eye on our evolving " [:a {:href "https://penpot.app/penpothub" :target "_blank"} "Penpot Hub"] " to pick the ones that are best suited to enhance your workflow."] [:p {:class (stl/css :feature-content)} - "This is just the beginning of a myriad of possibilities. Let’s build this community together <3."]] + "This is just the beginning of a myriad of possibilities. Let’s build this community together ❤️."]] [:div {:class (stl/css :navigation)} From f10792619df6304897bf787978e051191b167c7f Mon Sep 17 00:00:00 2001 From: AzazelN28 Date: Fri, 22 Nov 2024 13:10:05 +0100 Subject: [PATCH 9/9] :bug: Fix component list jumps --- frontend/src/app/main/render.cljs | 15 ++++++++------- .../main/ui/workspace/sidebar/assets/common.cljs | 8 +++++--- .../ui/workspace/sidebar/assets/components.cljs | 14 +++++++------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/frontend/src/app/main/render.cljs b/frontend/src/app/main/render.cljs index d58ce0fe9..6ee64dc01 100644 --- a/frontend/src/app/main/render.cljs +++ b/frontend/src/app/main/render.cljs @@ -338,7 +338,7 @@ ;; used to render thumbnails on assets panel. (mf/defc component-svg {::mf/wrap [mf/memo #(mf/deferred % ts/idle-then-raf)]} - [{:keys [objects root-shape show-grids? zoom class] :or {zoom 1} :as props}] + [{:keys [objects root-shape show-grids? is-hidden zoom class] :or {zoom 1} :as props}] (when root-shape (let [root-shape-id (:id root-shape) include-metadata (mf/use-ctx export/include-metadata-ctx) @@ -381,13 +381,14 @@ :xmlns:penpot (when include-metadata "https://penpot.app/xmlns") :fill "none"} - [:* - [:> shape-container {:shape root-shape'} - [:& (mf/provider muc/is-component?) {:value true} - [:& root-shape-wrapper {:shape root-shape' :view-box vbox}]]] + (when-not is-hidden + [:* + [:> shape-container {:shape root-shape'} + [:& (mf/provider muc/is-component?) {:value true} + [:& root-shape-wrapper {:shape root-shape' :view-box vbox}]]] - (when show-grids? - [:& empty-grids {:root-shape-id root-shape-id :objects objects}])]]))) + (when show-grids? + [:& empty-grids {:root-shape-id root-shape-id :objects objects}])])]))) (mf/defc component-svg-thumbnail {::mf/wrap [mf/memo #(mf/deferred % ts/idle-then-raf)]} diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs index b8bf2959f..e64313bbf 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs @@ -270,7 +270,7 @@ (mf/defc component-item-thumbnail "Component that renders the thumbnail image or the original SVG." {::mf/props :obj} - [{:keys [file-id root-shape component container class]}] + [{:keys [file-id root-shape component container class is-hidden]}] (let [page-id (:main-instance-page component) root-id (:main-instance-id component) retry (mf/use-state 0) @@ -290,7 +290,8 @@ (when (< @retry 3) (inc retry))))] - (if (and (some? thumbnail-uri) (contains? cf/flags :component-thumbnails)) + (if (and (some? thumbnail-uri) + (contains? cf/flags :component-thumbnails)) [:& component-svg-thumbnail {:thumbnail-uri thumbnail-uri :class class @@ -303,7 +304,8 @@ {:root-shape root-shape :class class :objects (:objects container) - :show-grids? true}]))) + :show-grids? true + :is-hidden is-hidden}]))) (defn generate-components-menu-entries [shapes components-v2] diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs index 8efffa844..77974c20a 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs @@ -171,13 +171,13 @@ (when ^boolean dragging? [:div {:class (stl/css :dragging)}])] - (when visible? - [:& cmm/component-item-thumbnail {:file-id file-id - :class (stl/css-case :thumbnail true - :asset-list-thumbnail (not listing-thumbs?)) - :root-shape root-shape - :component component - :container container}])])])) + [:& cmm/component-item-thumbnail {:file-id file-id + :class (stl/css-case :thumbnail true + :asset-list-thumbnail (not listing-thumbs?)) + :root-shape root-shape + :component component + :container container + :is-hidden (not visible?)}]])])) (mf/defc components-group {::mf/wrap-props false}