From b8063b8d940307bed9b556e6ea6390f34257277f Mon Sep 17 00:00:00 2001 From: advplyr Date: Tue, 21 Sep 2021 18:32:59 -0500 Subject: [PATCH] Adding progress filter, filter dot, current chapter highlighted --- android/app/build.gradle | 4 ++-- components/app/StreamContainer.vue | 15 +++++++++++++-- components/modals/ChaptersModal.vue | 18 +++++++++++++++++- components/modals/FilterModal.vue | 8 ++++++++ package.json | 2 +- pages/index.vue | 8 +++++++- store/audiobooks.js | 16 +++++++++++----- 7 files changed, 59 insertions(+), 12 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 248f12ae..1a127e20 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -13,8 +13,8 @@ android { applicationId "com.audiobookshelf.app" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 16 - versionName "0.9.1-beta" + versionCode 17 + versionName "0.9.2-beta" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" aaptOptions { // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. diff --git a/components/app/StreamContainer.vue b/components/app/StreamContainer.vue index 5c8947ba..b768f753 100644 --- a/components/app/StreamContainer.vue +++ b/components/app/StreamContainer.vue @@ -18,7 +18,7 @@ - + @@ -34,7 +34,8 @@ export default { lastProgressTimeUpdate: 0, showPlaybackSpeedModal: false, playbackSpeed: 1, - showChapterModal: false + showChapterModal: false, + currentTime: 0 } }, watch: { @@ -46,6 +47,10 @@ export default { } }, computed: { + currentChapter() { + if (!this.audiobook || !this.chapters.length) return null + return this.chapters.find((ch) => ch.start <= this.currentTime && ch.end > this.currentTime) + }, socketConnected() { return this.$store.state.socketConnected }, @@ -124,6 +129,8 @@ export default { this.showChapterModal = false }, async cancelStream() { + this.currentTime = 0 + if (this.download) { if (this.$refs.audioPlayerMini) { this.$refs.audioPlayerMini.terminateStream() @@ -147,6 +154,8 @@ export default { } }, updateTime(currentTime) { + this.currentTime = currentTime + var diff = currentTime - this.lastProgressTimeUpdate if (diff > 4 || diff < 0) { @@ -231,6 +240,7 @@ export default { var currentTime = await this.getDownloadStartTime() if (isNaN(currentTime) || currentTime === null) currentTime = 0 + this.currentTime = currentTime // Update local current time this.$localStore.setCurrent({ @@ -276,6 +286,7 @@ export default { var playlistUrl = stream.clientPlaylistUri var currentTime = stream.clientCurrentTime || 0 + this.currentTime = currentTime var playOnLoad = this.$store.state.playOnLoad if (playOnLoad) this.$store.commit('setPlayOnLoad', false) diff --git a/components/modals/ChaptersModal.vue b/components/modals/ChaptersModal.vue index 76790483..aec59afa 100644 --- a/components/modals/ChaptersModal.vue +++ b/components/modals/ChaptersModal.vue @@ -1,10 +1,16 @@