From f44675a1e4dda9f4ba3dbb47da1ba355c3ad97a1 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 31 Aug 2021 12:09:14 +0200 Subject: [PATCH 1/6] :bug: Fix repeated fetch on file selection --- CHANGES.md | 3 ++- frontend/src/app/main/ui/dashboard/file_menu.cljs | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 398472818e..95f8c5cc32 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -21,7 +21,8 @@ - Prevent deleting or moving the drafts project [Taiga #1935](https://tree.taiga.io/project/penpot/issue/1935). - Fix problem with zoom and selection [Taiga #1919](https://tree.taiga.io/project/penpot/issue/1919) - Fix problem with borders on shape export [#1092](https://github.com/penpot/penpot/issues/1092) -- Fix thumbnail cropping issue [#Taiga 1964](https://tree.taiga.io/project/penpot/issue/1964) +- Fix thumbnail cropping issue [Taiga #1964](https://tree.taiga.io/project/penpot/issue/1964) +- Fix repeated fetch on file selection [Taiga #1933](https://tree.taiga.io/project/penpot/issue/1933) ### :arrow_up: Deps updates ### :boom: Breaking changes diff --git a/frontend/src/app/main/ui/dashboard/file_menu.cljs b/frontend/src/app/main/ui/dashboard/file_menu.cljs index 31207a0b93..265e0bc1f1 100644 --- a/frontend/src/app/main/ui/dashboard/file_menu.cljs +++ b/frontend/src/app/main/ui/dashboard/file_menu.cljs @@ -175,10 +175,12 @@ :files files})))))))] (mf/use-effect + (mf/deps show?) (fn [] - (->> (rp/query! :all-projects) - (rx/map group-by-team) - (rx/subs #(reset! teams %))))) + (when show? + (->> (rp/query! :all-projects) + (rx/map group-by-team) + (rx/subs #(reset! teams %)))))) (when current-team (let [sub-options (conj (vec (for [project current-projects] From 885d7de11b9f7554161425607e488722319f691a Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 31 Aug 2021 12:56:03 +0200 Subject: [PATCH 2/6] :bug: Fix rename typography on text options --- CHANGES.md | 1 + .../sidebar/options/menus/typography.cljs | 20 +++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 95f8c5cc32..e2ecde79c9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -23,6 +23,7 @@ - Fix problem with borders on shape export [#1092](https://github.com/penpot/penpot/issues/1092) - Fix thumbnail cropping issue [Taiga #1964](https://tree.taiga.io/project/penpot/issue/1964) - Fix repeated fetch on file selection [Taiga #1933](https://tree.taiga.io/project/penpot/issue/1933) +- Fix rename typography on text options [Taiga #1963](https://tree.taiga.io/project/penpot/issue/1963) ### :arrow_up: Deps updates ### :boom: Breaking changes diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs index b5de4b5627..45f313c735 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljs @@ -437,6 +437,8 @@ hover-detach (mf/use-state false) name-input-ref (mf/use-ref) + name-ref (mf/use-ref (:name typography)) + on-name-blur (fn [event] (let [content (dom/get-target-val event)] @@ -447,7 +449,12 @@ (fn [] (let [pparams {:project-id (:project-id file) :file-id (:id file)}] - (st/emit! (rt/nav :workspace pparams))))] + (st/emit! (rt/nav :workspace pparams)))) + + on-name-change + (mf/use-callback + (fn [event] + (mf/set-ref-val! name-ref (dom/get-target-val event))))] (mf/use-effect (mf/deps editting?) @@ -464,6 +471,14 @@ (dom/focus! node) (dom/select-text! node)))))) + (mf/use-effect + (fn [] + (fn [] + (let [content (mf/ref-val name-ref)] + ;; On destroy we check if it changed + (when (and (some? content) (not= content (:name typography))) + (on-change {:name content})))))) + [:* [:div.element-set-options-group.typography-entry {:class (when selected? "selected") @@ -536,7 +551,8 @@ {:type "text" :ref name-input-ref :default-value (cp/merge-path-item (:path typography) (:name typography)) - :on-blur on-name-blur}] + :on-blur on-name-blur + :on-change on-name-change}] [:div.element-set-actions-button {:on-click #(reset! open? false)} From 7a523a9d89a5c11b6a4264f95e1c40bb6e18fc41 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 31 Aug 2021 14:52:59 +0200 Subject: [PATCH 3/6] :bug: Fix problems with order in groups --- CHANGES.md | 1 + .../app/main/ui/workspace/sidebar/assets.cljs | 50 +++++++++++-------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e2ecde79c9..2d0b9d311d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -24,6 +24,7 @@ - Fix thumbnail cropping issue [Taiga #1964](https://tree.taiga.io/project/penpot/issue/1964) - Fix repeated fetch on file selection [Taiga #1933](https://tree.taiga.io/project/penpot/issue/1933) - Fix rename typography on text options [Taiga #1963](https://tree.taiga.io/project/penpot/issue/1963) +- Fix problems with order in groups [Taiga #1960](https://tree.taiga.io/project/penpot/issue/1960) ### :arrow_up: Deps updates ### :boom: Breaking changes diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs index 8149b52d61..92fb5c06a4 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs @@ -65,17 +65,21 @@ 'subgroup12': {'': [{asset12A}]}} 'group2': {'subgroup21': {'': [{asset21A}}}} " - [assets] - (when-not (empty? assets) - (reduce (fn [groups asset] - (let [path-vector (cp/split-path (or (:path asset) ""))] - (update-in groups (conj path-vector "") - (fn [group] - (if-not group - [asset] - (conj group asset)))))) - {} - assets))) + [assets reverse-sort?] + (letfn [(sort-key [key1 key2] + (if reverse-sort? + (compare (d/name key2) (d/name key1)) + (compare (d/name key1) (d/name key2))))] + (when-not (empty? assets) + (reduce (fn [groups asset] + (let [path-vector (cp/split-path (or (:path asset) ""))] + (update-in groups (conj path-vector "") + (fn [group] + (if-not group + [asset] + (conj group asset)))))) + (sorted-map-by sort-key) + assets)))) (defn add-group [asset group-name] @@ -337,7 +341,7 @@ :on-context-menu on-context-menu}]))])])) (mf/defc components-box - [{:keys [file-id local? components listing-thumbs? open? open-groups selected-assets + [{:keys [file-id local? components listing-thumbs? open? reverse-sort? open-groups selected-assets on-asset-click on-assets-delete on-clear-selection] :as props}] (let [state (mf/use-state {:renaming nil :component-id nil}) @@ -350,7 +354,7 @@ (seq (:colors selected-assets)) (seq (:typographies selected-assets))) - groups (group-assets components) + groups (group-assets components reverse-sort?) on-duplicate (mf/use-callback @@ -589,7 +593,7 @@ :on-context-menu on-context-menu}]))])])) (mf/defc graphics-box - [{:keys [file-id local? objects listing-thumbs? open? open-groups selected-assets + [{:keys [file-id local? objects listing-thumbs? open? open-groups selected-assets reverse-sort? on-asset-click on-assets-delete on-clear-selection] :as props}] (let [input-ref (mf/use-ref nil) state (mf/use-state {:renaming nil @@ -603,7 +607,7 @@ (seq (:colors selected-assets)) (seq (:typographies selected-assets))) - groups (group-assets objects) + groups (group-assets objects reverse-sort?) add-graphic (mf/use-callback @@ -952,7 +956,7 @@ :colors colors}]))])])) (mf/defc colors-box - [{:keys [file-id local? colors open? open-groups selected-assets + [{:keys [file-id local? colors open? open-groups selected-assets reverse-sort? on-asset-click on-assets-delete on-clear-selection] :as props}] (let [selected-colors (:colors selected-assets) multi-colors? (> (count selected-colors) 1) @@ -960,7 +964,7 @@ (seq (:graphics selected-assets)) (seq (:typographies selected-assets))) - groups (group-assets colors) + groups (group-assets colors reverse-sort?) add-color (mf/use-callback @@ -1124,7 +1128,7 @@ :on-context-menu on-context-menu}]))])])) (mf/defc typographies-box - [{:keys [file file-id local? typographies open? open-groups selected-assets + [{:keys [file file-id local? typographies open? open-groups selected-assets reverse-sort? on-asset-click on-assets-delete on-clear-selection] :as props}] (let [state (mf/use-state {:detail-open? false :id nil}) @@ -1133,7 +1137,7 @@ local (deref refs/workspace-local) - groups (group-assets typographies) + groups (group-assets typographies reverse-sort?) selected-typographies (:typographies selected-assets) multi-typographies? (> (count selected-typographies) 1) @@ -1560,8 +1564,8 @@ (tr "workspace.assets.selected-count" (i18n/c selected-count))]) [:div.listing-option-btn.first {:on-click toggle-sort} (if @reverse-sort? - i/sort-descending - i/sort-ascending)] + i/sort-ascending + i/sort-descending)] [:div.listing-option-btn {:on-click toggle-listing} (if @listing-thumbs? i/listing-enum @@ -1574,6 +1578,7 @@ :listing-thumbs? listing-thumbs? :open? (open-box? :components) :open-groups (open-groups :components) + :reverse-sort? @reverse-sort? :selected-assets @selected-assets :on-asset-click (partial on-asset-click :components) :on-assets-delete on-assets-delete @@ -1586,6 +1591,7 @@ :listing-thumbs? listing-thumbs? :open? (open-box? :graphics) :open-groups (open-groups :graphics) + :reverse-sort? @reverse-sort? :selected-assets @selected-assets :on-asset-click (partial on-asset-click :graphics) :on-assets-delete on-assets-delete @@ -1596,6 +1602,7 @@ :colors colors :open? (open-box? :colors) :open-groups (open-groups :colors) + :reverse-sort? @reverse-sort? :selected-assets @selected-assets :on-asset-click (partial on-asset-click :colors) :on-assets-delete on-assets-delete @@ -1608,6 +1615,7 @@ :typographies typographies :open? (open-box? :typographies) :open-groups (open-groups :typographies) + :reverse-sort? @reverse-sort? :selected-assets @selected-assets :on-asset-click (partial on-asset-click :typographies) :on-assets-delete on-assets-delete From bb49071088dad882268efcd64acf3af92448e7e3 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 31 Aug 2021 15:22:38 +0200 Subject: [PATCH 4/6] :bug: Fix SVG components preview --- CHANGES.md | 1 + frontend/src/app/main/exports.cljs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 2d0b9d311d..1dc1d62c6e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -25,6 +25,7 @@ - Fix repeated fetch on file selection [Taiga #1933](https://tree.taiga.io/project/penpot/issue/1933) - Fix rename typography on text options [Taiga #1963](https://tree.taiga.io/project/penpot/issue/1963) - Fix problems with order in groups [Taiga #1960](https://tree.taiga.io/project/penpot/issue/1960) +- Fix SVG components preview [#1134](https://github.com/penpot/penpot/issues/1134) ### :arrow_up: Deps updates ### :boom: Breaking changes diff --git a/frontend/src/app/main/exports.cljs b/frontend/src/app/main/exports.cljs index 487541976e..5c0217152d 100644 --- a/frontend/src/app/main/exports.cljs +++ b/frontend/src/app/main/exports.cljs @@ -256,7 +256,8 @@ :xmlns "http://www.w3.org/2000/svg" :xmlnsXlink "http://www.w3.org/1999/xlink" :xmlns:penpot (when include-metadata? "https://penpot.app/xmlns")} - [:& wrapper {:shape group :view-box vbox}]])) + [:> shape-container {:shape group} + [:& wrapper {:shape group :view-box vbox}]]])) (mf/defc component-symbol [{:keys [id data] :as props}] From c8c43de510228a0582ec05c918d4d4549d9525fa Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 31 Aug 2021 15:52:39 +0200 Subject: [PATCH 5/6] :bug: Fix group renaming problem --- CHANGES.md | 1 + frontend/src/app/main/ui/workspace/sidebar/assets.cljs | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 1dc1d62c6e..f5ba977c70 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -26,6 +26,7 @@ - Fix rename typography on text options [Taiga #1963](https://tree.taiga.io/project/penpot/issue/1963) - Fix problems with order in groups [Taiga #1960](https://tree.taiga.io/project/penpot/issue/1960) - Fix SVG components preview [#1134](https://github.com/penpot/penpot/issues/1134) +- Fix group renaming problem [Taiga #1969](https://tree.taiga.io/project/penpot/issue/1969) ### :arrow_up: Deps updates ### :boom: Breaking changes diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs index 92fb5c06a4..dfe983c71a 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs @@ -941,6 +941,7 @@ (when-not (empty? path-item) [:& colors-group {:file-id file-id :prefix (cp/merge-path-item prefix path-item) + :key (str "group-" path-item) :groups content :open-groups open-groups :local? local? From bd52a7c9263670a2e6ec41429278d4492efd1704 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 31 Aug 2021 16:10:42 +0200 Subject: [PATCH 6/6] :bug: Fix minor visual issue --- .../resources/styles/main/partials/modal.scss | 4 ++++ .../app/main/ui/settings/change_email.cljs | 21 ++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/frontend/resources/styles/main/partials/modal.scss b/frontend/resources/styles/main/partials/modal.scss index b6e34844ee..8ee499756e 100644 --- a/frontend/resources/styles/main/partials/modal.scss +++ b/frontend/resources/styles/main/partials/modal.scss @@ -154,6 +154,10 @@ .modal-footer .action-buttons { justify-content: space-around; } + + .fields-container { + margin-top: 1rem; + } } .confirm-dialog { diff --git a/frontend/src/app/main/ui/settings/change_email.cljs b/frontend/src/app/main/ui/settings/change_email.cljs index b0fe3b44c0..7c538fbffa 100644 --- a/frontend/src/app/main/ui/settings/change_email.cljs +++ b/frontend/src/app/main/ui/settings/change_email.cljs @@ -95,16 +95,17 @@ {:type :info :content (tr "modals.change-email.info" (:email profile))}] - [:div.fields-row - [:& fm/input {:type "email" - :name :email-1 - :label (tr "modals.change-email.new-email") - :trim true}]] - [:div.fields-row - [:& fm/input {:type "email" - :name :email-2 - :label (tr "modals.change-email.confirm-email") - :trim true}]]] + [:div.fields-container + [:div.fields-row + [:& fm/input {:type "email" + :name :email-1 + :label (tr "modals.change-email.new-email") + :trim true}]] + [:div.fields-row + [:& fm/input {:type "email" + :name :email-2 + :label (tr "modals.change-email.confirm-email") + :trim true}]]]] [:div.modal-footer [:div.action-buttons