diff --git a/apps/web/src/lib/tool-registry.tsx b/apps/web/src/lib/tool-registry.tsx index 8c94fd50..2eaa7dbe 100644 --- a/apps/web/src/lib/tool-registry.tsx +++ b/apps/web/src/lib/tool-registry.tsx @@ -44,6 +44,7 @@ export interface EraserProps { brushSize: number; onBrushSizeChange: (size: number) => void; onMaskCenter?: (centerPct: number) => void; + maskedFileCount: number; } // ── Registry entry ───────────────────────────────────────────────── diff --git a/apps/web/src/pages/tool-page.tsx b/apps/web/src/pages/tool-page.tsx index 583d4f77..168f0814 100644 --- a/apps/web/src/pages/tool-page.tsx +++ b/apps/web/src/pages/tool-page.tsx @@ -245,6 +245,7 @@ export function ToolPage() { const eraserRef = useRef(null); const [eraserHasStrokes, setEraserHasStrokes] = useState(false); const [eraserBrushSize, setEraserBrushSize] = useState(30); + const [eraserMaskedCount, setEraserMaskedCount] = useState(0); // Center of the painted mask as a 0-100 percentage — used to init the slider at the right spot const [eraserSliderInitPos, setEraserSliderInitPos] = useState(null); @@ -267,6 +268,7 @@ export function ToolPage() { setCropShowGrid(true); setCropImgDimensions(null); setEraserHasStrokes(false); + setEraserMaskedCount(0); setEraserBrushSize(30); setEraserSliderInitPos(null); setMobileSettingsOpen(true); @@ -422,6 +424,7 @@ export function ToolPage() { brushSize: eraserBrushSize, onBrushSizeChange: setEraserBrushSize, onMaskCenter: setEraserSliderInitPos, + maskedFileCount: eraserMaskedCount, } : undefined, }; @@ -507,6 +510,7 @@ export function ToolPage() { imageSrc={originalBlobUrl} brushSize={eraserBrushSize} onStrokeChange={setEraserHasStrokes} + onMaskedCountChange={setEraserMaskedCount} /> ); }