From 9e5c5632ac4e658b3cd24d3b50df563c7d27b62f Mon Sep 17 00:00:00 2001
From: Jonas Heinrich <onny@project-insanity.org>
Date: Mon, 8 Feb 2021 21:28:21 +0100
Subject: [PATCH] start playback clicking on chapter mark

---
 CHANGELOG.md              | 2 ++
 src/components/Player.vue | 4 +---
 src/store/player.js       | 1 +
 src/views/Episode.vue     | 6 ++++++
 4 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index da83479..ee1d765 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,8 @@
 ## 0.2 - 2021-02
 
 ### Added
+- Start playback on clicking chapter mark
+  [#90](https://git.project-insanity.org/onny/nextcloud-app-podcast/-/issues/90) @onny
 - Playing animation in episode chapter list
   [#91](https://git.project-insanity.org/onny/nextcloud-app-podcast/-/issues/91) @onny
 - Pause playing animation
diff --git a/src/components/Player.vue b/src/components/Player.vue
index 07b8f80..3978d99 100644
--- a/src/components/Player.vue
+++ b/src/components/Player.vue
@@ -68,8 +68,7 @@
 				max="1"
 				step=".05"
 				:value="getVolume"
-				@input="setVolume($event)"
-				@change="saveVolume($event)">
+				@input="setVolume($event.target.value)">
 		</div>
 	</div>
 </template>
@@ -111,7 +110,6 @@ export default {
 	methods: {
 		...mapActions([
 			'setVolume',
-			'saveVolume',
 			'seekEpisode',
 			'toggleMute',
 			'togglePlay',
diff --git a/src/store/player.js b/src/store/player.js
index 9fe00d2..bffbc8d 100644
--- a/src/store/player.js
+++ b/src/store/player.js
@@ -132,6 +132,7 @@ export default {
 			context.commit('toggleMute')
 		},
 		playEpisode(context, episode) {
+			console.log(context.state.volume)
 			if (context.state.isPaused && episode.id === context.state.episodeId) {
 				context.commit('setPausing', false)
 				context.commit('setBuffering', true)
diff --git a/src/views/Episode.vue b/src/views/Episode.vue
index 8a07f9c..c400d58 100644
--- a/src/views/Episode.vue
+++ b/src/views/Episode.vue
@@ -184,6 +184,9 @@ export default {
 				if (event.target.href) {
 					const timecode = event.target.href.split('#')[1]
 					vm.startSeekEpisode(timecode)
+					if (!vm.episodePlaying(vm.episode.id)) {
+						vm.playEpisode(vm.episode)
+					}
 				}
 			}
 		})
@@ -210,6 +213,9 @@ export default {
 		},
 
 		startSeekEpisode(startTime) {
+			if (!this.episodePlaying(this.episode.id)) {
+				this.playEpisode(this.episode)
+			}
 			const startTimeSec = this.hmsToSecondsOnly(startTime)
 			this.seekEpisode(startTimeSec)
 		},
-- 
GitLab