import React, { useEffect, useState } from 'react'; import { Check, FileText, Loader2, ScanText, Sparkles } from 'lucide-react'; const STAGES = [ { icon: ScanText, label: 'PDF parsen' }, { icon: FileText, label: 'Quelldateien lesen' }, { icon: Sparkles, label: 'Daten extrahieren' }, { icon: Check, label: 'Felder mappen' }, ]; export const ProcessingIndicator: React.FC = () => { const [elapsed, setElapsed] = useState(0); const [activeStage, setActiveStage] = useState(0); useEffect(() => { const started = Date.now(); const id = setInterval(() => { const s = Math.floor((Date.now() - started) / 1000); setElapsed(s); // Rotierende Stage alle 6 Sekunden — nur Deko, kein echter Progress. setActiveStage(Math.min(Math.floor(s / 6), STAGES.length - 1)); }, 500); return () => clearInterval(id); }, []); const minutes = Math.floor(elapsed / 60); const seconds = elapsed % 60; const elapsedLabel = minutes > 0 ? `${minutes}:${seconds.toString().padStart(2, '0')} min` : `${seconds}s`; return (
Die Claude-CLI liest alle Quellen und mappt die Daten auf die AcroForm-Feldnamen.
Läuft seit {elapsedLabel}