diff --git a/komga-webui/src/functions/book-title.ts b/komga-webui/src/functions/book-title.ts index ed9c6436b..b38b0bfa8 100644 --- a/komga-webui/src/functions/book-title.ts +++ b/komga-webui/src/functions/book-title.ts @@ -1,7 +1,10 @@ -export function getBookTitleCompact (bookTitle: string, seriesTitle: string): string { +export function getBookTitleCompact(bookTitle: string, seriesTitle: string, number?: string): string { if (bookTitle?.toLowerCase().includes(seriesTitle?.toLowerCase())) { return bookTitle } else { - return `${seriesTitle} - ${bookTitle}` + if (number != undefined) + return `${seriesTitle} - ${number} - ${bookTitle}` + else + return `${seriesTitle} - ${bookTitle}` } } diff --git a/komga-webui/src/views/BrowseBook.vue b/komga-webui/src/views/BrowseBook.vue index a44af2a99..b351eb32c 100644 --- a/komga-webui/src/views/BrowseBook.vue +++ b/komga-webui/src/views/BrowseBook.vue @@ -660,7 +660,7 @@ export default Vue.extend({ .then(v => this.readLists = v) if (this.$_.has(this.book, 'metadata.title')) { - document.title = `Komga - ${getBookTitleCompact(this.book.metadata.title, this.book.seriesTitle)}` + document.title = `Komga - ${getBookTitleCompact(this.book.metadata.title, this.book.seriesTitle, this.book.oneshot ? undefined : this.book.metadata.number)}` } if (this?.context.origin === ContextOrigin.READLIST) { diff --git a/komga-webui/src/views/DivinaReader.vue b/komga-webui/src/views/DivinaReader.vue index d459b25a1..292c7f938 100644 --- a/komga-webui/src/views/DivinaReader.vue +++ b/komga-webui/src/views/DivinaReader.vue @@ -504,7 +504,7 @@ export default Vue.extend({ return this.pages.length }, bookTitle(): string { - return getBookTitleCompact(this.book.metadata.title, this.series.metadata.title) + return getBookTitleCompact(this.book.metadata.title, this.series.metadata.title, this.book.oneshot ? undefined : this.book.metadata.number) }, readingDirectionText(): string { return this.$t(`enums.reading_direction.${this.readingDirection}`).toString() @@ -673,7 +673,7 @@ export default Vue.extend({ this.contextName = (await (this.$komgaReadLists.getOneReadList(this.context.id))).name document.title = `Komga - ${this.contextName} - ${this.book.metadata.title}` } else { - document.title = `Komga - ${getBookTitleCompact(this.book.metadata.title, this.series.metadata.title)}` + document.title = `Komga - ${this.bookTitle}` } // parse query params to get incognito mode diff --git a/komga-webui/src/views/EpubReader.vue b/komga-webui/src/views/EpubReader.vue index 1f755d183..9c81e1cb0 100644 --- a/komga-webui/src/views/EpubReader.vue +++ b/komga-webui/src/views/EpubReader.vue @@ -509,7 +509,7 @@ export default Vue.extend({ }, bookTitle(): string { if (!!this.book && !!this.series) - return getBookTitleCompact(this.book.metadata.title, this.series.metadata.title) + return getBookTitleCompact(this.book.metadata.title, this.series.metadata.title, this.book.oneshot ? undefined : this.book.metadata.number) return this.book?.metadata?.title }, appearance: { @@ -715,7 +715,7 @@ export default Vue.extend({ document.title = `Komga - ${this.contextName} - ${this.book.metadata.title}` } } else { - document.title = `Komga - ${getBookTitleCompact(this.book.metadata.title, this.series.metadata.title)}` + document.title = `Komga - ${this.bookTitle}` } // parse query params to get incognito mode