diff --git a/CHANGES.md b/CHANGES.md index 03db0201a5..e783fd5657 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 33690b5c0c..1adedc3ffc 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