diff --git a/string-art-website/src/features/3RenderImage/components/StringArtCanvas/StringArtCanvas.tsx b/string-art-website/src/features/3RenderImage/components/StringArtCanvas/StringArtCanvas.tsx index d54bf7c..87e0212 100644 --- a/string-art-website/src/features/3RenderImage/components/StringArtCanvas/StringArtCanvas.tsx +++ b/string-art-website/src/features/3RenderImage/components/StringArtCanvas/StringArtCanvas.tsx @@ -17,6 +17,8 @@ export const StringArtCanvas = forwardRef(null); const [showOriginal, setShowOriginal] = useState(false); + const hasDrawableStringArt = currentPath.length > 1; + const shouldShowOriginal = !!imageUrl && (showOriginal || !hasDrawableStringArt); useImperativeHandle(ref, () => canvasInternalRef.current as HTMLCanvasElement); @@ -29,11 +31,11 @@ export const StringArtCanvas = forwardRef { if (isCancelled) return; @@ -86,7 +88,7 @@ export const StringArtCanvas = forwardRef { isCancelled = true; }; - }, [width, height, nailCoords, currentPath, showOriginal, imageUrl]); + }, [width, height, nailCoords, currentPath, shouldShowOriginal, imageUrl]); return (
@@ -96,9 +98,9 @@ export const StringArtCanvas = forwardRef setShowOriginal(!showOriginal)} className={style['toggle-button']} - disabled={!imageUrl} + disabled={!imageUrl || !hasDrawableStringArt} > - {showOriginal ? 'Show String Art' : 'Show Original'} + {hasDrawableStringArt && shouldShowOriginal ? 'Show String Art' : 'Show Original'}