"use client";
import { useEffect, useState } from "react";
import { Mic2, Drum, Activity, Music, Cpu, FileAudio } from "lucide-react";
export default function ExtractionFlowDiagram({ isProcessing, progress, stemCount = 4, isolateVocals = true }: { isProcessing: boolean, progress: number, stemCount?: number, isolateVocals?: boolean }) {
const [mounted, setMounted] = useState(false);
useEffect(() => {
// eslint-disable-next-line react-hooks/set-state-in-effect
setMounted(true);
}, []);
if (!mounted) return null;
return (
{/* Dynamic Background Glows */}
{/* SVG CONNECTING LINES */}
{/* NODES LAYER */}
{/* TOP NODE */}
{/* MIDDLE NODE */}
TARGET(engine)
{isProcessing ? `processing.invoke(${progress}%)` : 'engine.ready()'}
{/* BOTTOM NODES */}
{isolateVocals && (
Vocals
{isProcessing &&
}
{stemCount === 2 ? (
) : (
<>
>
)}
)}
);
}