prettyETA.js 717 B

1234567891011121314
  1. import secondsToTime from './secondsToTime.js'
  2. export default function prettyETA (seconds) {
  3. const time = secondsToTime(seconds)
  4. // Only display hours and minutes if they are greater than 0 but always
  5. // display minutes if hours is being displayed
  6. // Display a leading zero if the there is a preceding unit: 1m 05s, but 5s
  7. const hoursStr = time.hours === 0 ? '' : `${time.hours}h`
  8. const minutesStr = time.minutes === 0 ? '' : `${time.hours === 0 ? time.minutes : ` ${time.minutes.toString(10).padStart(2, '0')}`}m`
  9. const secondsStr = time.hours !== 0 ? '' : `${time.minutes === 0 ? time.seconds : ` ${time.seconds.toString(10).padStart(2, '0')}`}s`
  10. return `${hoursStr}${minutesStr}${secondsStr}`
  11. }