diff --git a/src/player/store.ts b/src/player/store.ts index 32f855b..81bf158 100644 --- a/src/player/store.ts +++ b/src/player/store.ts @@ -118,7 +118,9 @@ export const playerModule: Module = { return dispatch('play') }, seek({ commit, state }, value) { - commit('setPosition', state.duration * value) + if (isFinite(state.duration)) { + commit('setPosition', state.duration * value) + } }, playNext({ commit }, track) { commit('setNextInQueue', track) diff --git a/src/shared/filters.ts b/src/shared/filters.ts index bc32381..f5468b0 100644 --- a/src/shared/filters.ts +++ b/src/shared/filters.ts @@ -1,6 +1,9 @@ import Vue from 'vue' Vue.filter('duration', (value: number) => { + if (!isFinite(value)) { + return '∞' + } const minutes = Math.floor(value / 60) const seconds = Math.floor(value % 60) return (minutes < 10 ? '0' : '') + minutes + ':' + (seconds < 10 ? '0' : '') + seconds