import { useEffect, useState } from 'react' import { Link } from 'react-router-dom' import { getActorWorkload } from '../../api/workspace.js' import { ModeShell } from '../../components/ModeShell.jsx' import { LoadingState } from '../../components/LoadingState.jsx' import { ErrorState } from '../../components/ErrorState.jsx' import { scopedPath } from '../../utils/routes.js' export function TeamPage() { const [rows, setRows] = useState(null) const [error, setError] = useState(null) useEffect(() => { let cancelled = false getActorWorkload() .then((data) => { if (!cancelled) setRows(data) }) .catch((err) => { if (!cancelled) setError(err.message) }) return () => { cancelled = true } }, []) return (
{rows === null && !error && } {error && } {rows && (

Auslastung nach Actor

{rows.length === 0 ? (

Keine Zuweisungen im Portfolio.

) : (
    {rows.map((row) => (
  • {row.actor_name || row.actor_id} {' '} · {row.open_actions ?? 0} offen {(row.blocked_actions ?? 0) > 0 ? ` · ${row.blocked_actions} blockiert` : ''}
    Queue ansehen
  • ))}
)}

AP1.9b erweitert Team um Filter nach Vorhaben und direkte Zuweisungslinks.

)}
) }