refactor: ETA calculation (#2055)
* Refactor ETA calculation * Update src/renderer/pages/player-page.js Co-authored-by: Alex <alxmorais8@msn.com> * Fix lint issue Co-authored-by: Alex <alxmorais8@msn.com>
This commit is contained in:
20
src/renderer/lib/time.js
Normal file
20
src/renderer/lib/time.js
Normal file
@@ -0,0 +1,20 @@
|
||||
module.exports = {
|
||||
calculateEta
|
||||
}
|
||||
|
||||
function calculateEta (missing, downloadSpeed) {
|
||||
if (downloadSpeed === 0 || missing === 0) return
|
||||
|
||||
const rawEta = missing / downloadSpeed
|
||||
const hours = Math.floor(rawEta / 3600) % 24
|
||||
const minutes = Math.floor(rawEta / 60) % 60
|
||||
const seconds = Math.floor(rawEta % 60)
|
||||
|
||||
// Only display hours and minutes if they are greater than 0 but always
|
||||
// display minutes if hours is being displayed
|
||||
const hoursStr = hours ? hours + ' h' : ''
|
||||
const minutesStr = (hours || minutes) ? minutes + ' min' : ''
|
||||
const secondsStr = seconds + ' s'
|
||||
|
||||
return `${hoursStr} ${minutesStr} ${secondsStr} remaining`
|
||||
}
|
||||
Reference in New Issue
Block a user