diff --git a/components/cards/LazyBookCard.vue b/components/cards/LazyBookCard.vue
index de3ab7a8..a83e622c 100644
--- a/components/cards/LazyBookCard.vue
+++ b/components/cards/LazyBookCard.vue
@@ -94,8 +94,8 @@
-
-
{{ numEpisodesIncomplete }}
+
+
{{ numEpisodesIncomplete }}
diff --git a/components/cards/LazyListBookCard.vue b/components/cards/LazyListBookCard.vue
index c44adfac..aa38dbb0 100644
--- a/components/cards/LazyListBookCard.vue
+++ b/components/cards/LazyListBookCard.vue
@@ -21,7 +21,13 @@
{{ displayAuthor }}
{{ displaySortLine }}
{{ $elapsedPretty(duration) }}
- {{ episodes }}
+
+
+ {{ $getString('LabelNumEpisodesIncomplete', [numEpisodes, numEpisodesIncomplete]) }}
+
+
+ {{ $getString('LabelNumEpisodes', [numEpisodes]) }}
+
@@ -106,12 +112,13 @@ export default {
isPodcast() {
return this.mediaType === 'podcast'
},
- episodes() {
- if (this.isPodcast) {
- return this.$getString('LabelNumEpisodes', [this.media.numEpisodes])
- } else {
- return null
- }
+ numEpisodes() {
+ if (this.isLocal && this.isPodcast && this.media.episodes) return this.media.episodes.length
+ return this.media.numEpisodes
+ },
+ numEpisodesIncomplete() {
+ if (this.isLocal) return 0
+ return this._libraryItem.numEpisodesIncomplete || 0
},
placeholderUrl() {
return '/book_placeholder.jpg'
diff --git a/strings/en-us.json b/strings/en-us.json
index 8504a7dd..3d59ba4b 100644
--- a/strings/en-us.json
+++ b/strings/en-us.json
@@ -195,6 +195,7 @@
"LabelNotFinished": "Not Finished",
"LabelNotStarted": "Not Started",
"LabelNumEpisodes": "{0} episodes",
+ "LabelNumEpisodesIncomplete": "{0} episodes, {1} incomplete",
"LabelOff": "Off",
"LabelOn": "On",
"LabelPassword": "Password",