formatDuration function

String formatDuration(
  1. double s
)

Seconds, as "42 min" or "3 soat 5 daq". Under a minute reads as a minute — "0 min" is a lie about arriving.

Implementation

String formatDuration(double s) {
  final mins = (s / 60).round();
  if (mins < 1) return '1 ${S.t('unit.min')}';
  if (mins < 60) return '$mins ${S.t('unit.min')}';
  final h = mins ~/ 60;
  final rem = mins % 60;
  return rem == 0 ? '$h ${S.t('unit.h')}' : '$h ${S.t('unit.h')} $rem ${S.t('unit.min')}';
}