diff --git a/web/src/routes/cutout/+page.svelte b/web/src/routes/cutout/+page.svelte index 3d923819..b38a29e0 100644 --- a/web/src/routes/cutout/+page.svelte +++ b/web/src/routes/cutout/+page.svelte @@ -12,7 +12,6 @@ let draggedOver = false; let file: File | undefined; - let result: ImageBitmap; let imageContainer: HTMLElement; let canvas: HTMLCanvasElement; @@ -20,7 +19,7 @@ let worker: Worker; - const renderImageToCanvas = () => { + const renderImageToCanvas = (result: ImageBitmap) => { if (canvas && result) { canvas.width = result.width; canvas.height = result.height; @@ -40,8 +39,7 @@ const eventData = event.data.cobaltRemoveBgWorker; if (eventData.result) { state = "done"; - result = eventData.result; - renderImageToCanvas(); + renderImageToCanvas(eventData.result); } }; @@ -53,7 +51,7 @@ }; const exportImage = async () => { - if (!result || !file) return; + if (!file) return; const resultBlob = await new Promise((resolve, reject) => { canvas.toBlob(blob => { @@ -110,7 +108,7 @@ {/if} {#if ["busy", "done"].includes(state)} -
+
{#if state === "busy"} {/if} @@ -175,6 +173,14 @@ box-shadow: var(--button-box-shadow); } + #image-preview canvas { + display: none; + } + + #image-preview.done canvas { + display: block; + } + .button-row { display: flex; flex-direction: row;