diff --git a/lama_cleaner/app/src/components/Editor/Editor.tsx b/lama_cleaner/app/src/components/Editor/Editor.tsx index 7b91bb1..a8e72c8 100644 --- a/lama_cleaner/app/src/components/Editor/Editor.tsx +++ b/lama_cleaner/app/src/components/Editor/Editor.tsx @@ -82,6 +82,7 @@ export default function Editor(props: EditorProps) { const [showOriginal, setShowOriginal] = useState(false) const [isInpaintingLoading, setIsInpaintingLoading] = useState(false) const [scale, setScale] = useState(1) + const [panned, setPanned] = useState(false) const [minScale, setMinScale] = useState(1.0) const [sizeLimit, setSizeLimit] = useState(1080) const windowSize = useWindowSize() @@ -286,7 +287,8 @@ export default function Editor(props: EditorProps) { viewport.setTransform(offsetX, offsetY, minScale, 200, 'easeOutQuad') viewport.state.scale = minScale setScale(minScale) - }, [viewportRef, minScale, original, windowSize]) + setPanned(false) + }, [viewportRef, minScale, original, windowSize, panned]) useEffect(() => { window.addEventListener('resize', () => { @@ -596,6 +598,11 @@ export default function Editor(props: EditorProps) { doubleClick={{ disabled: true }} initialScale={minScale} minScale={minScale} + onPanning={ref => { + if (!panned) { + setPanned(true) + } + }} onZoom={ref => { setScale(ref.state.scale) }} @@ -681,7 +688,7 @@ export default function Editor(props: EditorProps) {