{ "version": 3, "sources": ["src/app/volume-detail/volume-detail.component.ts", "src/app/volume-detail/volume-detail.component.html"], "sourcesContent": ["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport {AsyncPipe, DOCUMENT, NgStyle, NgClass, Location} from \"@angular/common\";\nimport {ActivatedRoute, Router, RouterLink} from \"@angular/router\";\nimport {ImageService} from \"../_services/image.service\";\nimport {SeriesService} from \"../_services/series.service\";\nimport {LibraryService} from \"../_services/library.service\";\nimport {ThemeService} from \"../_services/theme.service\";\nimport {DownloadEvent, DownloadService} from \"../shared/_services/download.service\";\nimport {BulkSelectionService} from \"../cards/bulk-selection.service\";\nimport {ReaderService} from \"../_services/reader.service\";\nimport {AccountService} from \"../_services/account.service\";\nimport {\n NgbDropdown,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdownToggle,\n NgbModal,\n NgbNav,\n NgbNavChangeEvent,\n NgbNavContent,\n NgbNavItem,\n NgbNavLink,\n NgbNavOutlet,\n NgbTooltip\n} from \"@ng-bootstrap/ng-bootstrap\";\nimport {FilterUtilitiesService} from \"../shared/_services/filter-utilities.service\";\nimport {Chapter, LooseLeafOrDefaultNumber} from \"../_models/chapter\";\nimport {Series} from \"../_models/series\";\nimport {LibraryType} from \"../_models/library/library\";\nimport {forkJoin, map, Observable, tap} from \"rxjs\";\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {translate, TranslocoDirective} from \"@jsverse/transloco\";\nimport {FilterComparison} from \"../_models/metadata/v2/filter-comparison\";\nimport {FilterField} from '../_models/metadata/v2/filter-field';\nimport {AgeRating} from '../_models/metadata/age-rating';\nimport {Volume} from \"../_models/volume\";\nimport {VolumeService} from \"../_services/volume.service\";\nimport {LoadingComponent} from \"../shared/loading/loading.component\";\nimport {DetailsTabComponent} from \"../_single-module/details-tab/details-tab.component\";\nimport {ReadMoreComponent} from \"../shared/read-more/read-more.component\";\nimport {Person} from \"../_models/metadata/person\";\nimport {IHasCast} from \"../_models/common/i-has-cast\";\nimport {EntityTitleComponent} from \"../cards/entity-title/entity-title.component\";\nimport {VirtualScrollerModule} from \"@iharbeck/ngx-virtual-scroller\";\nimport {Action, ActionFactoryService, ActionItem} from \"../_services/action-factory.service\";\nimport {Breakpoint, UtilityService} from \"../shared/_services/utility.service\";\nimport {ChapterCardComponent} from \"../cards/chapter-card/chapter-card.component\";\nimport {\n EditVolumeModalComponent\n} from \"../_single-module/edit-volume-modal/edit-volume-modal.component\";\nimport {Genre} from \"../_models/metadata/genre\";\nimport {Tag} from \"../_models/tag\";\nimport {RelatedTabComponent} from \"../_single-modules/related-tab/related-tab.component\";\nimport {ReadingList} from \"../_models/reading-list\";\nimport {ReadingListService} from \"../_services/reading-list.service\";\nimport {BadgeExpanderComponent} from \"../shared/badge-expander/badge-expander.component\";\nimport {\n MetadataDetailRowComponent\n} from \"../series-detail/_components/metadata-detail-row/metadata-detail-row.component\";\nimport {DownloadButtonComponent} from \"../series-detail/_components/download-button/download-button.component\";\nimport {EVENTS, MessageHubService} from \"../_services/message-hub.service\";\nimport {CoverUpdateEvent} from \"../_models/events/cover-update-event\";\nimport {ChapterRemovedEvent} from \"../_models/events/chapter-removed-event\";\nimport {ActionService} from \"../_services/action.service\";\nimport {VolumeRemovedEvent} from \"../_models/events/volume-removed-event\";\nimport {CardActionablesComponent} from \"../_single-module/card-actionables/card-actionables.component\";\nimport {Device} from \"../_models/device/device\";\nimport {EditChapterModalComponent} from \"../_single-module/edit-chapter-modal/edit-chapter-modal.component\";\nimport {BulkOperationsComponent} from \"../cards/bulk-operations/bulk-operations.component\";\nimport {CoverImageComponent} from \"../_single-module/cover-image/cover-image.component\";\nimport {DefaultModalOptions} from \"../_models/default-modal-options\";\n\nenum TabID {\n\n Chapters = 'chapters-tab',\n Related = 'related-tab',\n Reviews = 'reviews-tab', // Only applicable for books\n Details = 'details-tab',\n}\n\ninterface VolumeCast extends IHasCast {\n characterLocked: boolean;\n characters: Array;\n coloristLocked: boolean;\n colorists: Array;\n coverArtistLocked: boolean;\n coverArtists: Array;\n editorLocked: boolean;\n editors: Array;\n imprintLocked: boolean;\n imprints: Array;\n inkerLocked: boolean;\n inkers: Array;\n languageLocked: boolean;\n lettererLocked: boolean;\n letterers: Array;\n locationLocked: boolean;\n locations: Array;\n pencillerLocked: boolean;\n pencillers: Array;\n publisherLocked: boolean;\n publishers: Array;\n teamLocked: boolean;\n teams: Array;\n translatorLocked: boolean;\n translators: Array;\n writerLocked: boolean;\n writers: Array;\n}\n\n@Component({\n selector: 'app-volume-detail',\n standalone: true,\n imports: [\n LoadingComponent,\n NgbNavOutlet,\n DetailsTabComponent,\n NgbNavItem,\n NgbNavLink,\n NgbNavContent,\n NgbNav,\n ReadMoreComponent,\n AsyncPipe,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdown,\n NgbDropdownToggle,\n EntityTitleComponent,\n RouterLink,\n NgbTooltip,\n NgStyle,\n NgClass,\n TranslocoDirective,\n VirtualScrollerModule,\n ChapterCardComponent,\n RelatedTabComponent,\n BadgeExpanderComponent,\n MetadataDetailRowComponent,\n DownloadButtonComponent,\n CardActionablesComponent,\n BulkOperationsComponent,\n CoverImageComponent\n ],\n templateUrl: './volume-detail.component.html',\n styleUrl: './volume-detail.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VolumeDetailComponent implements OnInit {\n private readonly document = inject(DOCUMENT);\n private readonly route = inject(ActivatedRoute);\n private readonly router = inject(Router);\n private readonly cdRef = inject(ChangeDetectorRef);\n protected readonly imageService = inject(ImageService);\n private readonly volumeService = inject(VolumeService);\n private readonly seriesService = inject(SeriesService);\n private readonly libraryService = inject(LibraryService);\n private readonly themeService = inject(ThemeService);\n private readonly downloadService = inject(DownloadService);\n protected readonly bulkSelectionService = inject(BulkSelectionService);\n private readonly readerService = inject(ReaderService);\n protected readonly accountService = inject(AccountService);\n private readonly modalService = inject(NgbModal);\n private readonly filterUtilityService = inject(FilterUtilitiesService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly actionFactoryService = inject(ActionFactoryService);\n private readonly actionService = inject(ActionService);\n protected readonly utilityService = inject(UtilityService);\n private readonly readingListService = inject(ReadingListService);\n private readonly messageHub = inject(MessageHubService);\n private readonly location = inject(Location);\n\n\n protected readonly AgeRating = AgeRating;\n protected readonly TabID = TabID;\n protected readonly FilterField = FilterField;\n protected readonly Breakpoint = Breakpoint;\n\n @ViewChild('scrollingBlock') scrollingBlock: ElementRef | undefined;\n @ViewChild('companionBar') companionBar: ElementRef | undefined;\n\n isLoading: boolean = true;\n coverImage: string = '';\n volumeId: number = 0;\n seriesId: number = 0;\n libraryId: number = 0;\n volume: Volume | null = null;\n series: Series | null = null;\n libraryType: LibraryType | null = null;\n activeTabId = TabID.Chapters;\n readingLists: ReadingList[] = [];\n mobileSeriesImgBackground: string | undefined;\n downloadInProgress: boolean = false;\n\n volumeActions: Array> = this.actionFactoryService.getVolumeActions(this.handleVolumeAction.bind(this));\n chapterActions: Array> = this.actionFactoryService.getChapterActions(this.handleChapterActionCallback.bind(this));\n\n bulkActionCallback = async (action: ActionItem, _: any) => {\n if (this.volume === null) {\n return;\n }\n const selectedChapterIndexes = this.bulkSelectionService.getSelectedCardsForSource('chapter');\n const selectedChapterIds = this.volume.chapters.filter((_chapter, index: number) => {\n return selectedChapterIndexes.includes(index + '');\n });\n\n switch (action.action) {\n case Action.AddToReadingList:\n this.actionService.addMultipleToReadingList(this.seriesId, [], selectedChapterIds, (success) => {\n if (success) this.bulkSelectionService.deselectAll();\n this.cdRef.markForCheck();\n });\n break;\n case Action.MarkAsRead:\n this.actionService.markMultipleAsRead(this.seriesId, [], selectedChapterIds, () => {\n this.bulkSelectionService.deselectAll();\n this.loadVolume();\n this.cdRef.markForCheck();\n });\n break;\n case Action.MarkAsUnread:\n this.actionService.markMultipleAsUnread(this.seriesId, [], selectedChapterIds, () => {\n this.bulkSelectionService.deselectAll();\n this.loadVolume();\n this.cdRef.markForCheck();\n });\n break;\n case Action.SendTo:\n const device = (action._extra!.data as Device);\n this.actionService.sendToDevice(selectedChapterIds.map(c => c.id), device);\n this.bulkSelectionService.deselectAll();\n this.cdRef.markForCheck();\n break;\n case Action.Delete:\n await this.actionService.deleteMultipleChapters(this.seriesId, selectedChapterIds, () => {\n // No need to update the page as the backend will spam volume/chapter deletions\n this.bulkSelectionService.deselectAll();\n this.cdRef.markForCheck();\n });\n break;\n }\n }\n\n /**\n * This is the download we get from download service.\n */\n download$: Observable | null = null;\n currentlyReadingChapter: Chapter | undefined = undefined;\n\n maxAgeRating: AgeRating = AgeRating.Unknown;\n volumeCast: VolumeCast = {\n characterLocked: false,\n characters: [],\n coloristLocked: false,\n colorists: [],\n coverArtistLocked: false,\n coverArtists: [],\n editorLocked: false,\n editors: [],\n imprintLocked: false,\n imprints: [],\n inkerLocked: false,\n inkers: [],\n languageLocked: false,\n lettererLocked: false,\n letterers: [],\n locationLocked: false,\n locations: [],\n pencillerLocked: false,\n pencillers: [],\n publisherLocked: false,\n publishers: [],\n teamLocked: false,\n teams: [],\n translatorLocked: false,\n translators: [],\n writerLocked: false,\n writers: []\n };\n tags: Array = [];\n genres: Array = [];\n\n\n get ContinuePointTitle() {\n if (this.currentlyReadingChapter === undefined || !this.volume || this.volume.chapters.length <= 1) return '';\n\n if (this.currentlyReadingChapter.isSpecial) {\n return this.currentlyReadingChapter.title;\n }\n\n let chapterLocaleKey = 'common.chapter-num-shorthand';\n switch (this.libraryType) {\n case LibraryType.ComicVine:\n case LibraryType.Comic:\n chapterLocaleKey = 'common.issue-num-shorthand';\n break;\n case LibraryType.Book:\n case LibraryType.LightNovel:\n chapterLocaleKey = 'common.book-num-shorthand';\n break;\n case LibraryType.Manga:\n case LibraryType.Images:\n chapterLocaleKey = 'common.chapter-num-shorthand';\n break;\n }\n\n if (this.currentlyReadingChapter.minNumber === LooseLeafOrDefaultNumber) {\n return translate(chapterLocaleKey, {num: this.volume.chapters[0].minNumber});\n }\n\n return translate(chapterLocaleKey, {num: this.currentlyReadingChapter.minNumber});\n }\n\n\n get ScrollingBlockHeight() {\n if (this.scrollingBlock === undefined) return 'calc(var(--vh)*100)';\n const navbar = this.document.querySelector('.navbar') as HTMLElement;\n if (navbar === null) return 'calc(var(--vh)*100)';\n\n const companionHeight = this.companionBar?.nativeElement.offsetHeight || 0;\n const navbarHeight = navbar.offsetHeight;\n const totalHeight = companionHeight + navbarHeight + 21; //21px to account for padding\n return 'calc(var(--vh)*100 - ' + totalHeight + 'px)';\n }\n\n\n ngOnInit() {\n const seriesId = this.route.snapshot.paramMap.get('seriesId');\n const libraryId = this.route.snapshot.paramMap.get('libraryId');\n const volumeId = this.route.snapshot.paramMap.get('volumeId');\n if (seriesId === null || libraryId === null || volumeId === null) {\n this.router.navigateByUrl('/home');\n return;\n }\n\n this.mobileSeriesImgBackground = getComputedStyle(document.documentElement)\n .getPropertyValue('--mobile-series-img-background').trim();\n this.seriesId = parseInt(seriesId, 10);\n this.volumeId = parseInt(volumeId, 10);\n this.libraryId = parseInt(libraryId, 10);\n this.coverImage = this.imageService.getVolumeCoverImage(this.volumeId);\n\n this.messageHub.messages$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (event.event === EVENTS.CoverUpdate) {\n const coverUpdateEvent = event.payload as CoverUpdateEvent;\n if (coverUpdateEvent.entityType === 'volume' && coverUpdateEvent.id === this.volumeId) {\n this.themeService.refreshColorScape('volume', coverUpdateEvent.id).subscribe();\n }\n } else if (event.event === EVENTS.ChapterRemoved) {\n const removedEvent = event.payload as ChapterRemovedEvent;\n if (removedEvent.seriesId !== this.seriesId) return;\n\n // remove the chapter from the tab\n if (this.volume) {\n this.volume.chapters = this.volume.chapters.filter(c => c.id !== removedEvent.chapterId);\n this.cdRef.detectChanges();\n }\n } else if (event.event === EVENTS.VolumeRemoved) {\n const removedEvent = event.payload as VolumeRemovedEvent;\n if (removedEvent.volumeId !== this.volumeId) return;\n\n // remove the chapter from the tab\n this.navigateToSeries();\n }\n });\n\n forkJoin({\n series: this.seriesService.getSeries(this.seriesId),\n volume: this.volumeService.getVolumeMetadata(this.volumeId),\n libraryType: this.libraryService.getLibraryType(this.libraryId)\n }).subscribe(results => {\n\n if (results.volume === null) {\n this.router.navigateByUrl('/home');\n return;\n }\n\n this.series = results.series;\n this.volume = results.volume;\n this.libraryType = results.libraryType;\n\n this.themeService.setColorScape(this.volume!.primaryColor, this.volume!.secondaryColor);\n\n // Set up the download in progress\n this.download$ = this.downloadService.activeDownloads$.pipe(takeUntilDestroyed(this.destroyRef), map((events) => {\n return this.downloadService.mapToEntityType(events, this.volume!);\n }));\n\n this.route.fragment.pipe(tap(frag => {\n if (frag !== null && this.activeTabId !== (frag as TabID)) {\n this.activeTabId = frag as TabID;\n this.updateUrl(this.activeTabId);\n this.cdRef.markForCheck();\n }\n }), takeUntilDestroyed(this.destroyRef)).subscribe();\n\n if (this.volume.chapters.length === 1) {\n this.readingListService.getReadingListsForChapter(this.volume.chapters[0].id).subscribe(lists => {\n this.readingLists = lists;\n this.cdRef.markForCheck();\n });\n }\n\n // Calculate all the writes/artists for all chapters\n this.volumeCast.writers = this.volume.chapters\n .flatMap(c => c.writers) // Flatten the array of writers from all chapters\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name) // Check for distinct names\n );\n\n this.volumeCast.coverArtists = this.volume.chapters\n .flatMap(c => c.coverArtists)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n\n this.volumeCast.characters = this.volume.chapters\n .flatMap(c => c.characters)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n this.volumeCast.colorists = this.volume.chapters\n .flatMap(c => c.colorists)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n this.volumeCast.editors = this.volume.chapters\n .flatMap(c => c.editors)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n this.volumeCast.imprints = this.volume.chapters\n .flatMap(c => c.imprints)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n this.volumeCast.inkers = this.volume.chapters\n .flatMap(c => c.inkers)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n this.volumeCast.letterers = this.volume.chapters\n .flatMap(c => c.letterers)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n this.volumeCast.locations = this.volume.chapters\n .flatMap(c => c.locations)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n\n this.volumeCast.teams = this.volume.chapters\n .flatMap(c => c.teams)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n\n this.volumeCast.translators = this.volume.chapters\n .flatMap(c => c.translators)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n\n this.volumeCast.publishers = this.volume.chapters\n .flatMap(c => c.publishers)\n .filter((person, index, self) =>\n index === self.findIndex(w => w.name === person.name)\n );\n\n this.genres = this.volume.chapters\n .flatMap(c => c.genres)\n .filter((tag, index, self) =>\n index === self.findIndex(w => w.title === tag.title)\n );\n\n this.tags = this.volume.chapters\n .flatMap(c => c.tags)\n .filter((tag, index, self) =>\n index === self.findIndex(w => w.title === tag.title)\n );\n\n this.maxAgeRating = Math.max(\n ...this.volume.chapters\n .flatMap(c => c.ageRating)\n );\n\n this.setContinuePoint();\n\n\n this.isLoading = false;\n this.cdRef.markForCheck();\n });\n\n this.cdRef.markForCheck();\n }\n\n loadVolume() {\n this.volumeService.getVolumeMetadata(this.volumeId).subscribe(v => {\n this.volume = v;\n this.setContinuePoint();\n this.cdRef.markForCheck();\n });\n }\n\n readVolume(incognitoMode: boolean = false) {\n if (!this.volume) return;\n\n this.readerService.readVolume(this.libraryId, this.seriesId, this.volume, incognitoMode);\n }\n\n openEditModal() {\n const ref = this.modalService.open(EditVolumeModalComponent, DefaultModalOptions);\n ref.componentInstance.volume = this.volume;\n ref.componentInstance.libraryType = this.libraryType;\n ref.componentInstance.libraryId = this.libraryId;\n ref.componentInstance.seriesId = this.series!.id;\n\n ref.closed.subscribe(_ => this.setContinuePoint());\n }\n\n openEditChapterModal(chapter: Chapter) {\n const ref = this.modalService.open(EditChapterModalComponent, DefaultModalOptions);\n ref.componentInstance.chapter = chapter;\n ref.componentInstance.libraryType = this.libraryType;\n ref.componentInstance.libraryId = this.libraryId;\n ref.componentInstance.seriesId = this.series!.id;\n\n ref.closed.subscribe(_ => this.setContinuePoint());\n\n }\n\n onNavChange(event: NgbNavChangeEvent) {\n this.bulkSelectionService.deselectAll();\n this.updateUrl(event.nextId);\n this.cdRef.markForCheck();\n }\n\n updateUrl(activeTab: TabID) {\n const tokens = this.location.path().split('#');\n const newUrl = `${tokens[0]}#${activeTab}`;\n this.location.replaceState(newUrl)\n }\n\n openPerson(field: FilterField, value: number) {\n this.filterUtilityService.applyFilter(['all-series'], field, FilterComparison.Equal, `${value}`).subscribe();\n }\n\n performAction(action: ActionItem) {\n if (typeof action.callback === 'function') {\n action.callback(action, this.volume!);\n }\n }\n\n async handleChapterActionCallback(action: ActionItem, chapter: Chapter) {\n switch (action.action) {\n case(Action.MarkAsRead):\n this.actionService.markChapterAsRead(this.libraryId, this.seriesId, chapter, _ => this.setContinuePoint());\n break;\n case(Action.MarkAsUnread):\n this.actionService.markChapterAsUnread(this.libraryId, this.seriesId, chapter, _ => this.setContinuePoint());\n break;\n case(Action.Edit):\n this.openEditChapterModal(chapter);\n break;\n case(Action.AddToReadingList):\n this.actionService.addChapterToReadingList(chapter, this.seriesId, () => {/* No Operation */ });\n break;\n case(Action.IncognitoRead):\n this.readerService.readChapter(this.libraryId, this.seriesId, chapter, true);\n break;\n case(Action.Delete):\n await this.actionService.deleteChapter(chapter.id, (res) => {\n if (!res) return;\n this.navigateToSeries();\n });\n break;\n case (Action.SendTo):\n const device = (action._extra!.data as Device);\n this.actionService.sendToDevice([chapter.id], device);\n break;\n }\n }\n\n async handleVolumeAction(action: ActionItem) {\n switch (action.action) {\n case Action.Delete:\n await this.actionService.deleteVolume(this.volumeId, (res) => {\n if (!res) return;\n this.navigateToSeries();\n });\n break;\n case Action.MarkAsRead:\n this.actionService.markVolumeAsRead(this.seriesId, this.volume!, _ => {\n this.volume!.pagesRead = this.volume!.pages;\n this.setContinuePoint();\n this.cdRef.markForCheck();\n });\n break;\n case Action.MarkAsUnread:\n this.actionService.markVolumeAsUnread(this.seriesId, this.volume!, _ => {\n this.volume!.pagesRead = 0;\n this.setContinuePoint();\n this.cdRef.markForCheck();\n });\n break;\n case Action.AddToReadingList:\n break;\n case Action.Download:\n if (this.downloadInProgress) return;\n this.downloadService.download('volume', this.volume!, (d) => {\n this.downloadInProgress = !!d;\n this.cdRef.markForCheck();\n });\n break;\n case Action.IncognitoRead:\n this.readVolume(true);\n break;\n case Action.SendTo:\n const chapterIds = this.volume!.chapters.map(c => c.id);\n const device = (action._extra!.data as Device);\n this.actionService.sendToDevice(chapterIds, device);\n break;\n case Action.Edit:\n this.openEditModal();\n break;\n }\n }\n\n openFilter(field: FilterField, value: string | number) {\n this.filterUtilityService.applyFilter(['all-series'], field, FilterComparison.Equal, `${value}`).subscribe();\n }\n\n\n switchTabsToDetail() {\n this.activeTabId = TabID.Details;\n this.cdRef.markForCheck();\n setTimeout(() => {\n const tabElem = this.document.querySelector('#details-tab');\n if (tabElem) {\n (tabElem as HTMLLIElement).scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });\n }\n }, 10);\n }\n\n navigateToSeries() {\n this.router.navigate(['library', this.libraryId, 'series', this.seriesId]);\n }\n\n setContinuePoint() {\n if (!this.volume) return;\n\n const chaptersWithProgress = this.volume.chapters.filter(c => c.pagesRead < c.pages);\n if (chaptersWithProgress.length > 0 && this.volume.chapters.length > 1) {\n this.currentlyReadingChapter = chaptersWithProgress[0];\n this.cdRef.markForCheck();\n } else {\n this.currentlyReadingChapter = undefined;\n }\n }\n}\n", "\n\n \n\n
\n\n @if (volume && series && libraryType !== null) {\n
\n
\n \n
\n\n
\n

\n {{series.name}}\n

\n
\n \n {{t('volume-num')}}\n \n \n
\n\n 0\"\n [readingTimeEntity]=\"volume\"\n [libraryType]=\"libraryType\"\n [mangaFormat]=\"series.format\">\n \n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n\n\n\n @if (accountService.isAdmin$ | async) {\n
\n \n
\n }\n\n
\n
\n \n
\n
\n\n
\n \n
\n\n
\n
\n\n
\n = Breakpoint.Desktop ? 585 : 250\">\n
\n\n
\n
\n
\n {{t('writers-title')}}\n
\n \n \n {{item.name}}\n \n \n
\n
\n
\n {{t('cover-artists-title')}}\n
\n \n \n {{item.name}}\n \n \n
\n
\n
\n
\n\n
\n
\n
\n {{t('genres-title')}}\n
\n \n \n {{item.title}}\n \n \n
\n
\n\n
\n {{t('tags-title')}}\n
\n \n \n {{item.title}}\n \n \n
\n
\n
\n
\n\n\n
\n
\n\n
\n \n
\n \n
\n\n }\n\n\n\n \n
\n\n
\n"], "mappings": "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", "names": ["$item", "pagesRead", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "openEditModal", "\u0275\u0275element", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275property", "t_r4", "item_r6", "_r5", "$implicit", "openPerson", "FilterField", "Writers", "id", "\u0275\u0275text", "\u0275\u0275textInterpolate", "name", "item_r8", "_r7", "CoverArtist", "item_r10", "_r9", "openFilter", "Genres", "title", "item_r12", "_r11", "Tags", "$event", "\u0275$index_171_r14", "_r13", "$index", "scroll_r15", "\u0275\u0275reference", "bulkSelectionService", "handleCardSelection", "viewPortInfo", "startIndexWithBuffer", "volume", "chapters", "length", "item_r16", "seriesId", "libraryId", "libraryType", "chapterActions", "isCardSelected", "\u0275\u0275repeaterCreate", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_78_Defer_0_For_5_Template", "_forTrack0", "scrollingBlock_r17", "\u0275\u0275repeater", "viewPortItems", "\u0275\u0275template", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_78_Defer_0_Template", "\u0275\u0275defer", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_78_Defer_1_DepsFn", "\u0275\u0275deferPrefetchOnIdle", "\u0275\u0275deferWhen", "activeTabId", "TabID", "Chapters", "readingLists", "VolumeDetailComponent_ng_container_0_Conditional_4_Conditional_79_ng_template_3_Defer_0_Template", "VolumeDetailComponent_ng_container_0_Conditional_4_Conditional_79_ng_template_3_Defer_1_DepsFn", "Related", "VolumeDetailComponent_ng_container_0_Conditional_4_Conditional_79_ng_template_3_Template", "volumeCast", "genres", "tags", "language", "series", "format", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_83_Defer_0_Template", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_83_Defer_1_DepsFn", "Details", "_r1", "readVolume", "VolumeDetailComponent_ng_container_0_Conditional_4_Conditional_29_Template", "performAction", "switchTabsToDetail", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_45_Template", "\u0275\u0275templateRefExtractor", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_52_Template", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_61_Template", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_68_Template", "\u0275\u0275twoWayListener", "i0", "\u0275\u0275twoWayBindingSet", "onNavChange", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_78_Template", "VolumeDetailComponent_ng_container_0_Conditional_4_Conditional_79_Template", "VolumeDetailComponent_ng_container_0_Conditional_4_ng_template_83_Template", "mobileSeriesImgBackground", "imageService", "getVolumeCoverImage", "ContinuePointTitle", "\u0275\u0275propertyInterpolate2", "\u0275\u0275textInterpolate1", "maxAgeRating", "\u0275\u0275classMapInterpolate1", "\u0275\u0275conditional", "\u0275\u0275pipeBind1", "accountService", "isAdmin$", "volumeActions", "minNumber", "download$", "summary", "utilityService", "getActiveBreakpoint", "Breakpoint", "Desktop", "writers", "coverArtists", "\u0275\u0275twoWayProperty", "formatChapterName", "nav_r18", "\u0275\u0275elementContainerStart", "VolumeDetailComponent_ng_container_0_Conditional_4_Template", "bulkActionCallback", "\u0275\u0275pureFunction1", "_c2", "ScrollingBlockHeight", "isLoading", "VolumeDetailComponent", "constructor", "document", "inject", "DOCUMENT", "route", "ActivatedRoute", "router", "Router", "cdRef", "ChangeDetectorRef", "ImageService", "volumeService", "VolumeService", "seriesService", "SeriesService", "libraryService", "LibraryService", "themeService", "ThemeService", "downloadService", "DownloadService", "BulkSelectionService", "readerService", "ReaderService", "AccountService", "modalService", "NgbModal", "filterUtilityService", "FilterUtilitiesService", "destroyRef", "DestroyRef", "actionFactoryService", "ActionFactoryService", "actionService", "ActionService", "UtilityService", "readingListService", "ReadingListService", "messageHub", "MessageHubService", "location", "Location", "AgeRating", "coverImage", "volumeId", "downloadInProgress", "getVolumeActions", "handleVolumeAction", "bind", "getChapterActions", "handleChapterActionCallback", "action", "_", "__async", "selectedChapterIndexes", "getSelectedCardsForSource", "selectedChapterIds", "filter", "_chapter", "index", "includes", "Action", "AddToReadingList", "addMultipleToReadingList", "success", "deselectAll", "markForCheck", "MarkAsRead", "markMultipleAsRead", "loadVolume", "MarkAsUnread", "markMultipleAsUnread", "SendTo", "device", "_extra", "data", "sendToDevice", "map", "c", "Delete", "deleteMultipleChapters", "currentlyReadingChapter", "undefined", "Unknown", "characterLocked", "characters", "coloristLocked", "colorists", "coverArtistLocked", "editorLocked", "editors", "imprintLocked", "imprints", "inkerLocked", "inkers", "languageLocked", "lettererLocked", "letterers", "locationLocked", "locations", "pencillerLocked", "pencillers", "publisherLocked", "publishers", "teamLocked", "teams", "translatorLocked", "translators", "writerLocked", "isSpecial", "chapterLocaleKey", "LibraryType", "ComicVine", "Comic", "Book", "LightNovel", "Manga", "Images", "LooseLeafOrDefaultNumber", "translate", "num", "scrollingBlock", "navbar", "querySelector", "companionHeight", "companionBar", "nativeElement", "offsetHeight", "navbarHeight", "ngOnInit", "snapshot", "paramMap", "get", "navigateByUrl", "getComputedStyle", "documentElement", "getPropertyValue", "trim", "parseInt", "messages$", "pipe", "takeUntilDestroyed", "subscribe", "event", "EVENTS", "CoverUpdate", "coverUpdateEvent", "payload", "entityType", "refreshColorScape", "ChapterRemoved", "removedEvent", "chapterId", "detectChanges", "VolumeRemoved", "navigateToSeries", "forkJoin", "getSeries", "getVolumeMetadata", "getLibraryType", "results", "setColorScape", "primaryColor", "secondaryColor", "activeDownloads$", "events", "mapToEntityType", "fragment", "tap", "frag", "updateUrl", "getReadingListsForChapter", "lists", "flatMap", "person", "self", "findIndex", "w", "tag", "Math", "max", "ageRating", "setContinuePoint", "v", "incognitoMode", "ref", "open", "EditVolumeModalComponent", "DefaultModalOptions", "componentInstance", "closed", "openEditChapterModal", "chapter", "EditChapterModalComponent", "nextId", "activeTab", "newUrl", "path", "split", "replaceState", "field", "value", "applyFilter", "FilterComparison", "Equal", "callback", "markChapterAsRead", "markChapterAsUnread", "Edit", "addChapterToReadingList", "IncognitoRead", "readChapter", "deleteChapter", "res", "deleteVolume", "markVolumeAsRead", "pages", "markVolumeAsUnread", "Download", "download", "d", "chapterIds", "setTimeout", "tabElem", "scrollIntoView", "behavior", "block", "inline", "navigate", "chaptersWithProgress", "selectors", "viewQuery", "rf", "ctx", "VolumeDetailComponent_ng_container_0_Template", "LoadingComponent", "NgbNavOutlet", "NgbNavItem", "NgbNavLink", "NgbNavContent", "NgbNav", "ReadMoreComponent", "AsyncPipe", "NgbDropdownItem", "NgbDropdownMenu", "NgbDropdown", "NgbDropdownToggle", "EntityTitleComponent", "RouterLink", "NgbTooltip", "NgStyle", "NgClass", "TranslocoDirective", "VirtualScrollerModule", "BadgeExpanderComponent", "MetadataDetailRowComponent", "DownloadButtonComponent", "CardActionablesComponent", "BulkOperationsComponent", "CoverImageComponent", "styles", "changeDetection"] }