formatWords static method

String formatWords(
  1. Duration duration
)

Format duration with words (e.g., "2 hours 30 minutes")

Implementation

static String formatWords(Duration duration) {
  final hours = duration.inHours;
  final minutes = duration.inMinutes % 60;
  final seconds = duration.inSeconds % 60;

  final parts = <String>[];

  if (hours > 0) {
    parts.add('$hours ${hours == 1 ? 'hour' : 'hours'}');
  }

  if (minutes > 0) {
    parts.add('$minutes ${minutes == 1 ? 'minute' : 'minutes'}');
  }

  if (seconds > 0 || parts.isEmpty) {
    parts.add('$seconds ${seconds == 1 ? 'second' : 'seconds'}');
  }

  return parts.join(' ');
}