eta property

String get eta

Returns the estimated time remaining as a string (MM:SS).

Implementation

String get eta {
  final start = startTime;
  if (start == null || _targetPercent <= 0) return '--:--';
  final elapsed = DateTime.now().difference(start);
  if (_targetPercent >= 1.0) return '00:00';

  final totalEstimatedMs = elapsed.inMilliseconds / _targetPercent;
  final remainingMs = totalEstimatedMs - elapsed.inMilliseconds;

  final duration = Duration(milliseconds: remainingMs.round());
  final minutes = duration.inMinutes;
  final seconds = duration.inSeconds % 60;
  return '${minutes.toString().padLeft(2, '0')}:${seconds.toString().padLeft(2, '0')}';
}