diff --git a/CHANGES.md b/CHANGES.md index 76cbb9408..db68dcc08 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -12,6 +12,12 @@ ### :heart: Community contributions by (Thank you!) +## 1.19.4 + +### :sparkles: New features + +- Improve selected colors [Taiga #5805]( https://tree.taiga.io/project/penpot/us/5805) + ## 1.19.3 ### :sparkles: New features diff --git a/docker/images/files/nginx.conf b/docker/images/files/nginx.conf index c9a9f4eed..bdf52f389 100644 --- a/docker/images/files/nginx.conf +++ b/docker/images/files/nginx.conf @@ -50,6 +50,8 @@ http { proxy_cache_valid any 48h; proxy_cache_key "$host$request_uri"; + include /etc/nginx/overrides.d/*.conf; + server { listen 80 default_server; server_name _; diff --git a/frontend/src/app/main/data/users.cljs b/frontend/src/app/main/data/users.cljs index a72be9c4e..ddf8d7400 100644 --- a/frontend/src/app/main/data/users.cljs +++ b/frontend/src/app/main/data/users.cljs @@ -105,9 +105,15 @@ ptk/EffectEvent (effect [_ state _] - (when-let [profile (:profile state)] - (swap! storage assoc :profile profile) - (i18n/set-locale! (:lang profile)))))) + (let [profile (:profile state) + email (:email profile) + previous-profile (:profile @storage) + previous-email (:email previous-profile)] + (when profile + (swap! storage assoc :profile profile) + (i18n/set-locale! (:lang profile)) + (when (not= previous-email email) + (swap! storage dissoc ::current-team-id))))))) (defn fetch-profile [] @@ -247,9 +253,8 @@ ptk/EffectEvent (effect [_ _ _] - ;; We prefer to keek some stuff in the storage like the current-team-id + ;; We prefer to keek some stuff in the storage like the current-team-id and the profile (swap! storage dissoc :redirect-url) - (swap! storage dissoc :profile) (i18n/reset-locale))))) (defn logout 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 333103028..87bc5af23 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 @@ -151,8 +151,8 @@ (mf/defc color-selection-menu {::mf/wrap [#(mf/memo' % (mf/check-props ["shapes"]))]} [{:keys [shapes file-id shared-libs] :as props}] - (let [{:keys [all-colors grouped-colors library-colors colors]} (mf/with-memo [shapes file-id shared-libs] - (prepare-colors shapes file-id shared-libs)) + (let [{:keys [ grouped-colors library-colors colors]} (mf/with-memo [shapes file-id shared-libs] + (prepare-colors shapes file-id shared-libs)) expand-lib-color (mf/use-state false) expand-color (mf/use-state false) @@ -202,13 +202,26 @@ (mf/with-effect [grouped-colors] (reset! grouped-colors* grouped-colors)) - (when (> (count all-colors) 1) - [:div.element-set - [:div.element-set-title - [:span (tr "workspace.options.selection-color")]] - [:div.element-set-content - [:div.selected-colors - (for [[index color] (d/enumerate (take 3 library-colors))] + [:div.element-set + [:div.element-set-title + [:span (tr "workspace.options.selection-color")]] + [:div.element-set-content + [:div.selected-colors + (for [[index color] (d/enumerate (take 3 library-colors))] + [:& color-row {:key (dm/str "library-color-" (:color color)) + :color color + :index index + :on-detach on-detach + :select-only select-only + :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] + [:span.text (tr "workspace.options.more-lib-colors")]]) + (when @expand-lib-color + (for [[index color] (d/enumerate (drop 3 library-colors))] [:& color-row {:key (dm/str "library-color-" (:color color)) :color color :index index @@ -216,41 +229,27 @@ :select-only select-only :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] - [:span.text (tr "workspace.options.more-lib-colors")]]) - (when @expand-lib-color - (for [[index color] (d/enumerate (drop 3 library-colors))] - [:& color-row {:key (dm/str "library-color-" (:color color)) - :color color - :index index - :on-detach on-detach - :select-only select-only - :on-change #(on-change %1 color %2) - :on-open on-open - :on-close on-close}]))] + :on-close on-close}]))] - [:div.selected-colors - (for [[index color] (d/enumerate (take 3 colors))] - [:& color-row {:key (dm/str "color-" index) + [:div.selected-colors + (for [[index color] (d/enumerate (take 3 colors))] + [:& color-row {:key (dm/str "color-" index) + :color color + :index index + :select-only select-only + :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] + [:span.text (tr "workspace.options.more-colors")]]) + (when @expand-color + (for [[index color] (d/enumerate (drop 3 colors))] + [:& color-row {:key (dm/str "color-" (:color color)) :color color :index index :select-only select-only :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] - [:span.text (tr "workspace.options.more-colors")]]) - (when @expand-color - (for [[index color] (d/enumerate (drop 3 colors))] - [:& color-row {:key (dm/str "color-" (:color color)) - :color color - :index index - :select-only select-only - :on-change #(on-change %1 color %2) - :on-open on-open - :on-close on-close}]))]]]))) + :on-close on-close}]))]]])) diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs index 1c8585f1b..4f7a8d049 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs @@ -93,11 +93,10 @@ [:& stroke-menu {:ids ids :type type :values stroke-values}] - (when (> (count objects) 2) - [:& color-selection-menu {:type type - :shapes (vals objects) - :file-id file-id - :shared-libs shared-libs}]) + [:& color-selection-menu {:type type + :shapes (vals objects) + :file-id file-id + :shared-libs shared-libs}] [:& shadow-menu {:ids ids :values (select-keys shape [:shadow])}] [:& blur-menu {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs index 3ee8055a3..a9b05d50b 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs @@ -97,11 +97,10 @@ (when-not (empty? stroke-ids) [:& stroke-menu {:type type :ids stroke-ids :values stroke-values}]) - (when (> (count objects) 2) - [:& color-selection-menu {:type type - :shapes (vals objects) - :file-id file-id - :shared-libs shared-libs}]) + [:& color-selection-menu {:type type + :shapes (vals objects) + :file-id file-id + :shared-libs shared-libs}] (when-not (empty? shadow-ids) [:& shadow-menu {:type type :ids shadow-ids :values shadow-values}])