From 313b9026f16449a7865160bf1e83f5f9d1c8123f Mon Sep 17 00:00:00 2001 From: advplyr Date: Thu, 19 May 2022 17:42:34 -0500 Subject: [PATCH 1/7] Add:Authors page links to filter by author books and link to series page #609 --- client/pages/author/_id.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/client/pages/author/_id.vue b/client/pages/author/_id.vue index 5514d919..20e15271 100644 --- a/client/pages/author/_id.vue +++ b/client/pages/author/_id.vue @@ -23,13 +23,17 @@
-

{{ libraryItems.length }} Books

+ +

{{ libraryItems.length }} Books

+
-

{{ series.name }}

+ +

{{ series.name }}

+

Series

From 4bcca97b1f93b594d9229eb31302100c1d61a098 Mon Sep 17 00:00:00 2001 From: advplyr Date: Thu, 19 May 2022 18:09:26 -0500 Subject: [PATCH 2/7] Update:Home page continue series shelf to use first unplayed book (instead of next book after most recently played) #608 --- server/utils/libraryHelpers.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/server/utils/libraryHelpers.js b/server/utils/libraryHelpers.js index ebb311ec..459e28e4 100644 --- a/server/utils/libraryHelpers.js +++ b/server/utils/libraryHelpers.js @@ -418,7 +418,7 @@ module.exports = { books: [libraryItemJson], inProgress: bookInProgress, bookInProgressLastUpdate: bookInProgress ? mediaProgress.lastUpdate : null, - sequenceInProgress: bookInProgress ? libraryItemJson.seriesSequence : null + firstBookUnread: bookInProgress ? libraryItemJson : null } seriesMap[librarySeries.id] = series @@ -445,10 +445,18 @@ module.exports = { if (bookInProgress) { // Update if this series is in progress seriesMap[librarySeries.id].inProgress = true - if (!seriesMap[librarySeries.id].sequenceInProgress || (librarySeries.sequence && String(librarySeries.sequence).localeCompare(String(seriesMap[librarySeries.id].sequenceInProgress), undefined, { sensitivity: 'base', numeric: true }) > 0)) { - seriesMap[librarySeries.id].sequenceInProgress = librarySeries.sequence + + if (seriesMap[librarySeries.id].bookInProgressLastUpdate > mediaProgress.lastUpdate) { seriesMap[librarySeries.id].bookInProgressLastUpdate = mediaProgress.lastUpdate } + } else if (!seriesMap[librarySeries.id].firstBookUnread) { + seriesMap[librarySeries.id].firstBookUnread = libraryItemJson + } else if (libraryItemJson.seriesSequence) { + // If current firstBookUnread has a series sequence greater than this series sequence, then update firstBookUnread + const firstBookUnreadSequence = seriesMap[librarySeries.id].firstBookUnread.seriesSequence + if (!firstBookUnreadSequence || String(firstBookUnreadSequence).localeCompare(String(librarySeries.sequence), undefined, { sensitivity: 'base', numeric: true }) > 0) { + seriesMap[librarySeries.id].firstBookUnread = libraryItemJson + } } } } @@ -545,11 +553,8 @@ module.exports = { if (seriesMap[seriesId].inProgress) { seriesMap[seriesId].books = naturalSort(seriesMap[seriesId].books).asc(li => li.seriesSequence) - const nextBookInSeries = seriesMap[seriesId].books.find(li => { - if (!seriesMap[seriesId].sequenceInProgress) return true - // True if book series sequence is greater than the current book sequence in progress - return String(li.seriesSequence).localeCompare(String(seriesMap[seriesId].sequenceInProgress), undefined, { sensitivity: 'base', numeric: true }) > 0 - }) + // NEW implementation takes the first book unread with the smallest series sequence + const nextBookInSeries = seriesMap[seriesId].firstBookUnread if (nextBookInSeries) { const bookForContinueSeries = { From 06cc2a1b21377a896693950d72ba5de15700286e Mon Sep 17 00:00:00 2001 From: advplyr Date: Thu, 19 May 2022 18:11:02 -0500 Subject: [PATCH 3/7] Fix:Increase width of MoreMenu since Mark as Not Finished was wrapping --- client/components/widgets/MoreMenu.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/components/widgets/MoreMenu.vue b/client/components/widgets/MoreMenu.vue index dc034a0a..d539d242 100644 --- a/client/components/widgets/MoreMenu.vue +++ b/client/components/widgets/MoreMenu.vue @@ -1,5 +1,5 @@