mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat: wire maskedFileCount through eraser props
This commit is contained in:
@@ -44,6 +44,7 @@ export interface EraserProps {
|
|||||||
brushSize: number;
|
brushSize: number;
|
||||||
onBrushSizeChange: (size: number) => void;
|
onBrushSizeChange: (size: number) => void;
|
||||||
onMaskCenter?: (centerPct: number) => void;
|
onMaskCenter?: (centerPct: number) => void;
|
||||||
|
maskedFileCount: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ── Registry entry ─────────────────────────────────────────────────
|
// ── Registry entry ─────────────────────────────────────────────────
|
||||||
|
|||||||
@@ -245,6 +245,7 @@ export function ToolPage() {
|
|||||||
const eraserRef = useRef<EraserCanvasRef | null>(null);
|
const eraserRef = useRef<EraserCanvasRef | null>(null);
|
||||||
const [eraserHasStrokes, setEraserHasStrokes] = useState(false);
|
const [eraserHasStrokes, setEraserHasStrokes] = useState(false);
|
||||||
const [eraserBrushSize, setEraserBrushSize] = useState(30);
|
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
|
// Center of the painted mask as a 0-100 percentage — used to init the slider at the right spot
|
||||||
const [eraserSliderInitPos, setEraserSliderInitPos] = useState<number | null>(null);
|
const [eraserSliderInitPos, setEraserSliderInitPos] = useState<number | null>(null);
|
||||||
|
|
||||||
@@ -267,6 +268,7 @@ export function ToolPage() {
|
|||||||
setCropShowGrid(true);
|
setCropShowGrid(true);
|
||||||
setCropImgDimensions(null);
|
setCropImgDimensions(null);
|
||||||
setEraserHasStrokes(false);
|
setEraserHasStrokes(false);
|
||||||
|
setEraserMaskedCount(0);
|
||||||
setEraserBrushSize(30);
|
setEraserBrushSize(30);
|
||||||
setEraserSliderInitPos(null);
|
setEraserSliderInitPos(null);
|
||||||
setMobileSettingsOpen(true);
|
setMobileSettingsOpen(true);
|
||||||
@@ -422,6 +424,7 @@ export function ToolPage() {
|
|||||||
brushSize: eraserBrushSize,
|
brushSize: eraserBrushSize,
|
||||||
onBrushSizeChange: setEraserBrushSize,
|
onBrushSizeChange: setEraserBrushSize,
|
||||||
onMaskCenter: setEraserSliderInitPos,
|
onMaskCenter: setEraserSliderInitPos,
|
||||||
|
maskedFileCount: eraserMaskedCount,
|
||||||
}
|
}
|
||||||
: undefined,
|
: undefined,
|
||||||
};
|
};
|
||||||
@@ -507,6 +510,7 @@ export function ToolPage() {
|
|||||||
imageSrc={originalBlobUrl}
|
imageSrc={originalBlobUrl}
|
||||||
brushSize={eraserBrushSize}
|
brushSize={eraserBrushSize}
|
||||||
onStrokeChange={setEraserHasStrokes}
|
onStrokeChange={setEraserHasStrokes}
|
||||||
|
onMaskedCountChange={setEraserMaskedCount}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user