diff --git a/frontend/src/lib/components/canvas/Canvas.svelte b/frontend/src/lib/components/canvas/Canvas.svelte
index c55e7c5..ded668b 100644
--- a/frontend/src/lib/components/canvas/Canvas.svelte
+++ b/frontend/src/lib/components/canvas/Canvas.svelte
@@ -426,6 +426,18 @@
};
}
+ // --- Reset zoom (ankret til viewport-sentrum) ---
+ function resetZoom() {
+ const cx = viewport.width / 2;
+ const cy = viewport.height / 2;
+ const scale = 1.0 / camera.zoom;
+ camera = {
+ x: cx - scale * (cx - camera.x),
+ y: cy - scale * (cy - camera.y),
+ zoom: 1.0,
+ };
+ }
+
// --- Fullscreen ---
function toggleFullscreen() {
isFullscreen = !isFullscreen;
@@ -478,7 +490,7 @@
ondblclick={(e) => {
if (!(e.target as HTMLElement).closest('[data-canvas-object-id]') &&
!(e.target as HTMLElement).closest('.canvas-toolbar')) {
- camera = { ...camera, zoom: 1.0 };
+ resetZoom();
}
}}
ontouchstart={handleTouchStart}
@@ -496,7 +508,7 @@
title="Zoom ut (−15%)"
aria-label="Zoom ut"
>−
-
+