From a940c7e9122d90485e889ed28697fc24097016bc Mon Sep 17 00:00:00 2001
From: Eva <eva.marco@kaleidos.net>
Date: Wed, 12 Jul 2023 09:23:51 +0200
Subject: [PATCH 1/4] :bug: Fix onboarding modal height

---
 CHANGES.md                                    |  1 +
 .../resources/styles/main/partials/modal.scss |  3 +-
 .../main/partials/signup-questions.scss       | 61 ++++++++++++-------
 .../src/app/main/ui/onboarding/questions.cljs | 16 ++---
 4 files changed, 49 insertions(+), 32 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 7d22d1195..f9d0b9534 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -75,6 +75,7 @@
 - Fix retrieve user comments in dashboard [Taiga #5607](https://tree.taiga.io/project/penpot/issue/5607)
 - Locks shapes when moved inside a locked parent [Taiga #5252](https://tree.taiga.io/project/penpot/issue/5252)
 - Fix rotate several elements in bulk [Taiga #5165](https://tree.taiga.io/project/penpot/issue/5165)
+- Fix onboarding slides height [Taiga #5373](https://tree.taiga.io/project/penpot/issue/5373)
  
 ### :arrow_up: Deps updates
 
diff --git a/frontend/resources/styles/main/partials/modal.scss b/frontend/resources/styles/main/partials/modal.scss
index 17f67146a..3636416c4 100644
--- a/frontend/resources/styles/main/partials/modal.scss
+++ b/frontend/resources/styles/main/partials/modal.scss
@@ -899,7 +899,8 @@
   }
 
   &.onboarding-v2 {
-    min-height: 464px;
+    min-height: unset;
+    height: 100%;
     min-width: 752px;
     .modal-left {
       background-color: $color-gray-50;
diff --git a/frontend/resources/styles/main/partials/signup-questions.scss b/frontend/resources/styles/main/partials/signup-questions.scss
index 35ec09c5f..ee1f42645 100644
--- a/frontend/resources/styles/main/partials/signup-questions.scss
+++ b/frontend/resources/styles/main/partials/signup-questions.scss
@@ -7,12 +7,16 @@
 .signup-questions {
   background-color: $color-white;
   color: $color-gray-60;
-  height: 710px;
   max-width: 646px;
   overflow-y: auto;
   padding: 1.5rem 1rem;
   position: relative;
   width: 100%;
+  form {
+    display: flex;
+    flex-direction: column;
+    height: 100%;
+  }
 
   h1,
   h3 {
@@ -33,6 +37,9 @@
     height: 2.5rem;
     width: 100%;
   }
+  .custom-select {
+    margin-bottom: 10px;
+  }
 
   .step-number {
     background-color: $color-gray-10;
@@ -71,30 +78,38 @@
       margin: 0.75rem 0 2rem 0;
     }
   }
-
-  .step-prev {
-    position: absolute;
-    left: 1rem;
-    bottom: 1.25rem;
-    button {
-      background-color: transparent;
-      border: none;
-      cursor: pointer;
-      font-size: $fs15;
+  .buttons {
+    flex-grow: 1;
+    display: grid;
+    grid-template-columns: 50% 50%;
+    grid-template-areas: "previous next";
+    .step-prev {
+      display: flex;
+      align-items: end;
+      justify-content: flex-start;
+      grid-area: previous;
+      button {
+        background-color: transparent;
+        border: none;
+        cursor: pointer;
+        height: 40px;
+        font-size: $fs15;
+      }
     }
-  }
 
-  .step-next {
-    display: flex;
-    position: absolute;
-    right: 1rem;
-    bottom: 0rem;
-    input {
-      font-size: $fs15;
-      color: $color-black;
-      background-color: $color-primary;
-      width: 11rem;
-      margin-left: auto;
+    .step-next {
+      display: flex;
+      align-items: end;
+      justify-content: flex-end;
+      grid-area: next;
+      input {
+        font-size: $fs15;
+        color: $color-black;
+        background-color: $color-primary;
+        width: 11rem;
+        margin-left: auto;
+        margin: 0;
+      }
     }
   }
 
diff --git a/frontend/src/app/main/ui/onboarding/questions.cljs b/frontend/src/app/main/ui/onboarding/questions.cljs
index a64905e4d..d5cd52a95 100644
--- a/frontend/src/app/main/ui/onboarding/questions.cljs
+++ b/frontend/src/app/main/ui/onboarding/questions.cljs
@@ -24,15 +24,15 @@
     [:div.step-number (str/ffmt "%/4" step)]]
 
    children
+   [:div.buttons
+    [:div.step-next
+     [:& fm/submit-button
+      {:label (if (< step 4) (tr "questions.next") (tr "questions.start"))
+       :class "step-next"}]]
 
-   [:div.step-next
-    [:& fm/submit-button
-     {:label (if (< step 4) (tr "questions.next") (tr "questions.start"))
-      :class "step-next"}]]
-
-   (when on-prev
-     [:div.step-prev
-      [:button {:on-click on-prev} (tr "questions.previous")]])])
+    (when on-prev
+      [:div.step-prev
+       [:button {:on-click on-prev} (tr "questions.previous")]])]])
 
 (s/def ::questions-form-step-1
   (s/keys :req-un [::planning]))

From ee733849931bda16b864766b3d7b92310496c05b Mon Sep 17 00:00:00 2001
From: Eva <eva.marco@kaleidos.net>
Date: Wed, 12 Jul 2023 10:35:20 +0200
Subject: [PATCH 2/4] :bug: Fix create typography with section closed

---
 CHANGES.md                                             | 1 +
 frontend/src/app/main/ui/workspace/sidebar/assets.cljs | 1 +
 2 files changed, 2 insertions(+)

diff --git a/CHANGES.md b/CHANGES.md
index f9d0b9534..2c5ab6946 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -76,6 +76,7 @@
 - Locks shapes when moved inside a locked parent [Taiga #5252](https://tree.taiga.io/project/penpot/issue/5252)
 - Fix rotate several elements in bulk [Taiga #5165](https://tree.taiga.io/project/penpot/issue/5165)
 - Fix onboarding slides height [Taiga #5373](https://tree.taiga.io/project/penpot/issue/5373)
+- Fix create typography with section closed [Taiga #5574](https://tree.taiga.io/project/penpot/issue/5574)
  
 ### :arrow_up: Deps updates
 
diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs
index d67352717..8b8e66665 100644
--- a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs
+++ b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs
@@ -1879,6 +1879,7 @@
         (mf/use-fn
          (mf/deps file-id)
          (fn [_]
+           (st/emit! (dw/set-assets-section-open file-id :typographies true))
            (st/emit! (dwt/add-typography file-id))))
 
         handle-change

From 13b17628734c513126ffa4f1e325ff15a5926c4e Mon Sep 17 00:00:00 2001
From: Eva <eva.marco@kaleidos.net>
Date: Wed, 12 Jul 2023 13:04:52 +0200
Subject: [PATCH 3/4] :bug: Fix exports menu on viewer mode

---
 CHANGES.md                                    |  1 +
 .../app/main/ui/viewer/inspect/exports.cljs   | 47 ++++++++++++-------
 .../sidebar/options/menus/exports.cljs        |  4 +-
 3 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 2c5ab6946..5327be2bb 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -77,6 +77,7 @@
 - Fix rotate several elements in bulk [Taiga #5165](https://tree.taiga.io/project/penpot/issue/5165)
 - Fix onboarding slides height [Taiga #5373](https://tree.taiga.io/project/penpot/issue/5373)
 - Fix create typography with section closed [Taiga #5574](https://tree.taiga.io/project/penpot/issue/5574)
+- Fix exports menu on viewer mode [Taiga #5568](https://tree.taiga.io/project/penpot/issue/5568)
  
 ### :arrow_up: Deps updates
 
diff --git a/frontend/src/app/main/ui/viewer/inspect/exports.cljs b/frontend/src/app/main/ui/viewer/inspect/exports.cljs
index fc8422f81..4a3442134 100644
--- a/frontend/src/app/main/ui/viewer/inspect/exports.cljs
+++ b/frontend/src/app/main/ui/viewer/inspect/exports.cljs
@@ -13,6 +13,7 @@
    [app.main.ui.icons :as i]
    [app.util.dom :as dom]
    [app.util.i18n :refer [tr c]]
+   [app.util.keyboard :as kbd]
    [rumext.v2 :as mf]))
 
 (mf/defc exports
@@ -30,6 +31,11 @@
                           (str suffix)))
                       (:name page))
 
+        scale-enabled?
+        (mf/use-callback
+         (fn [export]
+           (#{:png :jpeg} (:type export))))
+
         in-progress? (:in-progress xstate)
 
         on-download
@@ -97,7 +103,13 @@
            (let [target  (dom/get-target event)
                  value   (dom/get-value target)
                  value   (keyword value)]
-             (swap! exports assoc-in [index :type] value))))]
+             (swap! exports assoc-in [index :type] value))))
+        manage-key-down
+        (mf/use-callback
+         (fn [event]
+           (let [esc?   (kbd/esc? event)]
+             (when esc?
+               (dom/blur! (dom/get-target event))))))]
 
     (mf/use-effect
      (mf/deps shapes)
@@ -117,24 +129,27 @@
         (for [[index export] (d/enumerate @exports)]
           [:div.element-set-options-group
            {:key index}
-           [:select.input-select {:on-change (partial on-scale-change index)
-                                  :value (:scale export)}
-            [:option {:value "0.5"}  "0.5x"]
-            [:option {:value "0.75"} "0.75x"]
-            [:option {:value "1"} "1x"]
-            [:option {:value "1.5"} "1.5x"]
-            [:option {:value "2"} "2x"]
-            [:option {:value "4"} "4x"]
-            [:option {:value "6"} "6x"]]
+           (when (scale-enabled? export)
+             [:select.input-select {:on-change (partial on-scale-change index)
+                                    :value (:scale export)}
+              [:option {:value "0.5"}  "0.5x"]
+              [:option {:value "0.75"} "0.75x"]
+              [:option {:value "1"} "1x"]
+              [:option {:value "1.5"} "1.5x"]
+              [:option {:value "2"} "2x"]
+              [:option {:value "4"} "4x"]
+              [:option {:value "6"} "6x"]])
 
-           [:input.input-text {:on-change (partial on-suffix-change index)
-                               :value (:suffix export)}]
-           [:select.input-select {:on-change (partial on-type-change index)
-                                  :value (d/name (:type export))}
+           [:input.input-text {:value (:suffix export)
+                               :placeholder (tr "workspace.options.export.suffix")
+                               :on-change (partial on-suffix-change index)
+                               :on-key-down manage-key-down}]
+           [:select.input-select {:value (d/name (:type export))
+                                  :on-change (partial on-type-change index)}
             [:option {:value "png"} "PNG"]
             [:option {:value "jpeg"} "JPEG"]
-            [:option {:value "svg"} "SVG"]]
-
+            [:option {:value "svg"} "SVG"]
+            [:option {:value "pdf"} "PDF"]]
            [:div.delete-icon {:on-click (partial delete-export index)}
             i/minus]])
 
diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/exports.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/exports.cljs
index c9f94e715..191051640 100644
--- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/exports.cljs
+++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/exports.cljs
@@ -125,7 +125,7 @@
            (st/emit! (dch/update-shapes ids
                                         (fn [shape]
                                           (assoc shape :exports []))))))
-        manage-key-down 
+        manage-key-down
         (mf/use-callback
          (fn [event]
            (let [esc?   (kbd/esc? event)]
@@ -165,7 +165,7 @@
                                :placeholder (tr "workspace.options.export.suffix")
                                :on-change (partial on-suffix-change index)
                                :on-key-down manage-key-down}]
-           [:select.input-select {:value (name (:type export))
+           [:select.input-select {:value (d/name (:type export))
                                   :on-change (partial on-type-change index)}
             [:option {:value "png"} "PNG"]
             [:option {:value "jpeg"} "JPEG"]

From 965c4fe243f5cc93827cc66593928a50767d0712 Mon Sep 17 00:00:00 2001
From: Eva <eva.marco@kaleidos.net>
Date: Wed, 12 Jul 2023 13:45:38 +0200
Subject: [PATCH 4/4] :bug: Fix create empty comments

---
 CHANGES.md                             |  3 ++-
 frontend/src/app/main/ui/comments.cljs | 13 +++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 5327be2bb..51467bfbc 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -78,7 +78,8 @@
 - Fix onboarding slides height [Taiga #5373](https://tree.taiga.io/project/penpot/issue/5373)
 - Fix create typography with section closed [Taiga #5574](https://tree.taiga.io/project/penpot/issue/5574)
 - Fix exports menu on viewer mode [Taiga #5568](https://tree.taiga.io/project/penpot/issue/5568)
- 
+- Fix create empty comments [Taiga #5536](https://tree.taiga.io/project/penpot/issue/5536)
+
 ### :arrow_up: Deps updates
 
 - Update google fonts catalog (at 2023/07/06) [Taiga #5592](https://tree.taiga.io/project/penpot/issue/5592)
diff --git a/frontend/src/app/main/ui/comments.cljs b/frontend/src/app/main/ui/comments.cljs
index 7adcede2d..0b0cdff15 100644
--- a/frontend/src/app/main/ui/comments.cljs
+++ b/frontend/src/app/main/ui/comments.cljs
@@ -16,6 +16,7 @@
    [app.main.refs :as refs]
    [app.main.store :as st]
    [app.main.ui.components.dropdown :refer [dropdown]]
+   [app.main.ui.components.forms :as fm]
    [app.main.ui.icons :as i]
    [app.util.dom :as dom]
    [app.util.i18n :as i18n :refer [tr]]
@@ -66,8 +67,7 @@
              (let [target (dom/get-target event)]
                (dom/select-text! target)
                ;; In webkit browsers the mouseup event will be called after the on-focus causing and unselect
-               (.addEventListener target "mouseup" dom/prevent-default #js {:once true})))))
-        ]
+               (.addEventListener target "mouseup" dom/prevent-default #js {:once true})))))]
 
 
 
@@ -129,7 +129,8 @@
          {:type "button"
           :value "Post"
           :on-click on-submit
-          :disabled (str/empty-or-nil? @content)}]
+          :disabled (or (fm/all-spaces? @content)
+                        (str/empty-or-nil? @content))}]
         [:input.btn-secondary
          {:type "button"
           :value "Cancel"
@@ -186,7 +187,8 @@
          {:on-click on-submit
           :type "button"
           :value "Post"
-          :disabled (str/empty-or-nil? content)}]
+          :disabled (or (fm/all-spaces? content)
+                        (str/empty-or-nil? content))}]
         [:input.btn-secondary
          {:on-click on-esc
           :type "button"
@@ -203,8 +205,7 @@
         on-submit*
         (mf/use-fn
          (mf/deps @content)
-         (fn [] (on-submit @content)))
-        ]
+         (fn [] (on-submit @content)))]
 
 
     [:div.reply-form.edit-form