From 4d70d3b90954092d2c8fb4095cafce9f2f122e00 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Fri, 24 Mar 2023 16:53:36 +0100 Subject: [PATCH 01/50] :bug: Bad padding gui on nil sizing --- frontend/src/app/main/ui/measurements.cljs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/main/ui/measurements.cljs b/frontend/src/app/main/ui/measurements.cljs index 4b868473a..d6bf5244d 100644 --- a/frontend/src/app/main/ui/measurements.cljs +++ b/frontend/src/app/main/ui/measurements.cljs @@ -390,8 +390,8 @@ :p3 (if (:flip-y frame) true false) :p4 (if (:flip-x frame) true false)} negate (cond-> negate - (= :fix (:layout-item-h-sizing frame)) (assoc :p2 (not (:p2 negate))) - (= :fix (:layout-item-v-sizing frame)) (assoc :p3 (not (:p3 negate)))) + (not= :auto (:layout-item-h-sizing frame)) (assoc :p2 (not (:p2 negate))) + (not= :auto (:layout-item-v-sizing frame)) (assoc :p3 (not (:p3 negate)))) padding-rect-data {:p1 {:key (str frame-id "-p1") :x x1 From caf462e9b88af7ac47903208e31f445d83401a59 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Fri, 24 Mar 2023 17:23:11 +0100 Subject: [PATCH 02/50] :bug: Fix padding prediction does not work with one shape --- .../app/main/data/workspace/shape_layout.cljs | 77 +++++++++---------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/frontend/src/app/main/data/workspace/shape_layout.cljs b/frontend/src/app/main/data/workspace/shape_layout.cljs index 5c75b5bbd..eb552622e 100644 --- a/frontend/src/app/main/data/workspace/shape_layout.cljs +++ b/frontend/src/app/main/data/workspace/shape_layout.cljs @@ -143,17 +143,16 @@ (/ (- (- max-y min-y) all-height) (dec (count shapes))) 0) - layout-gap {:row-gap row-gap :column-gap column-gap} + layout-gap {:row-gap (max row-gap 0) :column-gap (max column-gap 0)} parent-selrect (:selrect parent) - padding (when (and (not (nil? parent)) (> (count shapes) 1)) + padding (when (and (not (nil? parent)) (> (count shapes) 0)) {:p1 (min (- min-y (:y1 parent-selrect)) (- (:y2 parent-selrect) max-y)) :p2 (min (- min-x (:x1 parent-selrect)) (- (:x2 parent-selrect) max-x))})] (cond-> {:layout-flex-dir direction} - (not (nil? padding)) (assoc :layout-padding {:p1 (:p1 padding) :p2 (:p2 padding) :p3 (:p1 padding) :p4 (:p2 padding)} - :layout-align-items :center - :layout-gap layout-gap))))) + (not (nil? padding)) (assoc :layout-padding {:p1 (:p1 padding) :p2 (:p2 padding) :p3 (:p1 padding) :p4 (:p2 padding)}) + (not (nil? layout-gap)) (assoc :layout-gap layout-gap))))) (defn shapes->grid-params "Given the shapes calculate its flex parameters (horizontal vs vertical, gaps, etc)" @@ -361,46 +360,46 @@ (dwu/commit-undo-transaction undo-id)))))) #_(defn update-grid-cells - [parent objects] - (let [children (cph/get-immediate-children objects (:id parent)) - layout-grid-rows (:layout-grid-rows parent) - layout-grid-columns (:layout-grid-columns parent) - num-rows (count layout-grid-columns) - num-columns (count layout-grid-columns) - layout-grid-cells (:layout-grid-cells parent) + [parent objects] + (let [children (cph/get-immediate-children objects (:id parent)) + layout-grid-rows (:layout-grid-rows parent) + layout-grid-columns (:layout-grid-columns parent) + num-rows (count layout-grid-columns) + num-columns (count layout-grid-columns) + layout-grid-cells (:layout-grid-cells parent) - allocated-shapes - (into #{} (mapcat :shapes) (:layout-grid-cells parent)) + allocated-shapes + (into #{} (mapcat :shapes) (:layout-grid-cells parent)) - no-cell-shapes - (->> children (:shapes parent) (remove allocated-shapes)) + no-cell-shapes + (->> children (:shapes parent) (remove allocated-shapes)) - layout-grid-cells - (for [[row-idx row] (d/enumerate layout-grid-rows) - [col-idx col] (d/enumerate layout-grid-columns)] + layout-grid-cells + (for [[row-idx row] (d/enumerate layout-grid-rows) + [col-idx col] (d/enumerate layout-grid-columns)] - (let [shape (nth children (+ (* row-idx num-columns) col-idx) nil) - cell-data {:id (uuid/next) - :row (inc row-idx) - :column (inc col-idx) - :row-span 1 - :col-span 1 - :shapes (when shape [(:id shape)])}] - [(:id cell-data) cell-data]))] - (assoc parent :layout-grid-cells (into {} layout-grid-cells)))) + (let [shape (nth children (+ (* row-idx num-columns) col-idx) nil) + cell-data {:id (uuid/next) + :row (inc row-idx) + :column (inc col-idx) + :row-span 1 + :col-span 1 + :shapes (when shape [(:id shape)])}] + [(:id cell-data) cell-data]))] + (assoc parent :layout-grid-cells (into {} layout-grid-cells)))) #_(defn check-grid-cells-update - [ids] - (ptk/reify ::check-grid-cells-update - ptk/WatchEvent - (watch [_ state _] - (let [objects (wsh/lookup-page-objects state) - undo-id (js/Symbol)] - (rx/of (dwc/update-shapes - ids - (fn [shape] - (-> shape - (update-grid-cells objects))))))))) + [ids] + (ptk/reify ::check-grid-cells-update + ptk/WatchEvent + (watch [_ state _] + (let [objects (wsh/lookup-page-objects state) + undo-id (js/Symbol)] + (rx/of (dwc/update-shapes + ids + (fn [shape] + (-> shape + (update-grid-cells objects))))))))) (defn add-layout-track [ids type value] From eeb76b1e50a38c11905a79bcb56852ff74f67547 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Fri, 24 Mar 2023 17:32:00 +0100 Subject: [PATCH 03/50] :bug: Fix during scale paddings glow --- frontend/src/app/main/ui/workspace/viewport.cljs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/viewport.cljs b/frontend/src/app/main/ui/workspace/viewport.cljs index 3bbd9bd1c..dc10c4f7f 100644 --- a/frontend/src/app/main/ui/workspace/viewport.cljs +++ b/frontend/src/app/main/ui/workspace/viewport.cljs @@ -222,12 +222,14 @@ disabled-guides? (or drawing-tool transform) - show-padding? (and (= (count selected-shapes) 1) + show-padding? (and (nil? transform) + (= (count selected-shapes) 1) (= (:type (first selected-shapes)) :frame) (= (:layout (first selected-shapes)) :flex)) - show-margin? (and (= (count selected-shapes) 1) + show-margin? (and (nil? transform) + (= (count selected-shapes) 1) (= (:layout selected-frame) :flex))] (hooks/setup-dom-events zoom disable-paste in-viewport? workspace-read-only?) From c3c41c5b7dc49b49d73033bf362beb0e96630ff7 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Fri, 24 Mar 2023 17:40:42 +0100 Subject: [PATCH 04/50] :bug: Fix rotate board breaks paddings --- frontend/src/app/main/data/workspace/shape_layout.cljs | 6 +++--- frontend/src/app/main/ui/workspace/viewport.cljs | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/main/data/workspace/shape_layout.cljs b/frontend/src/app/main/data/workspace/shape_layout.cljs index eb552622e..fe798b11f 100644 --- a/frontend/src/app/main/data/workspace/shape_layout.cljs +++ b/frontend/src/app/main/data/workspace/shape_layout.cljs @@ -150,9 +150,9 @@ {:p1 (min (- min-y (:y1 parent-selrect)) (- (:y2 parent-selrect) max-y)) :p2 (min (- min-x (:x1 parent-selrect)) (- (:x2 parent-selrect) max-x))})] - (cond-> {:layout-flex-dir direction} - (not (nil? padding)) (assoc :layout-padding {:p1 (:p1 padding) :p2 (:p2 padding) :p3 (:p1 padding) :p4 (:p2 padding)}) - (not (nil? layout-gap)) (assoc :layout-gap layout-gap))))) + (cond-> {:layout-flex-dir direction :layout-gap layout-gap} + (not (nil? padding)) + (assoc :layout-padding {:p1 (:p1 padding) :p2 (:p2 padding) :p3 (:p1 padding) :p4 (:p2 padding)}))))) (defn shapes->grid-params "Given the shapes calculate its flex parameters (horizontal vs vertical, gaps, etc)" diff --git a/frontend/src/app/main/ui/workspace/viewport.cljs b/frontend/src/app/main/ui/workspace/viewport.cljs index dc10c4f7f..f96c44b68 100644 --- a/frontend/src/app/main/ui/workspace/viewport.cljs +++ b/frontend/src/app/main/ui/workspace/viewport.cljs @@ -225,12 +225,14 @@ show-padding? (and (nil? transform) (= (count selected-shapes) 1) (= (:type (first selected-shapes)) :frame) - (= (:layout (first selected-shapes)) :flex)) + (= (:layout (first selected-shapes)) :flex) + (zero? (:rotation (first selected-shapes)))) show-margin? (and (nil? transform) (= (count selected-shapes) 1) - (= (:layout selected-frame) :flex))] + (= (:layout selected-frame) :flex) + (zero? (:rotation (first selected-shapes))))] (hooks/setup-dom-events zoom disable-paste in-viewport? workspace-read-only?) (hooks/setup-viewport-size vport viewport-ref) From d61c7998469dd9301df3e3b2d0e0f4e6ef657aa7 Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Mon, 27 Mar 2023 09:50:04 +0200 Subject: [PATCH 05/50] :bug: Fix padding/gap/margin remain glowing when the shape is deselected and selected again --- .../sidebar/options/menus/layout_container.cljs | 13 +++++++++++++ .../sidebar/options/menus/layout_item.cljs | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs index 512fcfb82..ac624f7b4 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs @@ -256,6 +256,12 @@ select-padding #(select-paddings (= % :p1) (= % :p2) (= % :p3) (= % :p4))] + (mf/use-effect + (fn [] + (fn [] + ;;on destroy component + (select-paddings false false false false)))) + [:div.padding-row (cond (= padding-type :simple) @@ -315,6 +321,13 @@ (let [select-gap (fn [gap] (st/emit! (udw/set-gap-selected gap)))] + + (mf/use-effect + (fn [] + (fn [] + ;;on destroy component + (select-gap nil)))) + [:div.layout-row [:div.gap.row-title "Gap"] [:div.gap-group diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs index d4595ef63..af92826ee 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs @@ -54,6 +54,12 @@ select-margin #(select-margins (= % :m1) (= % :m2) (= % :m3) (= % :m4))] + (mf/use-effect + (fn [] + (fn [] + ;;on destroy component + (select-margins false false false false)))) + [:div.margin-row (cond (= margin-type :simple) From 26aec7d129be7c03b9e437951492788ee485a17f Mon Sep 17 00:00:00 2001 From: Pablo Alba Date: Mon, 27 Mar 2023 11:28:55 +0200 Subject: [PATCH 06/50] :bug: Fix usiong padding/marging value on updating with shift --- frontend/src/app/main/ui/measurements.cljs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/main/ui/measurements.cljs b/frontend/src/app/main/ui/measurements.cljs index d6bf5244d..26fe1bb46 100644 --- a/frontend/src/app/main/ui/measurements.cljs +++ b/frontend/src/app/main/ui/measurements.cljs @@ -316,7 +316,7 @@ on-lost-pointer-capture (mf/use-callback - (mf/deps frame-id padding-num) + (mf/deps frame-id padding-num padding) (fn [event] (dom/release-pointer event) (reset! resizing? false) @@ -326,7 +326,7 @@ on-pointer-move (mf/use-callback - (mf/deps frame-id padding-num padding) + (mf/deps frame-id padding-num padding hover-all? hover-v? hover-h?) (fn [event] (let [pos (dom/get-client-position event)] (reset! mouse-pos (point->viewport pos)) @@ -486,7 +486,7 @@ on-pointer-move (mf/use-callback - (mf/deps shape-id margin-num margin) + (mf/deps shape-id margin-num margin hover-all? hover-v? hover-h?) (fn [event] (let [pos (dom/get-client-position event)] (reset! mouse-pos (point->viewport pos)) From f11c782c0fa0edb4469fe8fb7e98b683ea7f29c2 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Fri, 24 Mar 2023 15:09:40 +0100 Subject: [PATCH 07/50] :bug: Fix problem when copy/pasting shapes --- CHANGES.md | 1 + frontend/src/app/main/data/workspace.cljs | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 706c30f83..be95c060f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -54,6 +54,7 @@ - Fix problem with guides not showing when moving over nested frames [Taiga #4905](https://tree.taiga.io/project/penpot/issue/4905) - Fix change email and password for users signed in via social login [Taiga #4273](https://tree.taiga.io/project/penpot/issue/4273) - Fix drag and drop files from browser or file explorer under circumstances [Taiga #5054](https://tree.taiga.io/project/penpot/issue/5054) +- Fix problem when copy/pasting shapes [Taiga #4931](https://tree.taiga.io/project/penpot/issue/4931) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/data/workspace.cljs b/frontend/src/app/main/data/workspace.cljs index 816ed7e7e..a24dd1c30 100644 --- a/frontend/src/app/main/data/workspace.cljs +++ b/frontend/src/app/main/data/workspace.cljs @@ -1326,14 +1326,19 @@ res))) (maybe-translate [shape objects selected+children] - (let [root-frame-id (cph/get-shape-id-root-frame objects (:id shape))] - (if (and (not (cph/root-frame? shape)) - (not (contains? selected+children root-frame-id))) - ;; When the parent frame is not selected we change to relative - ;; coordinates + (let [frame-id (:frame-id shape) + root-frame-id (cph/get-shape-id-root-frame objects (:id shape))] + (cond + (cph/root-frame? shape) shape + (contains? selected+children root-frame-id) shape + + (cph/frame-shape? shape) (let [frame (get objects root-frame-id)] (gsh/translate-to-frame shape frame)) - shape))) + + :else + (let [frame (get objects frame-id)] + (gsh/translate-to-frame shape frame))))) (on-copy-error [error] (js/console.error "Clipboard blocked:" error) From 7256759488a342fb50f6c53596de914b2b3d9029 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Fri, 24 Mar 2023 15:29:46 +0100 Subject: [PATCH 08/50] :bug: Fix problem with color picker not able to change hue --- CHANGES.md | 1 + frontend/src/app/main/ui/workspace/colorpicker.cljs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index be95c060f..6bfdb56bf 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -55,6 +55,7 @@ - Fix change email and password for users signed in via social login [Taiga #4273](https://tree.taiga.io/project/penpot/issue/4273) - Fix drag and drop files from browser or file explorer under circumstances [Taiga #5054](https://tree.taiga.io/project/penpot/issue/5054) - Fix problem when copy/pasting shapes [Taiga #4931](https://tree.taiga.io/project/penpot/issue/4931) +- Fix problem with color picker not able to change hue [Taiga #5065](https://tree.taiga.io/project/penpot/issue/5065) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/ui/workspace/colorpicker.cljs b/frontend/src/app/main/ui/workspace/colorpicker.cljs index 77d54ab03..b99302e36 100644 --- a/frontend/src/app/main/ui/workspace/colorpicker.cljs +++ b/frontend/src/app/main/ui/workspace/colorpicker.cljs @@ -67,7 +67,8 @@ (mf/use-fn (mf/deps current-color @drag?) (fn [color] - (when (not= (str/lower (:hex color)) (str/lower (:hex current-color))) + (when (or (not= (str/lower (:hex color)) (str/lower (:hex current-color))) + (not= (:h color) (:h current-color))) (let [recent-color (merge current-color color) recent-color (dc/materialize-color-components recent-color)] (st/emit! (dc/update-colorpicker-color recent-color (not @drag?))))))) From 1d7b43ffbce0ade143127bc989afe0390d1216e5 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Fri, 24 Mar 2023 16:24:38 +0100 Subject: [PATCH 09/50] :bug: Fix problem with outer stroke in texts --- CHANGES.md | 1 + common/src/app/common/geom/shapes.cljc | 4 + .../src/app/main/ui/shapes/custom_stroke.cljs | 103 ++++++++++-------- 3 files changed, 62 insertions(+), 46 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 6bfdb56bf..5b74fe0c8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -56,6 +56,7 @@ - Fix drag and drop files from browser or file explorer under circumstances [Taiga #5054](https://tree.taiga.io/project/penpot/issue/5054) - Fix problem when copy/pasting shapes [Taiga #4931](https://tree.taiga.io/project/penpot/issue/4931) - Fix problem with color picker not able to change hue [Taiga #5065](https://tree.taiga.io/project/penpot/issue/5065) +- Fix problem with outer stroke in texts [Taiga #5078](https://tree.taiga.io/project/penpot/issue/5078) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/common/src/app/common/geom/shapes.cljc b/common/src/app/common/geom/shapes.cljc index 5158ed32e..fabefe36b 100644 --- a/common/src/app/common/geom/shapes.cljc +++ b/common/src/app/common/geom/shapes.cljc @@ -17,6 +17,7 @@ [app.common.geom.shapes.modifiers :as gsm] [app.common.geom.shapes.path :as gsp] [app.common.geom.shapes.rect :as gpr] + [app.common.geom.shapes.text :as gst] [app.common.geom.shapes.transforms :as gtr] [app.common.math :as mth])) @@ -195,3 +196,6 @@ ;; Modifiers (dm/export gsm/set-objects-modifiers) + +;; Text +(dm/export gst/position-data-selrect) diff --git a/frontend/src/app/main/ui/shapes/custom_stroke.cljs b/frontend/src/app/main/ui/shapes/custom_stroke.cljs index 2c0be8a8b..ebc89b5d2 100644 --- a/frontend/src/app/main/ui/shapes/custom_stroke.cljs +++ b/frontend/src/app/main/ui/shapes/custom_stroke.cljs @@ -38,20 +38,27 @@ [:use {:href (str "#" shape-id)}]])) (mf/defc outer-stroke-mask - [{:keys [shape render-id index]}] + [{:keys [shape stroke render-id index]}] (let [suffix (if index (str "-" index) "") stroke-mask-id (str "outer-stroke-" render-id "-" (:id shape) suffix) shape-id (str "stroke-shape-" render-id "-" (:id shape) suffix) - stroke-width (case (:stroke-alignment shape :center) - :center (/ (:stroke-width shape 0) 2) - :outer (:stroke-width shape 0) + stroke-width (case (:stroke-alignment stroke :center) + :center (/ (:stroke-width stroke 0) 2) + :outer (:stroke-width stroke 0) 0) - margin (gsb/shape-stroke-margin shape stroke-width) - bounding-box (-> (gsh/points->selrect (:points shape)) - (update :x - (+ stroke-width margin)) - (update :y - (+ stroke-width margin)) - (update :width + (* 2 (+ stroke-width margin))) - (update :height + (* 2 (+ stroke-width margin))))] + margin (gsb/shape-stroke-margin stroke stroke-width) + + selrect + (if (cph/text-shape? shape) + (gsh/position-data-selrect shape) + (gsh/points->selrect (:points shape))) + + bounding-box + (-> selrect + (update :x - (+ stroke-width margin)) + (update :y - (+ stroke-width margin)) + (update :width + (* 2 (+ stroke-width margin))) + (update :height + (* 2 (+ stroke-width margin))))] [:mask {:id stroke-mask-id :x (:x bounding-box) @@ -67,17 +74,17 @@ :stroke "none"}}]])) (mf/defc cap-markers - [{:keys [shape render-id index]}] + [{:keys [stroke render-id index]}] (let [marker-id-prefix (str "marker-" render-id) - cap-start (:stroke-cap-start shape) - cap-end (:stroke-cap-end shape) + cap-start (:stroke-cap-start stroke) + cap-end (:stroke-cap-end stroke) - stroke-color (if (:stroke-color-gradient shape) + stroke-color (if (:stroke-color-gradient stroke) (str/format "url(#%s)" (str "stroke-color-gradient_" render-id "_" index)) - (:stroke-color shape)) + (:stroke-color stroke)) - stroke-opacity (when-not (:stroke-color-gradient shape) - (:stroke-opacity shape))] + stroke-opacity (when-not (:stroke-color-gradient stroke) + (:stroke-opacity stroke))] [:* (when (or (= cap-start :line-arrow) (= cap-end :line-arrow)) @@ -169,36 +176,37 @@ [:rect {:x 3 :y 2.5 :width 0.5 :height 1}]])])) (mf/defc stroke-defs - [{:keys [shape render-id index]}] + [{:keys [shape stroke render-id index]}] (let [open-path? (and (= :path (:type shape)) (gsh/open-path? shape))] [:* - (cond (some? (:stroke-color-gradient shape)) - (case (:type (:stroke-color-gradient shape)) + (cond (some? (:stroke-color-gradient stroke)) + (case (:type (:stroke-color-gradient stroke)) :linear [:> grad/linear-gradient #js {:id (str (name :stroke-color-gradient) "_" render-id "_" index) - :gradient (:stroke-color-gradient shape) + :gradient (:stroke-color-gradient stroke) :shape shape}] :radial [:> grad/radial-gradient #js {:id (str (name :stroke-color-gradient) "_" render-id "_" index) - :gradient (:stroke-color-gradient shape) + :gradient (:stroke-color-gradient stroke) :shape shape}])) (cond (and (not open-path?) - (= :inner (:stroke-alignment shape :center)) - (> (:stroke-width shape 0) 0)) + (= :inner (:stroke-alignment stroke :center)) + (> (:stroke-width stroke 0) 0)) [:& inner-stroke-clip-path {:shape shape :render-id render-id :index index}] (and (not open-path?) - (= :outer (:stroke-alignment shape :center)) - (> (:stroke-width shape 0) 0)) + (= :outer (:stroke-alignment stroke :center)) + (> (:stroke-width stroke 0) 0)) [:& outer-stroke-mask {:shape shape + :stroke stroke :render-id render-id :index index}] - (or (some? (:stroke-cap-start shape)) - (some? (:stroke-cap-end shape))) - [:& cap-markers {:shape shape + (or (some? (:stroke-cap-start stroke)) + (some? (:stroke-cap-end stroke))) + [:& cap-markers {:stroke stroke :render-id render-id :index index}])])) @@ -216,8 +224,9 @@ base-props (obj/get child "props") elem-name (obj/get child "type") shape (obj/get props "shape") + stroke (obj/get props "stroke") index (obj/get props "index") - stroke-width (:stroke-width shape) + stroke-width (:stroke-width stroke) suffix (if index (str "-" index) "") stroke-mask-id (str "outer-stroke-" render-id "-" (:id shape) suffix) @@ -225,7 +234,7 @@ [:g.outer-stroke-shape [:defs - [:& stroke-defs {:shape shape :render-id render-id :index index}] + [:& stroke-defs {:shape shape :stroke stroke :render-id render-id :index index}] [:> elem-name (-> (obj/clone base-props) (obj/set! "id" shape-id) (obj/set! @@ -258,10 +267,11 @@ base-props (obj/get child "props") elem-name (obj/get child "type") shape (obj/get props "shape") + stroke (obj/get props "stroke") index (obj/get props "index") transform (obj/get base-props "transform") - stroke-width (:stroke-width shape 0) + stroke-width (:stroke-width stroke 0) suffix (if index (str "-" index) "") clip-id (str "inner-stroke-" render-id "-" (:id shape) suffix) @@ -275,7 +285,7 @@ [:g.inner-stroke-shape {:transform transform} [:defs - [:& stroke-defs {:shape shape :render-id render-id :index index}] + [:& stroke-defs {:shape shape :stroke stroke :render-id render-id :index index}] [:> elem-name shape-props]] [:use {:href (str "#" shape-id) @@ -290,33 +300,34 @@ {::mf/wrap-props false} [props] - (let [child (obj/get props "children") - shape (obj/get props "shape") + (let [child (obj/get props "children") + shape (obj/get props "shape") + stroke (obj/get props "stroke") + render-id (mf/use-ctx muc/render-id) index (obj/get props "index") - stroke-width (:stroke-width shape 0) - stroke-style (:stroke-style shape :none) - stroke-position (:stroke-alignment shape :center) + stroke-width (:stroke-width stroke 0) + stroke-style (:stroke-style stroke :none) + stroke-position (:stroke-alignment stroke :center) has-stroke? (and (> stroke-width 0) (not= stroke-style :none)) - closed? (or (not= :path (:type shape)) - (not (gsh/open-path? shape))) + closed? (or (not= :path (:type shape)) (not (gsh/open-path? shape))) inner? (= :inner stroke-position) outer? (= :outer stroke-position)] (cond (and has-stroke? inner? closed?) - [:& inner-stroke {:shape shape :index index} + [:& inner-stroke {:shape shape :stroke stroke :index index} child] (and has-stroke? outer? closed?) - [:& outer-stroke {:shape shape :index index} + [:& outer-stroke {:shape shape :stroke stroke :index index} child] :else [:g.stroke-shape [:defs - [:& stroke-defs {:shape shape :render-id render-id :index index}]] + [:& stroke-defs {:shape shape :stroke stroke :render-id render-id :index index}]] child]))) (defn build-fill-props [shape child position render-id] @@ -426,6 +437,7 @@ [props] (let [child (obj/get props "children") shape (obj/get props "shape") + elem-name (obj/get child "type") render-id (or (obj/get props "render-id") (mf/use-ctx muc/render-id)) stroke-id (dm/fmt "strokes-%" (:id shape)) @@ -445,9 +457,8 @@ (d/not-empty? (:strokes shape)) [:> :g stroke-props (for [[index value] (-> (d/enumerate (:strokes shape)) reverse)] - (let [props (build-stroke-props index child value render-id) - shape (assoc value :points (:points shape))] - [:& shape-custom-stroke {:shape shape :index index :key (dm/str index "-" stroke-id)} + (let [props (build-stroke-props index child value render-id)] + [:& shape-custom-stroke {:shape shape :stroke value :index index :key (dm/str index "-" stroke-id)} [:> elem-name props]]))])])) (mf/defc shape-custom-strokes From 391ba77da96c019e6be1eba54461a25e3aeefbbd Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 27 Mar 2023 10:58:25 +0200 Subject: [PATCH 10/50] :bug: Fix scaling of texts --- common/src/app/common/types/modifiers.cljc | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/common/src/app/common/types/modifiers.cljc b/common/src/app/common/types/modifiers.cljc index 6c3b3acde..7ce687cad 100644 --- a/common/src/app/common/types/modifiers.cljc +++ b/common/src/app/common/types/modifiers.cljc @@ -645,12 +645,16 @@ (recur matrix (next modifiers))))))) (defn transform-text-node [value attrs] - (let [font-size (-> (get attrs :font-size 14) - (d/parse-double) - (* value) - (str))] + (let [font-size (-> (get attrs :font-size 14) d/parse-double (* value) str) + letter-spacing (-> (get attrs :letter-spacing 0) d/parse-double (* value) str)] + (d/txt-merge attrs {:font-size font-size + :letter-spacing letter-spacing}))) + +(defn transform-paragraph-node [value attrs] + (let [font-size (-> (get attrs :font-size 14) d/parse-double (* value) str)] (d/txt-merge attrs {:font-size font-size}))) + (defn update-text-content [shape scale-text-content value] (update shape :content scale-text-content value)) @@ -661,9 +665,8 @@ (letfn [(scale-text-content [content value] (->> content - (txt/transform-nodes - txt/is-text-node? - (partial transform-text-node value)))) + (txt/transform-nodes txt/is-text-node? (partial transform-text-node value)) + (txt/transform-nodes txt/is-paragraph-node? (partial transform-paragraph-node value)))) (apply-scale-content [shape value] From f7bba745ab9aeef02d87338ff6937118d56c4f9a Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 27 Mar 2023 12:09:33 +0200 Subject: [PATCH 11/50] :bug: Changes to the header menu --- .../src/app/main/ui/workspace/header.cljs | 22 ++++++++++++++----- frontend/translations/en.po | 12 ++++++++++ frontend/translations/es.po | 12 ++++++++++ 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/header.cljs b/frontend/src/app/main/ui/workspace/header.cljs index 8c5418ff4..1ccd70f2a 100644 --- a/frontend/src/app/main/ui/workspace/header.cljs +++ b/frontend/src/app/main/ui/workspace/header.cljs @@ -15,6 +15,7 @@ [app.main.data.modal :as modal] [app.main.data.workspace :as dw] [app.main.data.workspace.colors :as dc] + [app.main.data.workspace.common :as dwc] [app.main.data.workspace.libraries :as dwl] [app.main.data.workspace.shortcuts :as sc] [app.main.refs :as refs] @@ -306,12 +307,14 @@ [:li {:on-click #(st/emit! (dw/select-all))} [:span (tr "workspace.header.menu.select-all")] [:span.shortcut (sc/get-tooltip :select-all)]] - [:li {:on-click #(st/emit! (toggle-flag :scale-text))} - [:span - (if (contains? layout :scale-text) - (tr "workspace.header.menu.disable-scale-text") - (tr "workspace.header.menu.enable-scale-text"))] - [:span.shortcut (sc/get-tooltip :toggle-scale-text)]]]] + + [:li {:on-click #(st/emit! dwc/undo)} + [:span (tr "workspace.header.menu.undo")] + [:span.shortcut (sc/get-tooltip :undo)]] + + [:li {:on-click #(st/emit! dwc/redo)} + [:span (tr "workspace.header.menu.redo")] + [:span.shortcut (sc/get-tooltip :redo)]]]] [:& dropdown {:show (= @show-sub-menu? :view) :on-close #(reset! show-sub-menu? false)} @@ -374,6 +377,13 @@ [:& dropdown {:show (= @show-sub-menu? :preferences) :on-close #(reset! show-sub-menu? false)} [:ul.sub-menu.preferences + [:li {:on-click #(st/emit! (toggle-flag :scale-text))} + [:span + (if (contains? layout :scale-text) + (tr "workspace.header.menu.disable-scale-content") + (tr "workspace.header.menu.enable-scale-content"))] + [:span.shortcut (sc/get-tooltip :toggle-scale-text)]] + [:li {:on-click #(st/emit! (toggle-flag :snap-guides))} [:span (if (contains? layout :snap-guides) diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 75e81ef1e..41756fd41 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -3049,6 +3049,18 @@ msgstr "Show rulers" msgid "workspace.header.menu.show-textpalette" msgstr "Show fonts palette" +msgid "workspace.header.menu.enable-scale-content" +msgstr "Enable proportional scale" + +msgid "workspace.header.menu.disable-scale-content" +msgstr "Disable proportional scale" + +msgid "workspace.header.menu.undo" +msgstr "Undo" + +msgid "workspace.header.menu.redo" +msgstr "Redo" + #: src/app/main/ui/workspace/header.cljs msgid "workspace.header.reset-zoom" msgstr "Reset" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 19b30a575..e644c7d21 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -3212,6 +3212,18 @@ msgstr "Mostrar reglas" msgid "workspace.header.menu.show-textpalette" msgstr "Mostrar paleta de textos" +msgid "workspace.header.menu.enable-scale-content" +msgstr "Activar escala proporcional" + +msgid "workspace.header.menu.disable-scale-content" +msgstr "Desactivar escala proporcional" + +msgid "workspace.header.menu.undo" +msgstr "Deshacer" + +msgid "workspace.header.menu.redo" +msgstr "Rehacer" + #: src/app/main/ui/workspace/header.cljs msgid "workspace.header.reset-zoom" msgstr "Restablecer" From 1f9e7f2ae8ee352f2e9ad27db1dbaa11ee8fb7a3 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 27 Mar 2023 13:16:28 +0200 Subject: [PATCH 12/50] :bug: Fix markdown message --- frontend/src/app/main/ui/dashboard/team.cljs | 3 ++- frontend/translations/ar.po | 1 + frontend/translations/ca.po | 1 + frontend/translations/cs.po | 1 + frontend/translations/de.po | 1 + frontend/translations/en.po | 1 + frontend/translations/es.po | 1 + frontend/translations/eu.po | 1 + frontend/translations/fa.po | 1 + frontend/translations/fr.po | 1 + frontend/translations/he.po | 1 + frontend/translations/hr.po | 1 + frontend/translations/id.po | 1 + frontend/translations/it.po | 1 + frontend/translations/pl.po | 1 + frontend/translations/pt_BR.po | 1 + frontend/translations/pt_PT.po | 1 + frontend/translations/ro.po | 1 + frontend/translations/ru.po | 1 + frontend/translations/tr.po | 1 + frontend/translations/zh_CN.po | 1 + 21 files changed, 22 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/ui/dashboard/team.cljs b/frontend/src/app/main/ui/dashboard/team.cljs index 3d6250d3b..adbc6b0f8 100644 --- a/frontend/src/app/main/ui/dashboard/team.cljs +++ b/frontend/src/app/main/ui/dashboard/team.cljs @@ -586,7 +586,8 @@ [:div.empty-invitations [:span (tr "labels.no-invitations")] (when can-invite? - [:span (tr "labels.no-invitations-hint")])]) + [:& i18n/tr-html {:label "labels.no-invitations-hint" + :tag-name "span"}])]) (mf/defc invitation-section [{:keys [team invitations] :as props}] diff --git a/frontend/translations/ar.po b/frontend/translations/ar.po index 73806e3a4..159d4533a 100644 --- a/frontend/translations/ar.po +++ b/frontend/translations/ar.po @@ -1304,6 +1304,7 @@ msgid "labels.no-invitations" msgstr "لا توجد دعوات." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "اضغط على الزر \"دعوة إلى الفريق\" لدعوة المزيد من الأعضاء إلى هذا الفريق." diff --git a/frontend/translations/ca.po b/frontend/translations/ca.po index 6ddf990fe..48f11b611 100644 --- a/frontend/translations/ca.po +++ b/frontend/translations/ca.po @@ -1298,6 +1298,7 @@ msgid "labels.no-invitations" msgstr "No hi ha invitacions." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Feu clic al botó «Convida a l'equip» per convidar més membres a aquest " diff --git a/frontend/translations/cs.po b/frontend/translations/cs.po index 304937d01..06cb4df2c 100644 --- a/frontend/translations/cs.po +++ b/frontend/translations/cs.po @@ -1197,6 +1197,7 @@ msgid "labels.no-invitations" msgstr "Nejsou žádné pozvánky." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Chcete-li do tohoto týmu pozvat další členy, stiskněte tlačítko „Pozvat do " diff --git a/frontend/translations/de.po b/frontend/translations/de.po index 925ea6fe0..8d1288458 100644 --- a/frontend/translations/de.po +++ b/frontend/translations/de.po @@ -1337,6 +1337,7 @@ msgid "labels.no-invitations" msgstr "Es gibt keine Einladungen." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Drücken Sie die Schaltfläche \"Zum Team einladen\", um weitere Mitglieder " diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 41756fd41..6ba10ca4f 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -1379,6 +1379,7 @@ msgid "labels.no-invitations" msgstr "No pending invitations." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "Click the **Invite people** button to invite people to this team." diff --git a/frontend/translations/es.po b/frontend/translations/es.po index e644c7d21..36b754898 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -1450,6 +1450,7 @@ msgid "labels.no-invitations" msgstr "No hay invitaciones." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "Pulsa el botón 'Invitar al equipo' para añadir más integrantes al equipo." diff --git a/frontend/translations/eu.po b/frontend/translations/eu.po index f5fab6f0e..14619ece5 100644 --- a/frontend/translations/eu.po +++ b/frontend/translations/eu.po @@ -1294,6 +1294,7 @@ msgid "labels.no-invitations" msgstr "Ez dago gonbidapenik." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "Sakatu 'Taldera gonbdiatu' taldekide gehiago izateko." diff --git a/frontend/translations/fa.po b/frontend/translations/fa.po index 6d5bff5b9..099813523 100644 --- a/frontend/translations/fa.po +++ b/frontend/translations/fa.po @@ -1289,6 +1289,7 @@ msgid "labels.no-invitations" msgstr "هیچ دعوتنامه‌ای وجود ندارد." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "دکمه \"دعوت به تیم\" را فشار دهید تا اعضای بیشتری را به این تیم دعوت کنید." diff --git a/frontend/translations/fr.po b/frontend/translations/fr.po index 49a66359e..8293f224b 100644 --- a/frontend/translations/fr.po +++ b/frontend/translations/fr.po @@ -1339,6 +1339,7 @@ msgid "labels.no-invitations" msgstr "Il n'y a pas d'invitations." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Appuyez sur le bouton \"Inviter à l'équipe\" pour inviter d'autres membres " diff --git a/frontend/translations/he.po b/frontend/translations/he.po index d3b2bc8e2..6e1122b18 100644 --- a/frontend/translations/he.po +++ b/frontend/translations/he.po @@ -1301,6 +1301,7 @@ msgid "labels.no-invitations" msgstr "אין הזמנות." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "לחיצה על הכפתור „הזמנה לצוות” תאפשר להזמין חברים נוספים לצוות הזה." diff --git a/frontend/translations/hr.po b/frontend/translations/hr.po index 64f30bcc1..05a2b3b16 100644 --- a/frontend/translations/hr.po +++ b/frontend/translations/hr.po @@ -1289,6 +1289,7 @@ msgid "labels.no-invitations" msgstr "Nema pozivnica." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "Pritisni gumb \"Pozovi u tim\" da pozoveš više članova u ovaj tim." diff --git a/frontend/translations/id.po b/frontend/translations/id.po index 4fe22e798..3abd0c93c 100644 --- a/frontend/translations/id.po +++ b/frontend/translations/id.po @@ -1195,6 +1195,7 @@ msgid "labels.no-invitations" msgstr "Tidak ada undangan." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Tekan tombol \"Undang ke tim\" untuk mengundang lebih banyak anggota ke tim " diff --git a/frontend/translations/it.po b/frontend/translations/it.po index 586ad4354..74568c656 100644 --- a/frontend/translations/it.po +++ b/frontend/translations/it.po @@ -1294,6 +1294,7 @@ msgid "labels.no-invitations" msgstr "Non ci sono inviti." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Premi il pulsante \"Invita nel team\" per invitare altri membri in questo " diff --git a/frontend/translations/pl.po b/frontend/translations/pl.po index 0af0a74c5..22f5cb6a6 100644 --- a/frontend/translations/pl.po +++ b/frontend/translations/pl.po @@ -1280,6 +1280,7 @@ msgid "labels.no-invitations" msgstr "Brak zaproszeń." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Naciśnij przycisk „Zaproś do zespołu”, aby zaprosić więcej członków do tego " diff --git a/frontend/translations/pt_BR.po b/frontend/translations/pt_BR.po index b52393be3..69eb0dd08 100644 --- a/frontend/translations/pt_BR.po +++ b/frontend/translations/pt_BR.po @@ -1295,6 +1295,7 @@ msgid "labels.no-invitations" msgstr "Não há convites." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Pressione o botão \"Convidar para equipe\" para convidar mais membros para " diff --git a/frontend/translations/pt_PT.po b/frontend/translations/pt_PT.po index 0075cd907..7664dc936 100644 --- a/frontend/translations/pt_PT.po +++ b/frontend/translations/pt_PT.po @@ -1298,6 +1298,7 @@ msgid "labels.no-invitations" msgstr "Não há convites." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Clica no botão \"Convidar para a equipa\" para convidar mais membros para " diff --git a/frontend/translations/ro.po b/frontend/translations/ro.po index c9beab607..f988d98d4 100644 --- a/frontend/translations/ro.po +++ b/frontend/translations/ro.po @@ -1291,6 +1291,7 @@ msgid "labels.no-invitations" msgstr "Nu există invitații." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Apăsați butonul „Invitați în echipă” pentru a invita mai mulți membri în " diff --git a/frontend/translations/ru.po b/frontend/translations/ru.po index 77a2cef08..8f1d36d01 100644 --- a/frontend/translations/ru.po +++ b/frontend/translations/ru.po @@ -1278,6 +1278,7 @@ msgid "labels.no-invitations" msgstr "Приглашений нет." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Нажмите кнопку «Пригласить в команду», чтобы пригласить в эту команду " diff --git a/frontend/translations/tr.po b/frontend/translations/tr.po index 12ca5b133..8edfa5b08 100644 --- a/frontend/translations/tr.po +++ b/frontend/translations/tr.po @@ -1324,6 +1324,7 @@ msgid "labels.no-invitations" msgstr "Davet yok." #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "" "Bu takıma daha fazla üye davet etmek için \"Takıma davet et\" düğmesine " diff --git a/frontend/translations/zh_CN.po b/frontend/translations/zh_CN.po index aeab84123..7165e9b2a 100644 --- a/frontend/translations/zh_CN.po +++ b/frontend/translations/zh_CN.po @@ -1252,6 +1252,7 @@ msgid "labels.no-invitations" msgstr "没有邀请。" #: src/app/main/ui/dashboard/team.cljs +#, markdown msgid "labels.no-invitations-hint" msgstr "点击\"邀请加入团队\",邀请更多成员加入这个团队。" From 4313c45870d842b6f65a6258ef08098c60b687f5 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 27 Mar 2023 13:17:30 +0200 Subject: [PATCH 13/50] :bug: Fix sending invitation to existing members --- backend/src/app/rpc/commands/teams.clj | 8 +++++++- frontend/src/app/main/ui/dashboard/team.cljs | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/backend/src/app/rpc/commands/teams.clj b/backend/src/app/rpc/commands/teams.clj index 2d6f6e22e..483f94266 100644 --- a/backend/src/app/rpc/commands/teams.clj +++ b/backend/src/app/rpc/commands/teams.clj @@ -729,8 +729,13 @@ (let [perms (get-permissions conn profile-id team-id) profile (db/get-by-id conn :profile profile-id) team (db/get-by-id conn :team team-id) - emails (cond-> (or emails #{}) (string? email) (conj email))] + ;; Members emails. We don't re-send inviation to already existing members + member? (into #{} + (map :email) + (db/exec! conn [sql:team-members team-id])) + + emails (cond-> (or emails #{}) (string? email) (conj email))] (run! (partial quotes/check-quote! conn) (list {::quotes/id ::quotes/invitations-per-team @@ -754,6 +759,7 @@ (let [cfg (assoc cfg ::db/conn conn) invitations (->> emails + (remove member?) (map (fn [email] {:email (str/lower email) :team team diff --git a/frontend/src/app/main/ui/dashboard/team.cljs b/frontend/src/app/main/ui/dashboard/team.cljs index adbc6b0f8..1df6d70ee 100644 --- a/frontend/src/app/main/ui/dashboard/team.cljs +++ b/frontend/src/app/main/ui/dashboard/team.cljs @@ -177,7 +177,9 @@ :on-submit on-submit}]] [:div.action-buttons - [:& fm/submit-button {:label (tr "modals.invite-member-confirm.accept")}]]]])) + [:& fm/submit-button {:label (tr "modals.invite-member-confirm.accept") + :disabled (and (boolean (some current-data-emails current-members-emails)) + (empty? (remove current-members-emails current-data-emails)))}]]]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; MEMBERS SECTION From 5079582e1fa3ee9b2a88ad870a861f66bf3d9a23 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 27 Mar 2023 13:26:24 +0200 Subject: [PATCH 14/50] :bug: Fix problem with round corners scaling --- common/src/app/common/types/modifiers.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/src/app/common/types/modifiers.cljc b/common/src/app/common/types/modifiers.cljc index 7ce687cad..fb336ae3b 100644 --- a/common/src/app/common/types/modifiers.cljc +++ b/common/src/app/common/types/modifiers.cljc @@ -674,7 +674,7 @@ (cph/text-shape? shape) (update-text-content scale-text-content value) - (cph/rect-shape? shape) + :always (gsc/update-corners-scale value) (d/not-empty? (:strokes shape)) From 6832b4a304ab7c697c07e670f6771d6e5754e977 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Mon, 27 Mar 2023 17:06:45 +0200 Subject: [PATCH 15/50] :bug: Fix problem with text carring over next line when changing to fixed --- CHANGES.md | 1 + frontend/src/app/main/data/workspace/texts.cljs | 2 +- .../app/main/ui/workspace/shapes/text/viewport_texts_html.cljs | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 5b74fe0c8..022c4eb8e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -57,6 +57,7 @@ - Fix problem when copy/pasting shapes [Taiga #4931](https://tree.taiga.io/project/penpot/issue/4931) - Fix problem with color picker not able to change hue [Taiga #5065](https://tree.taiga.io/project/penpot/issue/5065) - Fix problem with outer stroke in texts [Taiga #5078](https://tree.taiga.io/project/penpot/issue/5078) +- Fix problem with text carring over next line when changing to fixed [Taiga #5067](https://tree.taiga.io/project/penpot/issue/5067) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/data/workspace/texts.cljs b/frontend/src/app/main/data/workspace/texts.cljs index 53343202a..4475f95a0 100644 --- a/frontend/src/app/main/data/workspace/texts.cljs +++ b/frontend/src/app/main/data/workspace/texts.cljs @@ -377,7 +377,7 @@ (assoc-in [:workspace-local :edition] (-> selected first :id))))))) (defn not-changed? [old-dim new-dim] - (> (mth/abs (- old-dim new-dim)) 1)) + (> (mth/abs (- old-dim new-dim)) 0.1)) (defn commit-resize-text [] diff --git a/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts_html.cljs b/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts_html.cljs index 14ef7aace..a6633ccd7 100644 --- a/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts_html.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/text/viewport_texts_html.cljs @@ -66,7 +66,8 @@ (when (contains? #{:auto-height :auto-width} grow-type) (let [{:keys [width height]} (-> (dom/query node ".paragraph-set") - (dom/get-client-size)) + (dom/get-bounding-rect)) + width (mth/ceil width) height (mth/ceil height)] (when (and (not (mth/almost-zero? width)) From 694497803b0daeafb11994b040a3ed304015cfba Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 10:37:31 +0200 Subject: [PATCH 16/50] :bug: Fix don't show invite user hero to users with editor role --- CHANGES.md | 1 + frontend/src/app/main/ui/dashboard/projects.cljs | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 022c4eb8e..fdf86d5fe 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -58,6 +58,7 @@ - Fix problem with color picker not able to change hue [Taiga #5065](https://tree.taiga.io/project/penpot/issue/5065) - Fix problem with outer stroke in texts [Taiga #5078](https://tree.taiga.io/project/penpot/issue/5078) - Fix problem with text carring over next line when changing to fixed [Taiga #5067](https://tree.taiga.io/project/penpot/issue/5067) +- Fix don't show invite user hero to users with editor role [Taiga #5086](https://tree.taiga.io/project/penpot/issue/5086) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/ui/dashboard/projects.cljs b/frontend/src/app/main/ui/dashboard/projects.cljs index f7a4eacb5..95a9648db 100644 --- a/frontend/src/app/main/ui/dashboard/projects.cljs +++ b/frontend/src/app/main/ui/dashboard/projects.cljs @@ -362,8 +362,13 @@ (reverse)) recent-map (mf/deref recent-files-ref) props (some-> profile (get :props {})) - team-hero? (and (:team-hero? props true) - (not (:is-default team))) + you-owner? (get-in team [:permissions :is-owner]) + you-admin? (get-in team [:permissions :is-admin]) + can-invite? (or you-owner? you-admin?) + team-hero? (and can-invite? + (:team-hero? props true) + (not (:is-default team))) + tutorial-viewed? (:viewed-tutorial? props true) walkthrough-viewed? (:viewed-walkthrough? props true) From 0ec89e8bbe3cdea92615f23187ec53fbfa3b5634 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 10:56:28 +0200 Subject: [PATCH 17/50] :bug: Fix enter emails on onboarding new user creating team --- CHANGES.md | 1 + frontend/src/app/main/ui/onboarding/team_choice.cljs | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index fdf86d5fe..0a8dad58e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -59,6 +59,7 @@ - Fix problem with outer stroke in texts [Taiga #5078](https://tree.taiga.io/project/penpot/issue/5078) - Fix problem with text carring over next line when changing to fixed [Taiga #5067](https://tree.taiga.io/project/penpot/issue/5067) - Fix don't show invite user hero to users with editor role [Taiga #5086](https://tree.taiga.io/project/penpot/issue/5086) +- Fix enter emails on onboarding new user creating team [Taiga #5089](https://tree.taiga.io/project/penpot/issue/5089) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/ui/onboarding/team_choice.cljs b/frontend/src/app/main/ui/onboarding/team_choice.cljs index b1a1e5342..f34fab29b 100644 --- a/frontend/src/app/main/ui/onboarding/team_choice.cljs +++ b/frontend/src/app/main/ui/onboarding/team_choice.cljs @@ -185,6 +185,7 @@ :auto-focus? true :trim true :valid-item-fn us/parse-email + :caution-item-fn #{} :on-submit on-submit :label (tr "modals.invite-member.emails")}]] From 3df2b8042772fef9ef87af9e13a905883951d187 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 11:24:47 +0200 Subject: [PATCH 18/50] :bug: Fix rename option is absent in RMB menu for file --- frontend/src/app/main/ui/dashboard/file_menu.cljs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/main/ui/dashboard/file_menu.cljs b/frontend/src/app/main/ui/dashboard/file_menu.cljs index 33ae85486..178635c98 100644 --- a/frontend/src/app/main/ui/dashboard/file_menu.cljs +++ b/frontend/src/app/main/ui/dashboard/file_menu.cljs @@ -269,7 +269,8 @@ {:option-name (tr "labels.rename") :id "file-rename" :option-handler on-edit - :data-test "file-rename"} + :data-test "file-rename"}) + (when (not is-search-page?) {:option-name (tr "dashboard.duplicate") :id "file-duplicate" :option-handler on-duplicate From 2e549b164fc4dfa0826a01a987b22cdafa3936fc Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 11:26:16 +0200 Subject: [PATCH 19/50] :bug: Fix internal error on imported svgs --- frontend/src/app/util/strings.cljs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/util/strings.cljs b/frontend/src/app/util/strings.cljs index 0eb5f74c8..3f74c9e6c 100644 --- a/frontend/src/app/util/strings.cljs +++ b/frontend/src/app/util/strings.cljs @@ -46,4 +46,5 @@ (defn camelize [str] ;; str.replace(":", "-").replace(/-./g, x=>x[1].toUpperCase()) - (js* "~{}.replace(\":\", \"-\").replace(/-./g, x=>x[1].toUpperCase())", str)) + (when (not (nil? str)) + (js* "~{}.replace(\":\", \"-\").replace(/-./g, x=>x[1].toUpperCase())", str))) From acccba6ed4ac8ba10c4a1269ebdcbdb51de6dbd5 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 12:30:03 +0200 Subject: [PATCH 20/50] :bug: Fix invalid files amount after moving on dashboard --- CHANGES.md | 1 + frontend/src/app/main/data/dashboard.cljs | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 0a8dad58e..796baf2ac 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -60,6 +60,7 @@ - Fix problem with text carring over next line when changing to fixed [Taiga #5067](https://tree.taiga.io/project/penpot/issue/5067) - Fix don't show invite user hero to users with editor role [Taiga #5086](https://tree.taiga.io/project/penpot/issue/5086) - Fix enter emails on onboarding new user creating team [Taiga #5089](https://tree.taiga.io/project/penpot/issue/5089) +- Fix invalid files amount after moving on dashboard [Taiga #5080](https://tree.taiga.io/project/penpot/issue/5080) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/data/dashboard.cljs b/frontend/src/app/main/data/dashboard.cljs index 94d1ca7ac..0d812e4d2 100644 --- a/frontend/src/app/main/data/dashboard.cljs +++ b/frontend/src/app/main/data/dashboard.cljs @@ -925,6 +925,13 @@ {:num-files (count ids) :project-id project-id}) + ptk/UpdateEvent + (update [_ state] + (let [origin-project (get-in state [:dashboard-files (first ids) :project-id])] + (-> state + (update-in [:dashboard-projects origin-project :count] #(- % (count ids))) + (update-in [:dashboard-projects project-id :count] #(+ % (count ids)))))) + ptk/WatchEvent (watch [_ _ _] (let [{:keys [on-success on-error] From 70974efc74b07a87813c423710706b6cdfd481e5 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 13:17:32 +0200 Subject: [PATCH 21/50] :bug: Fix dashboard left sidebar, the [x] overlaps the field --- CHANGES.md | 1 + frontend/resources/styles/main/partials/dashboard-sidebar.scss | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 796baf2ac..9edc03d6a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -61,6 +61,7 @@ - Fix don't show invite user hero to users with editor role [Taiga #5086](https://tree.taiga.io/project/penpot/issue/5086) - Fix enter emails on onboarding new user creating team [Taiga #5089](https://tree.taiga.io/project/penpot/issue/5089) - Fix invalid files amount after moving on dashboard [Taiga #5080](https://tree.taiga.io/project/penpot/issue/5080) +- Fix dashboard left sidebar, the [x] overlaps the field [Taiga #5064](https://tree.taiga.io/project/penpot/issue/5064) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/resources/styles/main/partials/dashboard-sidebar.scss b/frontend/resources/styles/main/partials/dashboard-sidebar.scss index 128265a40..646d53a30 100644 --- a/frontend/resources/styles/main/partials/dashboard-sidebar.scss +++ b/frontend/resources/styles/main/partials/dashboard-sidebar.scss @@ -260,7 +260,7 @@ .close { background-color: $color-white; cursor: pointer; - padding: 3px 5px; + padding-left: 5px; svg { fill: $color-gray-30; From aa068c70c229e944c1422251ff9479e923651c4e Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 13:33:12 +0200 Subject: [PATCH 22/50] :bug: Fix expanded typography on assets sidebar is moving --- CHANGES.md | 1 + frontend/resources/styles/main/partials/sidebar-assets.scss | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 9edc03d6a..7c768f435 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -62,6 +62,7 @@ - Fix enter emails on onboarding new user creating team [Taiga #5089](https://tree.taiga.io/project/penpot/issue/5089) - Fix invalid files amount after moving on dashboard [Taiga #5080](https://tree.taiga.io/project/penpot/issue/5080) - Fix dashboard left sidebar, the [x] overlaps the field [Taiga #5064](https://tree.taiga.io/project/penpot/issue/5064) +- Fix expanded typography on assets sidebar is moving [Taiga #5063](https://tree.taiga.io/project/penpot/issue/5063) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/resources/styles/main/partials/sidebar-assets.scss b/frontend/resources/styles/main/partials/sidebar-assets.scss index 0f84b1047..4671381f1 100644 --- a/frontend/resources/styles/main/partials/sidebar-assets.scss +++ b/frontend/resources/styles/main/partials/sidebar-assets.scss @@ -339,6 +339,10 @@ .typography-container { position: relative; + + &:last-child { + padding-bottom: 0.5em; + } } .drag-counter { From 0714dc34c5b24054e82138f523b6786150a49717 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 28 Mar 2023 13:53:17 +0200 Subject: [PATCH 23/50] :bug: Fix spelling mistake in confirmation after importing only 1 file --- CHANGES.md | 1 + frontend/src/app/main/ui/dashboard/import.cljs | 2 +- frontend/translations/en.po | 4 +++- frontend/translations/es.po | 4 +++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7c768f435..cd5fbe92e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -63,6 +63,7 @@ - Fix invalid files amount after moving on dashboard [Taiga #5080](https://tree.taiga.io/project/penpot/issue/5080) - Fix dashboard left sidebar, the [x] overlaps the field [Taiga #5064](https://tree.taiga.io/project/penpot/issue/5064) - Fix expanded typography on assets sidebar is moving [Taiga #5063](https://tree.taiga.io/project/penpot/issue/5063) +- Fix spelling mistake in confirmation after importing only 1 file [Taiga #5095](https://tree.taiga.io/project/penpot/issue/5095) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/ui/dashboard/import.cljs b/frontend/src/app/main/ui/dashboard/import.cljs index ad3d3800e..7bc0966ca 100644 --- a/frontend/src/app/main/ui/dashboard/import.cljs +++ b/frontend/src/app/main/ui/dashboard/import.cljs @@ -378,7 +378,7 @@ [:div.feedback-banner [:div.icon i/checkbox-checked] - [:div.message (tr "dashboard.import.import-message" (if (some? template) 1 success-files))]])) + [:div.message (tr "dashboard.import.import-message" (i18n/c (if (some? template) 1 success-files)))]])) (for [file files] (let [editing? (and (some? (:file-id file)) diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 6ba10ca4f..b17f83cee 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -443,7 +443,9 @@ msgid "dashboard.import.import-error" msgstr "There was a problem importing the file. The file wasn't imported." msgid "dashboard.import.import-message" -msgstr "%s files have been imported successfully." +msgid_plural "dashboard.import.import-message" +msgstr[0] "1 file have been imported successfully." +msgstr[1] "%s files have been imported successfully." msgid "dashboard.import.import-warning" msgstr "Some files containted invalid objects that have been removed." diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 36b754898..52c687d11 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -450,7 +450,9 @@ msgid "dashboard.import.import-error" msgstr "Hubo un problema importando el fichero. No ha podido ser importado." msgid "dashboard.import.import-message" -msgstr "%s files have been imported succesfully." +msgid_plural "dashboard.import.import-message" +msgstr[0] "1 fichero se ha importado correctamente." +msgstr[1] "%s ficheros se han importado correctamente." msgid "dashboard.import.import-warning" msgstr "Algunos ficheros contenían objetos erroneos que no han sido importados." From 92baf75ccd421761b68898f4ec67e68ad157113a Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 29 Mar 2023 08:53:10 +0200 Subject: [PATCH 24/50] :bug: Fix import typo --- frontend/translations/en.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/translations/en.po b/frontend/translations/en.po index b17f83cee..8033683c4 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -444,7 +444,7 @@ msgstr "There was a problem importing the file. The file wasn't imported." msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" -msgstr[0] "1 file have been imported successfully." +msgstr[0] "1 file has been imported successfully." msgstr[1] "%s files have been imported successfully." msgid "dashboard.import.import-warning" From 66444e27b19d8f51d385101d9186b2f8c4007a4f Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 28 Mar 2023 11:30:46 +0200 Subject: [PATCH 25/50] :bug: Fix problem with selection colors and texts --- CHANGES.md | 1 + .../options/menus/color_selection.cljs | 50 ++++++++++++------- .../sidebar/options/rows/color_row.cljs | 3 +- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index cd5fbe92e..10d5063dc 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -64,6 +64,7 @@ - Fix dashboard left sidebar, the [x] overlaps the field [Taiga #5064](https://tree.taiga.io/project/penpot/issue/5064) - Fix expanded typography on assets sidebar is moving [Taiga #5063](https://tree.taiga.io/project/penpot/issue/5063) - Fix spelling mistake in confirmation after importing only 1 file [Taiga #5095](https://tree.taiga.io/project/penpot/issue/5095) +- Fix problem with selection colors and texts [Taiga #5079](https://tree.taiga.io/project/penpot/issue/5079) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs index 7a18745e8..857e60da5 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs @@ -161,27 +161,37 @@ on-change (mf/use-fn - (fn [new-color old-color] + (fn [new-color old-color from-picker?] (let [old-color (-> old-color (dissoc :name) (dissoc :path) (d/without-nils)) - prev-color (-> @prev-color* - (dissoc :name) - (dissoc :path) - (d/without-nils)) + prev-color (when @prev-color* + (-> @prev-color* + (dissoc :name) + (dissoc :path) + (d/without-nils))) ;; When dragging on the color picker sometimes all the shapes hasn't updated the color to the prev value so we need this extra calculation shapes-by-old-color (get @grouped-colors* old-color) shapes-by-prev-color (get @grouped-colors* prev-color) shapes-by-color (or shapes-by-prev-color shapes-by-old-color)] - (reset! prev-color* new-color) - (st/emit! (dc/change-color-in-selected new-color shapes-by-color old-color))))) - on-open (mf/use-fn - (fn [color] - (reset! prev-color* color))) + (when from-picker? + (reset! prev-color* new-color)) + + (st/emit! (dc/change-color-in-selected new-color shapes-by-color (or prev-color old-color)))))) + + on-open + (mf/use-fn + (fn [] + (reset! prev-color* nil))) + + on-close + (mf/use-fn + (fn [] + (reset! prev-color* nil))) on-detach (mf/use-fn @@ -212,8 +222,9 @@ :index index :on-detach on-detach :select-only select-only - :on-change #(on-change % color) - :on-open on-open}]) + :on-change #(on-change %1 color %2) + :on-open on-open + :on-close on-close}]) (when (and (false? @expand-lib-color) (< 3 (count library-colors))) [:div.expand-colors {:on-click #(reset! expand-lib-color true)} [:span i/actions] @@ -225,8 +236,9 @@ :index index :on-detach on-detach :select-only select-only - :on-change #(on-change % color) - :on-open on-open}]))] + :on-change #(on-change %1 color %2) + :on-open on-open + :on-close on-close}]))] [:div.selected-colors (for [[index color] (d/enumerate (take 3 colors))] @@ -234,8 +246,9 @@ :color color :index index :select-only select-only - :on-change #(on-change % color) - :on-open on-open}]) + :on-change #(on-change %1 color %2) + :on-open on-open + :on-close on-close}]) (when (and (false? @expand-color) (< 3 (count colors))) [:div.expand-colors {:on-click #(reset! expand-color true)} [:span i/actions] @@ -246,5 +259,6 @@ :color color :index index :select-only select-only - :on-change #(on-change % color) - :on-open on-open}]))]]]))) + :on-change #(on-change %1 color %2) + :on-open on-open + :on-close on-close}]))]]]))) diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs index 5a0d42059..4a5653216 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs @@ -113,7 +113,8 @@ :y y :disable-gradient disable-gradient :disable-opacity disable-opacity - :on-change #(on-change (merge uc/empty-color %)) + ;; on-change second parameter means if the source is the color-picker + :on-change #(on-change (merge uc/empty-color %) true) :on-close (fn [value opacity id file-id] (when on-close (on-close value opacity id file-id))) From ac23c7bb4ad59bf40b500c8f1453c1f90e7658e4 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 28 Mar 2023 12:18:24 +0200 Subject: [PATCH 26/50] :bug: Remove "show in view mode" flag when moving frame to frame --- CHANGES.md | 1 + frontend/src/app/main/data/workspace.cljs | 3 +++ frontend/src/app/main/data/workspace/shapes.cljs | 1 + frontend/src/app/main/data/workspace/transforms.cljs | 7 +++++-- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 10d5063dc..aa22feb71 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -65,6 +65,7 @@ - Fix expanded typography on assets sidebar is moving [Taiga #5063](https://tree.taiga.io/project/penpot/issue/5063) - Fix spelling mistake in confirmation after importing only 1 file [Taiga #5095](https://tree.taiga.io/project/penpot/issue/5095) - Fix problem with selection colors and texts [Taiga #5079](https://tree.taiga.io/project/penpot/issue/5079) +- Remove "show in view mode" flag when moving frame to frame [Taiga #5091](https://tree.taiga.io/project/penpot/issue/5091) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/data/workspace.cljs b/frontend/src/app/main/data/workspace.cljs index a24dd1c30..05c1d8cb3 100644 --- a/frontend/src/app/main/data/workspace.cljs +++ b/frontend/src/app/main/data/workspace.cljs @@ -663,6 +663,9 @@ (cond-> (not (ctl/any-layout? objects parent-id)) (pcb/update-shapes ordered-indexes ctl/remove-layout-item-data)) + ;; Remove the hide in viewer flag + (pcb/update-shapes ordered-indexes #(cond-> % (cph/frame-shape? %) (assoc :hide-in-viewer true))) + ;; Move the shapes (pcb/change-parent parent-id shapes diff --git a/frontend/src/app/main/data/workspace/shapes.cljs b/frontend/src/app/main/data/workspace/shapes.cljs index 525fc5397..ea0f38a09 100644 --- a/frontend/src/app/main/data/workspace/shapes.cljs +++ b/frontend/src/app/main/data/workspace/shapes.cljs @@ -137,6 +137,7 @@ (pcb/with-objects objects) (cond-> (not (ctl/any-layout? objects frame-id)) (pcb/update-shapes ordered-indexes ctl/remove-layout-item-data)) + (pcb/update-shapes ordered-indexes #(cond-> % (cph/frame-shape? %) (assoc :hide-in-viewer true))) (pcb/change-parent frame-id to-move-shapes 0) (cond-> (ctl/grid-layout? objects frame-id) (pcb/update-shapes [frame-id] ctl/assign-cells))))] diff --git a/frontend/src/app/main/data/workspace/transforms.cljs b/frontend/src/app/main/data/workspace/transforms.cljs index 8c4a297b5..be254bb69 100644 --- a/frontend/src/app/main/data/workspace/transforms.cljs +++ b/frontend/src/app/main/data/workspace/transforms.cljs @@ -104,7 +104,7 @@ (defn start-resize "Enter mouse resize mode, until mouse button is released." [handler ids shape] - (letfn [(resize + (letfn [(resize [shape initial layout [point lock? center? point-snap]] (let [{:keys [width height]} (:selrect shape) {:keys [rotation]} shape @@ -745,13 +745,16 @@ (remove (fn [shape] (and (ctl/layout-absolute? shape) (= frame-id (:parent-id shape)))))) + moving-shapes-ids + (map :id moving-shapes) changes (-> (pcb/empty-changes it page-id) (pcb/with-objects objects) ;; Remove layout-item properties when moving a shape outside a layout (cond-> (not (ctl/any-layout? objects frame-id)) - (pcb/update-shapes (map :id moving-shapes) ctl/remove-layout-item-data)) + (pcb/update-shapes moving-shapes-ids ctl/remove-layout-item-data)) + (pcb/update-shapes moving-shapes-ids #(cond-> % (cph/frame-shape? %) (assoc :hide-in-viewer true))) (pcb/change-parent frame-id moving-shapes drop-index) (pcb/remove-objects empty-parents))] From d54e152a3db4b45c65563a86cd06fb4760b94d15 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 28 Mar 2023 15:14:23 +0200 Subject: [PATCH 27/50] :bug: Fix problem creating files in project page --- CHANGES.md | 1 + frontend/src/app/main/ui/dashboard/files.cljs | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index aa22feb71..3ecb1cdb7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -66,6 +66,7 @@ - Fix spelling mistake in confirmation after importing only 1 file [Taiga #5095](https://tree.taiga.io/project/penpot/issue/5095) - Fix problem with selection colors and texts [Taiga #5079](https://tree.taiga.io/project/penpot/issue/5079) - Remove "show in view mode" flag when moving frame to frame [Taiga #5091](https://tree.taiga.io/project/penpot/issue/5091) +- Fix problem creating files in project page [Taiga #5060](https://tree.taiga.io/project/penpot/issue/5060) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/ui/dashboard/files.cljs b/frontend/src/app/main/ui/dashboard/files.cljs index fb7dc0936..e67ebbfc6 100644 --- a/frontend/src/app/main/ui/dashboard/files.cljs +++ b/frontend/src/app/main/ui/dashboard/files.cljs @@ -144,6 +144,7 @@ create-file (mf/use-fn + (mf/deps project) (fn [origin] (st/emit! (with-meta (dd/create-file {:project-id (:id project)}) {::ev/origin origin}))))] From 43fe2390c8a6facf9c646b1c8ff527bec873539b Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 28 Mar 2023 17:18:56 +0200 Subject: [PATCH 28/50] :bug: Fix problem with copy/paste shapes --- common/src/app/common/pages/helpers.cljc | 22 ++++++++++++++++++ frontend/src/app/main/data/workspace.cljs | 27 ++++++++--------------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/common/src/app/common/pages/helpers.cljc b/common/src/app/common/pages/helpers.cljc index 589d2249b..a4748ba7f 100644 --- a/common/src/app/common/pages/helpers.cljc +++ b/common/src/app/common/pages/helpers.cljc @@ -595,3 +595,25 @@ (d/enumerate) (sort comparator-layout-z-index) (mapv second))) + +(defn common-parent-frame + "Search for the common frame for the selected shapes. Otherwise returns the root frame" + [objects selected] + + (loop [frame-id (get-in objects [(first selected) :frame-id]) + frame-parents (get-parent-ids objects frame-id) + selected (rest selected)] + (if (empty? selected) + frame-id + + (let [current (first selected) + parent? (into #{} (get-parent-ids objects current)) + + [frame-id frame-parents] + (if (parent? frame-id) + [frame-id frame-parents] + + (let [frame-id (d/seek parent? frame-parents)] + [frame-id (get-parent-ids objects frame-id)]))] + + (recur frame-id frame-parents (rest selected)))))) diff --git a/frontend/src/app/main/data/workspace.cljs b/frontend/src/app/main/data/workspace.cljs index 05c1d8cb3..ec0f3db00 100644 --- a/frontend/src/app/main/data/workspace.cljs +++ b/frontend/src/app/main/data/workspace.cljs @@ -1304,8 +1304,8 @@ ;; Prepare the shape object. Mainly needed for image shapes ;; for retrieve the image data and convert it to the ;; data-url. - (prepare-object [objects selected+children {:keys [type] :as obj}] - (let [obj (maybe-translate obj objects selected+children)] + (prepare-object [objects parent-frame-id {:keys [type] :as obj}] + (let [obj (maybe-translate obj objects parent-frame-id)] (if (= type :image) (let [url (cf/resolve-file-media (:metadata obj))] (->> (http/send! {:method :get @@ -1328,20 +1328,11 @@ (update res :images conj img-part)) res))) - (maybe-translate [shape objects selected+children] - (let [frame-id (:frame-id shape) - root-frame-id (cph/get-shape-id-root-frame objects (:id shape))] - (cond - (cph/root-frame? shape) shape - (contains? selected+children root-frame-id) shape - - (cph/frame-shape? shape) - (let [frame (get objects root-frame-id)] - (gsh/translate-to-frame shape frame)) - - :else - (let [frame (get objects frame-id)] - (gsh/translate-to-frame shape frame))))) + (maybe-translate [shape objects parent-frame-id] + (if (= parent-frame-id uuid/zero) + shape + (let [frame (get objects parent-frame-id)] + (gsh/translate-to-frame shape frame)))) (on-copy-error [error] (js/console.error "Clipboard blocked:" error) @@ -1354,7 +1345,7 @@ selected (->> (wsh/lookup-selected state) (cph/clean-loops objects)) - selected+children (cph/selected-with-children objects selected) + parent-frame-id (cph/common-parent-frame objects selected) pdata (reduce (partial collect-object-ids objects) {} selected) initial {:type :copied-shapes :file-id (:current-file-id state) @@ -1369,7 +1360,7 @@ (catch :default e (on-copy-error e))) (->> (rx/from (seq (vals pdata))) - (rx/merge-map (partial prepare-object objects selected+children)) + (rx/merge-map (partial prepare-object objects parent-frame-id)) (rx/reduce collect-data initial) (rx/map (partial sort-selected state)) (rx/map t/encode-str) From a98ae69a03eed00d1456e1039fe3b13e38694a8c Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Tue, 28 Mar 2023 17:41:51 +0200 Subject: [PATCH 29/50] :bug: Disable empty names on rename files --- CHANGES.md | 1 + frontend/src/app/main/ui/dashboard/grid.cljs | 4 +++- frontend/src/app/main/ui/dashboard/import.cljs | 9 ++++++--- frontend/src/app/main/ui/workspace/header.cljs | 11 +++++++---- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3ecb1cdb7..594c60481 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -67,6 +67,7 @@ - Fix problem with selection colors and texts [Taiga #5079](https://tree.taiga.io/project/penpot/issue/5079) - Remove "show in view mode" flag when moving frame to frame [Taiga #5091](https://tree.taiga.io/project/penpot/issue/5091) - Fix problem creating files in project page [Taiga #5060](https://tree.taiga.io/project/penpot/issue/5060) +- Disable empty names on rename files [Taiga #5088](https://tree.taiga.io/project/penpot/issue/5088) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/src/app/main/ui/dashboard/grid.cljs b/frontend/src/app/main/ui/dashboard/grid.cljs index eba451495..c0d4b1c0a 100644 --- a/frontend/src/app/main/ui/dashboard/grid.cljs +++ b/frontend/src/app/main/ui/dashboard/grid.cljs @@ -268,7 +268,9 @@ (mf/use-fn (mf/deps file) (fn [name] - (st/emit! (dd/rename-file (assoc file :name name))) + (let [name (str/trim name)] + (when (not= name "") + (st/emit! (dd/rename-file (assoc file :name name))))) (swap! local assoc :edition false))) on-edit diff --git a/frontend/src/app/main/ui/dashboard/import.cljs b/frontend/src/app/main/ui/dashboard/import.cljs index 7bc0966ca..1aa8fbc73 100644 --- a/frontend/src/app/main/ui/dashboard/import.cljs +++ b/frontend/src/app/main/ui/dashboard/import.cljs @@ -22,6 +22,7 @@ [app.util.keyboard :as kbd] [app.util.webapi :as wapi] [beicon.core :as rx] + [cuerdas.core :as str] [potok.core :as ptk] [rumext.v2 :as mf])) @@ -61,9 +62,11 @@ (->> files (mapv (fn [file] - (cond-> file - (= (:file-id file) file-id) - (assoc :name new-name)))))) + (let [new-name (str/trim new-name)] + (cond-> file + (and (= (:file-id file) file-id) + (not= "" new-name)) + (assoc :name new-name))))))) (defn remove-file [files file-id] (->> files diff --git a/frontend/src/app/main/ui/workspace/header.cljs b/frontend/src/app/main/ui/workspace/header.cljs index 1ccd70f2a..7be23d60d 100644 --- a/frontend/src/app/main/ui/workspace/header.cljs +++ b/frontend/src/app/main/ui/workspace/header.cljs @@ -33,6 +33,7 @@ [app.util.keyboard :as kbd] [app.util.router :as rt] [beicon.core :as rx] + [cuerdas.core :as str] [okulary.core :as l] [potok.core :as ptk] [rumext.v2 :as mf])) @@ -150,10 +151,12 @@ :on-accept #(st/emit! (dwl/set-file-shared (:id file) false)) :count-libraries 1})))) - handle-blur (fn [_] - (let [value (-> edit-input-ref mf/ref-val dom/get-value)] - (st/emit! (dw/rename-file (:id file) value))) - (reset! editing? false)) + handle-blur + (fn [_] + (let [value (str/trim (-> edit-input-ref mf/ref-val dom/get-value))] + (when (not= value "") + (st/emit! (dw/rename-file (:id file) value)))) + (reset! editing? false)) handle-name-keydown (fn [event] (when (kbd/enter? event) From 6e78745ed5415d15089f39f948b5ab1ce1592e27 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Wed, 29 Mar 2023 11:22:26 +0200 Subject: [PATCH 30/50] :bug: Fix problem with SVG and flex layout --- CHANGES.md | 1 + common/src/app/common/geom/point.cljc | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 594c60481..46273e093 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -68,6 +68,7 @@ - Remove "show in view mode" flag when moving frame to frame [Taiga #5091](https://tree.taiga.io/project/penpot/issue/5091) - Fix problem creating files in project page [Taiga #5060](https://tree.taiga.io/project/penpot/issue/5060) - Disable empty names on rename files [Taiga #5088](https://tree.taiga.io/project/penpot/issue/5088) +- Fix problem with SVG and flex layout [Taiga #](https://tree.taiga.io/project/penpot/issue/5099) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/common/src/app/common/geom/point.cljc b/common/src/app/common/geom/point.cljc index d83a46c99..5517bc5a2 100644 --- a/common/src/app/common/geom/point.cljc +++ b/common/src/app/common/geom/point.cljc @@ -318,8 +318,10 @@ (defn unit [p1] (let [p-length (length p1)] - (Point. (/ (dm/get-prop p1 :x) p-length) - (/ (dm/get-prop p1 :y) p-length)))) + (if (mth/almost-zero? p-length) + (Point. 0 0) + (Point. (/ (dm/get-prop p1 :x) p-length) + (/ (dm/get-prop p1 :y) p-length))))) (defn perpendicular [pt] From be27ce4914f7ca576b467c6def2e45259c0ae476 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Wed, 29 Mar 2023 16:00:07 +0200 Subject: [PATCH 31/50] :bug: Fix problem with invalid SVG shape --- common/src/app/common/geom/shapes/common.cljc | 15 ++++++++++++++- common/src/app/common/geom/shapes/modifiers.cljc | 6 +++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/common/src/app/common/geom/shapes/common.cljc b/common/src/app/common/geom/shapes/common.cljc index 710c15e78..a0fcdb4b5 100644 --- a/common/src/app/common/geom/shapes/common.cljc +++ b/common/src/app/common/geom/shapes/common.cljc @@ -9,7 +9,8 @@ [app.common.data :as d] [app.common.geom.matrix :as gmt] [app.common.geom.point :as gpt] - [app.common.geom.shapes.rect :as gpr])) + [app.common.geom.shapes.rect :as gpr] + [app.common.math :as mth])) (defn center-rect [{:keys [x y width height]}] @@ -71,3 +72,15 @@ [{:keys [x1 y1 x2 y2] :as sr} matrix] (let [[c1 c2] (transform-points [(gpt/point x1 y1) (gpt/point x2 y2)] matrix)] (gpr/corners->selrect c1 c2))) + +(defn invalid-geometry? + [{:keys [points selrect]}] + + (or (mth/nan? (:x selrect)) + (mth/nan? (:y selrect)) + (mth/nan? (:width selrect)) + (mth/nan? (:height selrect)) + (some (fn [p] + (or (mth/nan? (:x p)) + (mth/nan? (:y p)))) + points))) diff --git a/common/src/app/common/geom/shapes/modifiers.cljc b/common/src/app/common/geom/shapes/modifiers.cljc index 582d2a404..17879b765 100644 --- a/common/src/app/common/geom/shapes/modifiers.cljc +++ b/common/src/app/common/geom/shapes/modifiers.cljc @@ -9,6 +9,7 @@ [app.common.data :as d] [app.common.data.macros :as dm] [app.common.geom.point :as gpt] + [app.common.geom.shapes.common :as gco] [app.common.geom.shapes.constraints :as gct] [app.common.geom.shapes.flex-layout :as gcfl] [app.common.geom.shapes.grid-layout :as gcgl] @@ -180,6 +181,7 @@ (let [children (->> children (map (d/getf objects)) (remove :hidden) + (remove gco/invalid-geometry?) (map apply-modifiers)) layout-data (gcfl/calc-layout-data parent children @transformed-parent-bounds) children (into [] (cond-> children (not (:reverse? layout-data)) reverse)) @@ -215,6 +217,7 @@ modif-tree))] (let [children (->> (cph/get-immediate-children objects (:id parent)) (remove :hidden) + (remove gco/invalid-geometry?) (map apply-modifiers)) grid-data (gcgl/calc-layout-data parent children @transformed-parent-bounds)] (loop [modif-tree modif-tree @@ -249,7 +252,8 @@ (ctm/resize (gpt/point 1 scale-height) origin (:transform parent) (:transform-inverse parent))))) children (->> (cph/get-immediate-children objects parent-id) - (remove :hidden)) + (remove :hidden) + (remove gco/invalid-geometry?)) content-bounds (when (and (d/not-empty? children) (or (ctl/auto-height? parent) (ctl/auto-width? parent))) From 3e6b3bcdc4a40d8ae12416082b0f565d5cadfc45 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 29 Mar 2023 09:27:50 +0200 Subject: [PATCH 32/50] :bug: Fix unpublish and delete shared library warning messages --- CHANGES.md | 1 + frontend/translations/en.po | 33 +++++++++++++++++---------------- frontend/translations/es.po | 33 +++++++++++++++++---------------- 3 files changed, 35 insertions(+), 32 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 46273e093..6ac274712 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -69,6 +69,7 @@ - Fix problem creating files in project page [Taiga #5060](https://tree.taiga.io/project/penpot/issue/5060) - Disable empty names on rename files [Taiga #5088](https://tree.taiga.io/project/penpot/issue/5088) - Fix problem with SVG and flex layout [Taiga #](https://tree.taiga.io/project/penpot/issue/5099) +- Fix unpublish and delete shared library warning messages [Taiga #5090](https://tree.taiga.io/project/penpot/issue/5090) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 8033683c4..6bfeeeb1d 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -1726,21 +1726,22 @@ msgstr[1] "Delete files" msgid "modals.delete-shared-confirm.hint" msgid_plural "modals.delete-shared-confirm.hint" msgstr[0] "" -"If you delete it, those assets will move to the local library of this file. " -"Any unused assets will be lost." +"If you delete it, those assets will no longer be available from other files. " +"Assets that have already been used will remain in this file (no design will be broken!)." + msgstr[1] "" -"If you delete them, those assets will move to the local library of this " -"file. Any unused assets will be lost." +"If you delete them, those assets will no longer be available from other files. " +"Assets that have already been used will remain in this file (no design will be broken!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.delete-shared-confirm.hint-many" msgid_plural "modals.delete-shared-confirm.hint-many" msgstr[0] "" -"If you delete it, those assets will move to the local libraries of these " -"files. Any unused assets will be lost." +"If you delete it, those assets will no longer be available from other files. " +"Assets that have already been used will remain in these files (no design will be broken!)." msgstr[1] "" -"If you delete them, those assets will move to the local libraries of these " -"files. Any unused assets will be lost." +"If you delete them, those assets will no longer be available from other files. " +"Assets that have already been used will remain in these file (no design will be broken!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.delete-shared-confirm.message" @@ -1928,21 +1929,21 @@ msgstr[1] "Unpublish" msgid "modals.unpublish-shared-confirm.hint" msgid_plural "modals.unpublish-shared-confirm.hint" msgstr[0] "" -"If you unpublish it, those assets will move to the local library of this " -"file." +"If you unpublish it, those assets will no longer be available from other files. " +"Assets that have already been used will remain in this file (no design will be broken!)." msgstr[1] "" -"If you unpublish them, those assets will move to the local library of this " -"file." +"If you unpublish them, those assets will no longer be available from other files. " +"Assets that have already been used will remain in this file (no design will be broken!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.unpublish-shared-confirm.hint-many" msgid_plural "modals.unpublish-shared-confirm.hint-many" msgstr[0] "" -"If you unpublish it, those assets will move to the local libraries of these " -"files." +"If you unpublish it, those assets will no longer be available from other files. " +"Assets that have already been used will remain in these files (no design will be broken!)." msgstr[1] "" -"If you unpublish them, those assets will move to the local libraries of " -"these files." +"If you unpublish them, those assets will no longer be available from other files. " +"Assets that have already been used will remain in these file (no design will be broken!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.unpublish-shared-confirm.message" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 52c687d11..002975c9b 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -1809,21 +1809,21 @@ msgstr[1] "Borrar archivos" msgid "modals.delete-shared-confirm.hint" msgid_plural "modals.delete-shared-confirm.hint" msgstr[0] "" -"Si lo borras, esos elementos pasarán a formar parte de la biblioteca local " -"de este archivo. Cualquier elemento en desuso se perderá." +"Si lo borras, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en el archivo (¡ningún diseño se romperá!)." msgstr[1] "" -"Si los borras, esos elementos pasarán a formar parte de la biblioteca local " -"de este archivo. Cualquier elemento en desuso se perderá." +"Si los borras, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en el archivo (¡ningún diseño se romperá!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.delete-shared-confirm.hint-many" msgid_plural "modals.delete-shared-confirm.hint-many" msgstr[0] "" -"Si lo borras, esos elementos pasarán a formar parte de las bibliotecas " -"locales de estos archivos. Cualquier elemento en desuso se perderá." +"Si lo borras, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en los archivo (¡ningún diseño se romperá!)." msgstr[1] "" -"Si los borras, esos elementos pasarán a formar parte de las bibliotecas " -"locales de estos archivos. Cualquier elemento en desuso se perderá." +"Si los borras, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en los archivo (¡ningún diseño se romperá!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.delete-shared-confirm.message" @@ -2014,21 +2014,22 @@ msgstr[1] "Despublicar" msgid "modals.unpublish-shared-confirm.hint" msgid_plural "modals.unpublish-shared-confirm.hint" msgstr[0] "" -"Si la despublicas, esos elementos pasarán a formar parte de la biblioteca " -"local de este archivo." +"Si la despublicas, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en el archivo (¡ningún diseño se romperá!)." + msgstr[1] "" -"Si las despublicas, esos elementos pasarán a formar parte de la biblioteca " -"local de este archivo." +"Si las despublicas, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en el archivo (¡ningún diseño se romperá!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.unpublish-shared-confirm.hint-many" msgid_plural "modals.unpublish-shared-confirm.hint-many" msgstr[0] "" -"Si la despublicas, esos elementos pasarán a formar parte de las bibliotecas " -"locales de estos archivos." +"Si la despublicas, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en los archivo (¡ningún diseño se romperá!)." msgstr[1] "" -"Si las despublicas, esos elementos pasarán a formar parte de las " -"bibliotecas locales de estos archivos." +"Si las despublicas, sus elementos no estarán disponibles para otros archivos. " +"Los elementos que hayan sido utilizados permanecerán en los archivo (¡ningún diseño se romperá!)." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs msgid "modals.unpublish-shared-confirm.message" From fa4c7a1eb7a07b68ff5c2ec6797cc50546ff53f9 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 29 Mar 2023 10:58:26 +0200 Subject: [PATCH 33/50] :bug: Fix last update project timer update after creating new file --- CHANGES.md | 1 + backend/src/app/rpc/commands/files_create.clj | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 6ac274712..7b9794529 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -70,6 +70,7 @@ - Disable empty names on rename files [Taiga #5088](https://tree.taiga.io/project/penpot/issue/5088) - Fix problem with SVG and flex layout [Taiga #](https://tree.taiga.io/project/penpot/issue/5099) - Fix unpublish and delete shared library warning messages [Taiga #5090](https://tree.taiga.io/project/penpot/issue/5090) +- Fix last update project timer update after creating new file [Taiga #5096](https://tree.taiga.io/project/penpot/issue/5096) ### :heart: Community contributions by (Thank you!) - To @ondrejkonec: for contributing to the code with: diff --git a/backend/src/app/rpc/commands/files_create.clj b/backend/src/app/rpc/commands/files_create.clj index 772d7aa25..f2cceed47 100644 --- a/backend/src/app/rpc/commands/files_create.clj +++ b/backend/src/app/rpc/commands/files_create.clj @@ -23,6 +23,7 @@ [app.util.objects-map :as omap] [app.util.pointer-map :as pmap] [app.util.services :as sv] + [app.util.time :as dt] [clojure.spec.alpha :as s])) (defn create-file-role! @@ -67,6 +68,10 @@ (->> (assoc params :file-id id :role :owner) (create-file-role! conn)) + (db/update! conn :project + {:modified-at (dt/now)} + {:id project-id}) + (files/decode-row file))) (s/def ::create-file From f05f5273366bb60413bc00d6d886e9930f3afdc7 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 29 Mar 2023 11:42:31 +0200 Subject: [PATCH 34/50] :bug: Fix allow change team image for editor role users --- backend/src/app/rpc/commands/teams.clj | 27 ++++++++++++-------- backend/src/app/rpc/permissions.clj | 8 ++++++ frontend/src/app/main/ui/dashboard/team.cljs | 16 ++++++++---- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/backend/src/app/rpc/commands/teams.clj b/backend/src/app/rpc/commands/teams.clj index 483f94266..a06d77220 100644 --- a/backend/src/app/rpc/commands/teams.clj +++ b/backend/src/app/rpc/commands/teams.clj @@ -62,12 +62,18 @@ :can-edit (or is-owner is-admin can-edit) :can-read true}))) +(def has-admin-permissions? + (perms/make-admin-predicate-fn get-permissions)) + (def has-edit-permissions? (perms/make-edition-predicate-fn get-permissions)) (def has-read-permissions? (perms/make-read-predicate-fn get-permissions)) +(def check-admin-permissions! + (perms/make-check-fn has-admin-permissions?)) + (def check-edition-permissions! (perms/make-check-fn has-edit-permissions?)) @@ -593,18 +599,19 @@ (retrieve-team pool profile-id team-id)) photo (profile/upload-photo cfg params)] - ;; Mark object as touched for make it ellegible for tentative - ;; garbage collection. - (when-let [id (:photo-id team)] - (sto/touch-object! storage id)) + (db/with-atomic [conn pool] + (check-admin-permissions! conn profile-id team-id) + ;; Mark object as touched for make it ellegible for tentative + ;; garbage collection. + (when-let [id (:photo-id team)] + (sto/touch-object! storage id)) - ;; Save new photo - (db/update! pool :team - {:photo-id (:id photo)} - {:id team-id}) - - (assoc team :photo-id (:id photo)))) + ;; Save new photo + (db/update! pool :team + {:photo-id (:id photo)} + {:id team-id}) + (assoc team :photo-id (:id photo))))) ;; --- Mutation: Create Team Invitation diff --git a/backend/src/app/rpc/permissions.clj b/backend/src/app/rpc/permissions.clj index 809e6640f..7cca62d0f 100644 --- a/backend/src/app/rpc/permissions.clj +++ b/backend/src/app/rpc/permissions.clj @@ -37,6 +37,14 @@ :is-admin false :can-edit false))) +(defn make-admin-predicate-fn + "A simple factory for admin permission predicate functions." + [qfn] + (us/assert fn? qfn) + (fn check + ([perms] (:is-admin perms)) + ([conn & args] (check (apply qfn conn args))))) + (defn make-edition-predicate-fn "A simple factory for edition permission predicate functions." [qfn] diff --git a/frontend/src/app/main/ui/dashboard/team.cljs b/frontend/src/app/main/ui/dashboard/team.cljs index 1df6d70ee..9ab16f6fa 100644 --- a/frontend/src/app/main/ui/dashboard/team.cljs +++ b/frontend/src/app/main/ui/dashboard/team.cljs @@ -900,6 +900,10 @@ stats (mf/deref refs/dashboard-team-stats) + you-owner? (get-in team [:permissions :is-owner]) + you-admin? (get-in team [:permissions :is-admin]) + can-edit? (or you-owner? you-admin?) + on-image-click (mf/use-callback #(dom/click (mf/ref-val finput))) @@ -931,12 +935,14 @@ [:div.label (tr "dashboard.team-info")] [:div.name (:name team)] [:div.icon - [:span.update-overlay {:on-click on-image-click} i/image] + (when can-edit? + [:span.update-overlay {:on-click on-image-click} i/image]) [:img {:src (cfg/resolve-team-photo-url team)}] - [:& file-uploader {:accept "image/jpeg,image/png" - :multi false - :ref finput - :on-selected on-file-selected}]]] + (when can-edit? + [:& file-uploader {:accept "image/jpeg,image/png" + :multi false + :ref finput + :on-selected on-file-selected}])]] [:div.block.owner-block [:div.label (tr "dashboard.team-members")] From 8bf01858bb19a5bfbc0cbb0124309833dd3c67f3 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 29 Mar 2023 13:53:54 +0200 Subject: [PATCH 35/50] :bug: Fix alt+P combination while left bar buttons focused --- frontend/src/app/main/data/shortcuts_impl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/main/data/shortcuts_impl.js b/frontend/src/app/main/data/shortcuts_impl.js index e0f113c89..a6c709533 100644 --- a/frontend/src/app/main/data/shortcuts_impl.js +++ b/frontend/src/app/main/data/shortcuts_impl.js @@ -20,7 +20,7 @@ target.stopCallback = function(e, element, combo) { return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || - element.tagName == 'BUTTON' || + (element.tagName == 'BUTTON' && combo.includes("tab")) || (element.contentEditable && element.contentEditable == 'true'); } From 1ea1d53971d79124bcefd5aada5ff10dedfead8e Mon Sep 17 00:00:00 2001 From: elhombretecla Date: Thu, 30 Mar 2023 07:27:04 +0200 Subject: [PATCH 36/50] :sparkles: Add new 1.18 info --- .../images/features/1.18-absolute.gif | Bin 0 -> 275566 bytes .../resources/images/features/1.18-scale.gif | Bin 0 -> 875782 bytes .../images/features/1.18-spacing.gif | Bin 0 -> 3399139 bytes .../images/features/1.18-z-index.gif | Bin 0 -> 224886 bytes frontend/src/app/main/ui/releases.cljs | 3 +- frontend/src/app/main/ui/releases/v1_18.cljs | 108 ++++++++++++++++++ 6 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 frontend/resources/images/features/1.18-absolute.gif create mode 100644 frontend/resources/images/features/1.18-scale.gif create mode 100644 frontend/resources/images/features/1.18-spacing.gif create mode 100644 frontend/resources/images/features/1.18-z-index.gif create mode 100644 frontend/src/app/main/ui/releases/v1_18.cljs diff --git a/frontend/resources/images/features/1.18-absolute.gif b/frontend/resources/images/features/1.18-absolute.gif new file mode 100644 index 0000000000000000000000000000000000000000..7e74681b8b52b186936bff71e988e3ab327b8450 GIT binary patch literal 275566 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
iuDpSRWZxQJ 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�-?}W&X>NBI(4(`0 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%0AGbE2;eXe15H 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 QbhfZ?&~;R_v4lweKT+=$ssI20 literal 0 HcmV?d00001 diff --git a/frontend/resources/images/features/1.18-scale.gif b/frontend/resources/images/features/1.18-scale.gif new file mode 100644 index 0000000000000000000000000000000000000000..29200f653b841a62ae9433c116256550df93e2e2 GIT binary patch literal 875782 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