import { useBackgroundRemoval } from '../../hooks/useBackgroundRemoval'; export function BackgroundRemovalButton({ selectedElement, onUpdate }) { const { loading, progress, hasModel, loadModel, removeBackground } = useBackgroundRemoval(); const handleRemoveBackground = async () => { if (!selectedElement || selectedElement.type !== 'image') return; if (!hasModel) { const loaded = await loadModel(); if (!loaded) return; } const resultUrl = await removeBackground(selectedElement.src); if (resultUrl) onUpdate(selectedElement.id, { src: resultUrl, bgRemoved: true }); }; if (!selectedElement || selectedElement.type !== 'image') return null; return (
First use requires downloading ~86MB model. Subsequent uses are cached.
}