diff --git a/komga-webui/src/components/FileImportRow.vue b/komga-webui/src/components/FileImportRow.vue index 8bebfee3..a3758521 100644 --- a/komga-webui/src/components/FileImportRow.vue +++ b/komga-webui/src/components/FileImportRow.vue @@ -31,7 +31,7 @@ - + diff --git a/komga-webui/src/components/ItemCard.vue b/komga-webui/src/components/ItemCard.vue index ec19c3eb..efea3b8c 100644 --- a/komga-webui/src/components/ItemCard.vue +++ b/komga-webui/src/components/ItemCard.vue @@ -20,7 +20,7 @@
- @@ -72,11 +72,19 @@
- + - + @@ -128,7 +136,7 @@ - + @@ -166,10 +174,11 @@ import { } from '@/types/komga-sse' import {coverBase64} from '@/types/image' import {ReadListDto} from '@/types/komga-readlists' +import OneShotActionsMenu from '@/components/menus/OneshotActionsMenu.vue' export default Vue.extend({ name: 'ItemCard', - components: {BookActionsMenu, SeriesActionsMenu, CollectionActionsMenu, ReadListActionsMenu}, + components: {OneShotActionsMenu, BookActionsMenu, SeriesActionsMenu, CollectionActionsMenu, ReadListActionsMenu}, props: { item: { type: Object as () => BookDto | SeriesDto | CollectionDto | ReadListDto, @@ -291,6 +300,7 @@ export default Vue.extend({ }, isUnread(): boolean { if (this.computedItem.type() === ItemTypes.BOOK) return getReadProgress(this.item as BookDto) === ReadStatus.UNREAD + if (this.computedItem.type() === ItemTypes.SERIES && (this.item as SeriesDto).oneshot) return (this.item as SeriesDto).booksUnreadCount + (this.item as SeriesDto).booksInProgressCount > 0 return false }, unreadCount(): number | undefined { diff --git a/komga-webui/src/components/ReusableDialogs.vue b/komga-webui/src/components/ReusableDialogs.vue index ef5f1ebe..8b68924a 100644 --- a/komga-webui/src/components/ReusableDialogs.vue +++ b/komga-webui/src/components/ReusableDialogs.vue @@ -65,6 +65,11 @@ :books="updateBulkBooks" /> + + {{ data.item.metadata.title }} - {{ data.item.seriesTitle }} - {{ data.item.metadata.number }} + {{ data.item.seriesTitle }} - {{ + data.item.metadata.number + }} + {{ $t('searchbox.in_library', {library: getLibraryName(data.item)}) }} @@ -144,6 +147,10 @@ export default Vue.extend({ }) if (val.type === 'series') this.$router.push({name: 'browse-series', params: {seriesId: val.id}}) + else if (val.type === 'book' && val.oneshot) this.$router.push({ + name: 'browse-oneshot', + params: {seriesId: val.seriesId}, + }) else if (val.type === 'book') this.$router.push({name: 'browse-book', params: {bookId: val.id}}) else if (val.type === 'collection') this.$router.push({ name: 'browse-collection', diff --git a/komga-webui/src/components/bars/MultiSelectBar.vue b/komga-webui/src/components/bars/MultiSelectBar.vue index aeed951b..7596f653 100644 --- a/komga-webui/src/components/bars/MultiSelectBar.vue +++ b/komga-webui/src/components/bars/MultiSelectBar.vue @@ -43,7 +43,7 @@ - +