From b4bf6b9235a369f601f11a6b2cc454a357999d5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moya?= Date: Fri, 21 Jan 2022 17:00:51 +0100 Subject: [PATCH] :bug: Fix zoom in/out after fit or fill in viewer --- CHANGES.md | 1 + frontend/src/app/main/data/viewer.cljs | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 03db0201a..e783fd565 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -72,6 +72,7 @@ - Fix default profile image generation issue [Taiga #2601](https://tree.taiga.io/project/penpot/issue/2601) - Fix edit blur attributes for multiselection [Taiga #2625](https://tree.taiga.io/project/penpot/issue/2625) - Fix auto hide header in viewer full screen [Taiga #2632](https://tree.taiga.io/project/penpot/issue/2632) +- Fix zoom in/out after fit or fill [Taiga #2630](https://tree.taiga.io/project/penpot/issue/2630) ### :arrow_up: Deps updates diff --git a/frontend/src/app/main/data/viewer.cljs b/frontend/src/app/main/data/viewer.cljs index 33690b5c0..1adedc3ff 100644 --- a/frontend/src/app/main/data/viewer.cljs +++ b/frontend/src/app/main/data/viewer.cljs @@ -190,19 +190,21 @@ (ptk/reify ::increase-zoom ptk/UpdateEvent (update [_ state] - (let [increase #(nth c/zoom-levels - (+ (d/index-of c/zoom-levels %) 1) - (last c/zoom-levels))] - (update-in state [:viewer-local :zoom] (fnil increase 1)))))) + (let [increase (fn [zoom] + (d/seek #(> % zoom) + c/zoom-levels + zoom))] + (update-in state [:viewer-local :zoom] increase))))) (def decrease-zoom (ptk/reify ::decrease-zoom ptk/UpdateEvent (update [_ state] - (let [decrease #(nth c/zoom-levels - (- (d/index-of c/zoom-levels %) 1) - (first c/zoom-levels))] - (update-in state [:viewer-local :zoom] (fnil decrease 1)))))) + (let [decrease (fn [zoom] + (d/seek #(< % zoom) + (reverse c/zoom-levels) + zoom))] + (update-in state [:viewer-local :zoom] decrease))))) (def reset-zoom (ptk/reify ::reset-zoom