From c8cea4e6afc3628d53124cf9cd5a9a867cc71ad2 Mon Sep 17 00:00:00 2001 From: advplyr Date: Sun, 8 Jun 2025 17:28:19 -0500 Subject: [PATCH] Update book library sort by author to use title as secondary sort #4380 --- server/utils/queries/libraryItemsBookFilters.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/utils/queries/libraryItemsBookFilters.js b/server/utils/queries/libraryItemsBookFilters.js index 42c39120..73d36c58 100644 --- a/server/utils/queries/libraryItemsBookFilters.js +++ b/server/utils/queries/libraryItemsBookFilters.js @@ -264,9 +264,15 @@ module.exports = { } else if (sortBy === 'media.metadata.publishedYear') { return [[Sequelize.literal(`CAST(\`book\`.\`publishedYear\` AS INTEGER)`), dir]] } else if (sortBy === 'media.metadata.authorNameLF') { - return [[Sequelize.literal('`libraryItem`.`authorNamesLastFirst` COLLATE NOCASE'), dir]] + return [ + [Sequelize.literal('`libraryItem`.`authorNamesLastFirst` COLLATE NOCASE'), dir], + [Sequelize.literal('`libraryItem`.`title` COLLATE NOCASE'), dir] + ] } else if (sortBy === 'media.metadata.authorName') { - return [[Sequelize.literal('`libraryItem`.`authorNamesFirstLast` COLLATE NOCASE'), dir]] + return [ + [Sequelize.literal('`libraryItem`.`authorNamesFirstLast` COLLATE NOCASE'), dir], + [Sequelize.literal('`libraryItem`.`title` COLLATE NOCASE'), dir] + ] } else if (sortBy === 'media.metadata.title') { if (collapseseries) { return [[Sequelize.literal('display_title COLLATE NOCASE'), dir]]