diff --git a/src/lib/components/common/ImagePreview.svelte b/src/lib/components/common/ImagePreview.svelte index 16253b8a2..c1d1fef6b 100644 --- a/src/lib/components/common/ImagePreview.svelte +++ b/src/lib/components/common/ImagePreview.svelte @@ -7,6 +7,8 @@ let mounted = false; + let previewElement = null; + const downloadImage = (url, filename) => { fetch(url) .then((response) => response.blob()) @@ -34,14 +36,14 @@ mounted = true; }); - $: if (mounted) { - if (show) { - window.addEventListener('keydown', handleKeyDown); - document.body.style.overflow = 'hidden'; - } else { - window.removeEventListener('keydown', handleKeyDown); - document.body.style.overflow = 'unset'; - } + $: if (show && previewElement) { + document.body.appendChild(previewElement); + window.addEventListener('keydown', handleKeyDown); + document.body.style.overflow = 'hidden'; + } else if (previewElement) { + window.removeEventListener('keydown', handleKeyDown); + document.body.removeChild(previewElement); + document.body.style.overflow = 'unset'; } @@ -49,7 +51,8 @@