getTaskStatusIcon function

IconData getTaskStatusIcon(
  1. TaskStatus status, {
  2. bool isIdle = false,
  3. bool awaitingApproval = false,
  4. bool hasError = false,
  5. bool shutdownRequested = false,
})

Returns the appropriate icon for a task based on status and state flags. Port of getTaskStatusIcon() from taskStatusUtils.tsx.

Implementation

IconData getTaskStatusIcon(
  TaskStatus status, {
  bool isIdle = false,
  bool awaitingApproval = false,
  bool hasError = false,
  bool shutdownRequested = false,
}) {
  if (hasError) return Icons.close;
  if (awaitingApproval) return Icons.help_outline;
  if (shutdownRequested) return Icons.warning_amber;
  if (status == TaskStatus.running) {
    if (isIdle) return Icons.more_horiz;
    return Icons.play_arrow;
  }
  if (status == TaskStatus.completed) return Icons.check;
  if (status == TaskStatus.failed || status == TaskStatus.killed) {
    return Icons.close;
  }
  return Icons.circle;
}