diff --git a/pages/item/_id.vue b/pages/item/_id.vue
index 20aebdfa..6713e984 100644
--- a/pages/item/_id.vue
+++ b/pages/item/_id.vue
@@ -6,20 +6,16 @@
-
+
-
{{ title }}
+
{{ title }}
-
{{ subtitle }}
+
{{ subtitle }}
connected
{{ libraryItem.serverAddress }}
+
+
+
+
Your Progress: {{ Math.round(progressPercent * 100) }}%
+
{{ $elapsedPretty(userTimeRemaining) }} remaining
+
Finished {{ $formatDate(userProgressFinishedAt) }}
+
+ close
+
+
+
+
+
+ play_arrow
+ {{ isPlaying ? 'Playing' : 'Play' }}
+
+
+ auto_stories
+ Read {{ ebookFormat }}
+
+
+ more_vert
+
+
+
+
+ play_arrow
+ {{ isPlaying ? (isStreaming ? 'Streaming' : 'Playing') : isPodcast ? 'Next Episode' : hasLocal ? 'Play' : 'Stream' }}
+
+
+ auto_stories
+ Read {{ ebookFormat }}
+
+
+ {{ downloadItem ? 'downloading' : 'download' }}
+
+
+ more_vert
+
+
+
+
Narrators
@@ -81,43 +119,6 @@
-
-
-
Your Progress: {{ Math.round(progressPercent * 100) }}%
-
{{ $elapsedPretty(userTimeRemaining) }} remaining
-
Finished {{ $formatDate(userProgressFinishedAt) }}
-
- close
-
-
-
-
-
- play_arrow
- {{ isPlaying ? 'Playing' : 'Play' }}
-
-
- auto_stories
- Read {{ ebookFormat }}
-
-
-
-
-
- play_arrow
- {{ isPlaying ? (isStreaming ? 'Streaming' : 'Playing') : isPodcast ? 'Next Episode' : hasLocal ? 'Play' : 'Stream' }}
-
-
- auto_stories
- Read {{ ebookFormat }}
-
-
- {{ downloadItem ? 'downloading' : 'download' }}
-
-
-
-
-
Downloading! ({{ Math.round(downloadItem.itemProgress * 100) }}%)
@@ -364,6 +365,14 @@ export default {
},
moreMenuItems() {
const items = []
+
+ if (!this.isPodcast) {
+ items.push({
+ text: this.userIsFinished ? 'Mark as Not Finished' : 'Mark as Finished',
+ value: 'markFinished'
+ })
+ }
+
if (this.localLibraryItemId) {
items.push({
text: 'Manage Local Files',
@@ -371,11 +380,6 @@ export default {
})
}
- items.push({
- text: 'View Details',
- value: 'details'
- })
-
if (!this.isPodcast && this.serverLibraryItemId) {
items.push({
text: 'Add to Playlist',
@@ -383,6 +387,11 @@ export default {
})
}
+ items.push({
+ text: 'More Info',
+ value: 'details'
+ })
+
return items
},
coverWidth() {
@@ -418,6 +427,9 @@ export default {
} else if (action === 'playlist') {
this.$store.commit('globals/setSelectedPlaylistItems', [{ libraryItem: this.libraryItem, episode: null }])
this.$store.commit('globals/setShowPlaylistsAddCreateModal', true)
+ } else if (action === 'markFinished') {
+ if (this.isProcessingReadUpdate) return
+ this.toggleFinished()
}
},
moreButtonPress() {
@@ -483,6 +495,7 @@ export default {
},
async clearProgressClick() {
await this.$hapticsImpact()
+
const { value } = await Dialog.confirm({
title: 'Confirm',
message: 'Are you sure you want to reset your progress?'
@@ -604,6 +617,16 @@ export default {
},
async toggleFinished() {
await this.$hapticsImpact()
+
+ // Show confirm if item has progress since it will reset
+ if (this.userItemProgress && this.userItemProgress.progress > 0 && !this.userIsFinished) {
+ const { value } = await Dialog.confirm({
+ title: 'Confirm',
+ message: 'Are you sure you want to mark this item as Finished?'
+ })
+ if (!value) return
+ }
+
this.isProcessingReadUpdate = true
if (this.isLocal) {
var isFinished = !this.userIsFinished