// Queue View Component const { useState } = React; const QueueView = ({ jobs, onViewJob, onRemoveJob, onRetryJob, onCancelJob, onViewProject }) => { const [filter, setFilter] = useState('all'); const filteredJobs = jobs.filter(j => { if (filter === 'all') return true; if (filter === 'active') return ['queued', 'running'].includes(j.status); if (filter === 'completed') return j.status === 'completed'; if (filter === 'failed') return j.status === 'error'; return true; }); const filters = [ { id: 'all', label: 'Tutti', count: jobs.length }, { id: 'active', label: 'Attivi', count: jobs.filter(j => ['queued', 'running'].includes(j.status)).length }, { id: 'completed', label: 'Completati', count: jobs.filter(j => j.status === 'completed').length }, { id: 'failed', label: 'Errori', count: jobs.filter(j => j.status === 'error').length }, ]; return (
{/* Filters */}
{filters.map(f => ( ))}
{/* Jobs Grid */} {filteredJobs.length === 0 ? (
📭
Nessun lavoro

I lavori aggiunti appariranno qui

) : (
{filteredJobs.map(job => ( ))}
)}
); }; window.QueueView = QueueView;