{"version":3,"file":"26.9793e2534ba47f21.js","mappings":"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","names":["AgeRating","NotApplicable","Unknown","RatingPending","EarlyChildhood","Everyone","G","Everyone10Plus","PG","KidsToAdults","Teen","Mature15Plus","Mature17Plus","Mature","R18Plus","AdultsOnly","X18Plus","PageLayoutMode","Cards","List","ScrobbleProvider","Kavita","AniList","Mal","GoogleBooks","ScrobblingService","constructor","httpClient","utilityService","this","baseUrl","environment","apiUrl","hasTokenExpired","provider","get","TextResonse","pipe","map","r","updateAniListToken","token","post","getAniListToken","getScrobbleErrors","getScrobbleEvents","filter","pageNum","undefined","itemsPerPage","params","HttpParams","addPaginationIfExists","observe","response","createPaginatedResult","PaginatedResult","clearScrobbleErrors","getHolds","libraryAllowsScrobbling","seriesId","res","hasHold","addHold","removeHold","delete","t","i0","i1","i2","_angular_core__WEBPACK_IMPORTED_MODULE_6__","Yz7","factory","ɵfac","providedIn","AgeRatingPipe","translocoService","inject","TranslocoService","transform","value","of","translate","hasOwnProperty","title","_angular_core__WEBPACK_IMPORTED_MODULE_1__","Yjl","pure","standalone","specialCases","CompactNumberPipe","key","localStorage","getItem","AccountService","localeKey","replace","endsWith","transformValue","split","locale","formatter","Intl","NumberFormat","notation","maximumSignificantDigits","formatterForDoublePrecision","includes","length","format","ctx_r5","titleName","ctx_r8","entity","number","isChapter","includeVolume","volumeTitle","EntityTitleComponent_ng_container_0_ng_container_2_ng_template_2_ng_container_1_Template","ctx_r7","seriesName","t_r1","EntityTitleComponent_ng_container_0_ng_container_2_ng_container_1_Template","EntityTitleComponent_ng_container_0_ng_container_2_ng_template_2_Template","ctx_r2","prioritizeTitleName","_r6","ctx_r10","ctx_r13","EntityTitleComponent_ng_container_0_ng_container_3_ng_template_2_ng_container_1_Template","ctx_r12","EntityTitleComponent_ng_container_0_ng_container_3_ng_container_1_Template","EntityTitleComponent_ng_container_0_ng_container_3_ng_template_2_Template","ctx_r3","_r11","ctx_r4","EntityTitleComponent_ng_container_0_ng_container_2_Template","EntityTitleComponent_ng_container_0_ng_container_3_Template","EntityTitleComponent_ng_container_0_ng_container_4_Template","ctx_r0","libraryType","LibraryType","Comic","Manga","Book","EntityTitleComponent","cdRef","ngOnInit","c","v","asVolume","name","chapters","markForCheck","core","Xpm","selectors","inputs","features","decls","vars","consts","template","rf","ctx","EntityTitleComponent_ng_container_0_Template","CommonModule","TranslocoModule","i3","changeDetection","_r9","item_r3","$implicit","goTo","queryParam","id","itemTemplate","_c2","position_r4","_r13","TagBadgeCursor","Clickable","titleTemplate","MetadataDetailComponent_div_0_ng_template_6_ng_container_0_Template","MetadataDetailComponent_div_0_ng_template_6_ng_template_1_Template","MetadataDetailComponent_div_0_ng_template_6_Template","heading","tags","MetadataDetailComponent","FilterField","None","filterUtilitiesService","FilterUtilitiesService","queryParamName","applyFilter","libraryId","FilterComparison","Equal","contentQueries","dirIndex","MetadataDetailComponent_div_0_Template","A11yClickDirective","BadgeExpanderComponent","TagBadgeComponent","EntityInfoCardsComponent_ng_container_0_div_2_ng_template_2_Template","EntityInfoCardsComponent_ng_container_0_div_2_ng_template_5_Template","chapterMetadata","Tags","characters","Characters","chapter","releaseDate","ageRating","_c0","totalPages","ctx_r6","totalWordCount","ctx_r23","readingTime","minHours","maxHours","EntityInfoCardsComponent_ng_container_0_ng_container_9_ng_container_3_Template","EntityInfoCardsComponent_ng_container_0_ng_container_9_ng_template_4_Template","_r22","createdUtc","_c1","ctx_r9","size","$event","_r36","ctx_r35","imageService","updateErroredWebLinkImage","link_r33","ctx_r32","getWebLinkImage","EntityInfoCardsComponent_ng_container_0_ng_container_13_ng_container_5_a_4_Template","ctx_r29","WebLinks","ctx_r30","isbn","ctx_r31","lastReadingProgress","EntityInfoCardsComponent_ng_container_0_ng_container_13_ng_container_5_Template","EntityInfoCardsComponent_ng_container_0_ng_container_13_ng_container_6_Template","EntityInfoCardsComponent_ng_container_0_ng_container_13_ng_container_7_Template","EntityInfoCardsComponent_ng_container_0_div_2_Template","EntityInfoCardsComponent_ng_container_0_ng_container_4_Template","EntityInfoCardsComponent_ng_container_0_ng_container_6_Template","EntityInfoCardsComponent_ng_container_0_ng_container_7_Template","EntityInfoCardsComponent_ng_container_0_ng_container_8_Template","EntityInfoCardsComponent_ng_container_0_ng_container_9_Template","EntityInfoCardsComponent_ng_container_0_ng_container_10_Template","EntityInfoCardsComponent_ng_container_0_ng_container_12_Template","EntityInfoCardsComponent_ng_container_0_ng_container_13_Template","files","MangaFormat","EPUB","showExtendedProperties","EntityInfoCardsComponent","webLinks","seriesService","includeMetadata","avgHours","ImageService","asChapter","reduce","sum","bytes","sum1","sum2","file","getChapterMetadata","subscribe","metadata","pages","wordCount","d","minHoursToRead","maxHoursToRead","avgHoursToRead","vol","EntityInfoCardsComponent_ng_container_0_Template","IconAndTitleComponent","SafeHtmlPipe","DefaultDatePipe","BytesPipe","NgbTooltip","i4","TranslocoLocaleModule","i5","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_3_ng_template_4_Template","writers","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_4_ng_template_4_Template","coverArtists","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_5_ng_template_4_Template","pencillers","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_6_ng_template_4_Template","inkers","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_7_ng_template_4_Template","colorists","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_8_ng_template_4_Template","letterers","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_9_ng_template_4_Template","editors","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_10_ng_template_4_Template","ctx_r11","publishers","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_11_ng_template_4_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_12_ng_template_4_Template","translators","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_span_1_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_3_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_4_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_5_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_6_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_7_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_8_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_9_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_10_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_11_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_div_12_Template","ChapterMetadataDetailComponent_ng_container_0_ng_container_1_Template","ChapterMetadataDetailComponent","ChapterMetadataDetailComponent_ng_container_0_Template","PersonBadgeComponent","TranslocoDirective","summary","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_5_ng_template_2_Template","item_r24","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_9_ng_template_2_Template","genres","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_14_ng_template_2_Template","ctx_r14","item_r32","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_18_ng_template_2_Template","ctx_r15","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_5_Template","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_9_Template","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_14_Template","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_container_18_Template","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_ng_template_19_Template","_r16","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_5_Template","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_template_6_Template","CardDetailDrawerComponent_ng_container_0_ng_template_13_ng_container_9_Template","coverImageUrl","_r8","data","_r37","ctx_r36","imageUrls","ctx_r38","applyCoverImage","ctx_r39","resetCoverImage","coverImageLocked","ctx_r40","formatChapterName","ctx_r43","formatChapterNumber","chapter_r42","pagesRead","file_r55","created","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_li_16_div_7_Template","filePath","ctx_r49","_r61","ctx_r60","readChapter","ctx_r62","performAction","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_ng_container_8_Template","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_span_10_Template","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_span_11_Template","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_span_12_Template","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_ng_template_13_Template","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_li_16_Template","ctx_r41","getChapterCoverImage","chapterActions","_r47","CardDetailDrawerComponent_ng_container_0_ng_template_27_h4_0_Template","CardDetailDrawerComponent_ng_container_0_ng_template_27_li_2_Template","_r64","ctx_r63","activeOffcanvas","dismiss","ctx_r65","active","CardDetailDrawerComponent_ng_container_0_ng_template_13_Template","CardDetailDrawerComponent_ng_container_0_ng_template_17_Template","CardDetailDrawerComponent_ng_container_0_ng_template_22_Template","CardDetailDrawerComponent_ng_container_0_ng_template_27_Template","parentName","tabs","TabID","General","Metadata","Cover","isAdmin$","Files","getActiveBreakpoint","Breakpoint","Mobile","_r2","CardDetailDrawerComponent","uploadService","toastr","accountService","actionFactoryService","actionService","router","libraryService","readerService","downloadService","destroyRef","DestroyRef","actions","disabled","downloadInProgress","currentUser$","takeUntilDestroyed","user","hasAdminRole","shareReplay","push","getVolumeCoverImage","getChapterActions","handleChapterActionCallback","bind","item","action","Action","Edit","Read","callback","requiresAdmin","children","filterSendToAction","getLibraryType","type","collator","Collator","numeric","sensitivity","forEach","sort","a","b","compare","close","coverUrl","updateChapterCoverImage","resetChapterCoverLock","info","markChapterAsRead","markChapterAsUnread","MarkAsRead","MarkAsUnread","AddToReadingList","addChapterToReadingList","IncognitoRead","Download","download","SendTo","sendToDevice","_extra","incognito","error","getQueryParamsObject","navigate","getNavigationArray","queryParams","i6","i7","i8","i9","i10","i11","i12","i13","CardDetailDrawerComponent_ng_container_0_Template","i14","NgbNav","NgbNavItem","NgbNavLink","NgbNavContent","ImageComponent","ReadMoreComponent","CoverImageChooserComponent","CardActionablesComponent","NgbNavOutlet","styles","_r3","save","reviewGroup","ReviewSeriesModalComponent","modal","FormGroup","tagline","FormControl","review","Validators","min","max","reviewBody","body","success","model","updateReview","ReviewSeriesModalComponent_ng_container_0_Template","ReactiveFormsModule","ExternalListItemComponent","imageUrl","imageHeight","imageWidth","ngContentSelectors","ExternalListItemComponent_ng_container_7_Template","handleClick","url","ExternalSeriesCardComponent_ng_container_0_ng_container_1_div_9_Template","ExternalSeriesCardComponent_ng_container_0_ng_container_1_Template","ExternalSeriesCardComponent","link","nativeElement","click","viewQuery","ExternalSeriesCardComponent_ng_container_0_Template","Title","blur","ListItemComponent_ng_container_0_div_4_Template","ListItemComponent_ng_container_0_div_7_Template","_r7","read","emit","ListItemComponent_ng_container_0_h6_18_Template","ListItemComponent_ng_container_0_ng_container_19_Template","download$","actionInProgress","showTitle","ShowExtended","ListItemComponent","Desktop","seriesLink","relation","EventEmitter","activeDownloads$","events","isVolume","find","e","entityType","subTitle","downloadSubtitle","statusUpdate","volume","outputs","ListItemComponent_ng_container_0_Template","DownloadIndicatorComponent","NgbProgressbar","html","toggle","SpoilerComponent_ng_container_0_span_2_Template","SpoilerComponent_ng_container_0_ng_template_3_Template","isCollapsed","SpoilerComponent","ChangeDetectorRef","SpoilerComponent_ng_container_0_Template","encapsulation","externalUrl","ReviewCardModalComponent_ng_container_0_p_7_Template","ReviewCardModalComponent_ng_container_0_a_12_Template","username","isExternal","ReviewCardModalComponent","document","ngAfterViewInit","spoilers","querySelectorAll","i","spoiler","componentRef","container","createComponent","instance","innerHTML","parentNode","replaceChild","location","DOCUMENT","ViewContainerRef","ReviewCardModalComponent_ng_container_0_Template","ProviderImagePipe","substring","score","_r15","showModal","ReviewCardComponent_ng_container_0_div_5_Template","ReviewCardComponent_ng_container_0_ng_container_9_Template","ReviewCardComponent_ng_container_0_ng_template_10_Template","ReviewCardComponent_ng_container_0_ng_container_15_Template","ReviewCardComponent_ng_container_0_ng_template_16_Template","ReviewCardComponent_ng_container_0_span_20_Template","isMyReview","_r4","bodyJustText","ReviewCardComponent","modalService","u","component","open","componentInstance","ReviewCardComponent_ng_container_0_Template","DefaultValuePipe","NgOptimizedImage","ProviderNamePipe","NgxStarsComponent_div_2_Template","star_r1","readonly","noop","onStarClick","onStarHover","starPadding","rtl","classname","starColorAndSize","NgxStarsComponent","maxStars","initialStars","animationSpeed","wholeStars","ratingOutput","customClassIdentifier","Math","random","toString","safeSize","Number","isInteger","setupStarImages","editableStars","Array","from","elem","index","EditableStar","reverse","setRating","animation","animationInterval","setInterval","starAnimation","ngOnDestroy","customCssClasses","style","removeChild","customStarIcons","Object","keys","starType","getStarClass","createCssClass","clazz","createElement","getElementsByTagName","appendChild","customPadding","starSize","width","assign","starColor","color","height","customSize","zeroStarLeft","animationRunning","rating","cancelStarAnimation","clearInterval","round","onStarsUnhover","event","clickedStar","clickedInFirstHalf","star","position","onZeroStarClick","onZeroStarHover","starNumber","starIcon","target","pageX","getBoundingClientRect","right","offsetWidth","left","getAriaLabel","ɵcmp","dependencies","NgxStarsModule","ɵmod","ɵinj","imports","userRating","overallRating","rating_r10","averageScore","_r12","updateRating","rating_r13","providerUrl","ExternalRatingComponent_ng_template_14_a_3_Template","favoriteCount","ExternalRatingComponent","SeriesService","themeService","ThemeService","UtilityService","ratings","isLoading","getCssVariable","getOverallRating","hasValidLicense$","getRatings","hasUserRated","ExternalRatingComponent_ng_container_4_Template","ExternalRatingComponent_ng_template_5_Template","ExternalRatingComponent_ng_container_7_Template","ExternalRatingComponent_ng_container_8_Template","ExternalRatingComponent_div_9_Template","ExternalRatingComponent_ng_template_12_Template","ExternalRatingComponent_ng_template_14_Template","_r1","NgbPopover","LoadingComponent","LanguageNamePipe","metadataService","isoCode","getAllValidLanguages","lang","l","seriesMetadata","releaseYear","handleGoTo","_r14","Languages","language","SeriesInfoCardsComponent_ng_container_0_ng_container_3_ng_container_1_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_3_ng_container_2_Template","_r18","ctx_r17","PublicationStatus","publicationStatus","pubStatus_r16","maxCount","totalCount","ctx_r20","isScrobbling","_r26","ctx_r25","toggleScrobbling","SeriesInfoCardsComponent_ng_container_0_ng_container_9_ng_container_3_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_9_ng_template_4_Template","_r21","ctx_r28","series","latestReadDate","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_container_10_ng_container_1_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_container_13_ng_container_3_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_container_13_ng_template_4_Template","_r39","ctx_r33","readingTimeLeft","_r46","ctx_r45","Formats","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_container_8_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_container_10_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_template_11_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_container_13_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_11_ng_container_14_Template","_r30","hasReadingProgress","showReadingTimeLeft","SeriesInfoCardsComponent_ng_container_0_ng_container_2_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_3_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_6_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_9_Template","SeriesInfoCardsComponent_ng_container_0_ng_container_11_Template","SeriesInfoCardsComponent","messageHub","scrobbleService","messages$","EVENTS","UserProgressUpdate","evt","payload","debounceTime","updateEvent","getReadingTimeLeft","ngOnChanges","SeriesName","getTimeLeft","timeLeft","stopPropagation","SeriesInfoCardsComponent_ng_container_0_Template","PublicationStatusPipe","MangaFormatPipe","TimeAgoPipe","MangaFormatIconPipe","_r42","item_r40","errorWebLinkImage","SeriesMetadataDetailComponent_ng_container_0_ng_container_6_ng_template_2_Template","links_r37","item_r46","_r48","ctx_r47","item_r49","_r53","ctx_r52","SeriesMetadataDetailComponent_ng_container_0_ng_template_17_span_1_Template","promoted","_r65","ctx_r64","toggleView","hasExtendedProperties","SeriesMetadataDetailComponent_ng_container_0_ng_template_4_Template","SeriesMetadataDetailComponent_ng_container_0_ng_container_6_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_8_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_11_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_14_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_17_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_20_Template","_r68","ctx_r67","SeriesMetadataDetailComponent_ng_container_0_ng_template_25_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_28_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_31_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_34_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_37_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_40_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_43_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_46_Template","SeriesMetadataDetailComponent_ng_container_0_ng_template_49_Template","SeriesMetadataDetailComponent_ng_container_0_hr_52_Template","SeriesMetadataDetailComponent_ng_container_0_a_53_Template","ctx_r69","seriesSummary","Genres","collectionTags","readingLists","Writers","CoverArtist","Colorist","Editor","Inker","Letterer","Translators","Penciller","Publisher","SeriesMetadataDetailComponent","filterUtilityService","changes","basePage","SeriesMetadataDetailComponent_ng_container_0_Template","NgbCollapse","localizedName","offcanvas_r8","_r10","pageExtrasGroup","SeriesDetailComponent_ng_container_0_app_side_nav_companion_bar_3_ng_container_6_Template","SeriesDetailComponent_ng_container_0_app_side_nav_companion_bar_3_ng_template_7_Template","seriesActions","NotAllowed","unreadCount","ctx_r16","ContinuePointTitle","_r25","ctx_r24","openEditSeriesModal","_r32","downloadSeries","SeriesDetailComponent_ng_container_0_div_4_div_32_ng_container_2_Template","SeriesDetailComponent_ng_container_0_div_4_div_32_ng_template_3_Template","ctx_r18","_r28","ctx_r19","_r57","ctx_r55","openVolume","idx_r50","_r43","ctx_r58","bulkSelectionService","handleCardSelection","viewPortInfo","startIndexWithBuffer","volumes","ctx_r54","volumeActions","isCardSelected","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_container_2_ng_container_3_ng_container_1_app_card_item_1_Template","openChapter","ctx_r66","storyChapters","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_container_2_ng_container_3_ng_template_2_app_card_item_0_Template","isSpecial","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_container_2_ng_container_3_ng_container_1_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_container_2_ng_container_3_ng_template_2_Template","_r52","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_container_2_ng_container_3_Template","viewPortItems","ctx_r44","trackByStoryLineIdentity","_r79","item_r71","ctx_r77","ctx_r76","preferences","blurUnreadSummaries","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_template_3_ng_container_0_ng_container_1_app_list_item_1_Template","_r85","ctx_r83","ctx_r82","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_template_3_ng_container_0_ng_template_2_app_list_item_0_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_template_3_ng_container_0_ng_container_1_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_template_3_ng_container_0_ng_template_2_Template","_r74","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_template_3_ng_container_0_Template","ctx_r46","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_container_2_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_ng_template_3_Template","ctx_r42","storylineItems","renderMode","_r45","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_ng_template_3_Template","Storyline","item_r96","_r99","ctx_r98","idx_r97","_r90","ctx_r100","ctx_r95","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_5_ng_template_3_ng_container_2_ng_container_3_Template","ctx_r91","trackByVolumeIdentity","volume_r102","_r105","ctx_r104","ctx_r101","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_5_ng_template_3_ng_template_3_ng_container_0_Template","ctx_r93","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_5_ng_template_3_ng_container_2_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_5_ng_template_3_ng_template_3_Template","ctx_r89","_r92","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_5_ng_template_3_Template","ctx_r37","Volumes","_r119","item_r114","ctx_r117","idx_r115","_r108","ctx_r120","ctx_r116","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_ng_template_3_ng_container_2_div_3_app_card_item_1_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_ng_template_3_ng_container_2_div_3_Template","ctx_r109","trackByChapterIdentity","_r129","chapter_r124","ctx_r127","ctx_r126","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_ng_template_3_ng_template_3_div_0_app_list_item_1_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_ng_template_3_ng_template_3_div_0_Template","ctx_r111","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_ng_template_3_ng_container_2_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_ng_template_3_ng_template_3_Template","ctx_r107","_r110","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_ng_template_3_Template","Chapters","item_r138","_r141","ctx_r140","idx_r139","_r132","ctx_r142","range","ctx_r137","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_7_ng_template_3_ng_container_2_ng_container_3_Template","ctx_r133","chapter_r144","_r147","ctx_r146","ctx_r143","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_7_ng_template_3_ng_template_3_ng_container_0_Template","ctx_r135","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_7_ng_template_3_ng_container_2_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_7_ng_template_3_ng_template_3_Template","ctx_r131","specials","_r134","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_7_ng_template_3_Template","Specials","item_r153","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_8_ng_template_3_ng_container_4_Template","ctx_r149","relations","_r150","trackByRelatedSeriesIdentify","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_8_ng_template_3_Template","Related","item_r163","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_container_2_ng_container_3_ng_container_1_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_container_2_ng_container_3_ng_template_2_Template","_r166","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_container_2_ng_container_3_Template","_r157","ctx_r158","trackBySeriesIdentify","ctx_r173","getSeriesCoverImage","item_r171","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_template_3_ng_container_0_ng_container_1_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_template_3_ng_container_0_ng_template_2_Template","_r174","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_template_3_ng_container_0_Template","ctx_r160","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_container_2_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_ng_template_3_Template","ctx_r156","combinedRecs","_r159","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_ng_template_3_Template","Recommendations","_r180","ctx_r179","activeTabId","ctx_r181","onNavChange","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_4_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_5_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_6_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_7_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_8_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_li_9_Template","ctx_r22","bulkActionCallback","hasSpecials","hasRelations","hasRecommendations","_r35","SeriesDetailComponent_ng_container_0_div_4_div_4_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_6_Template","_r183","ctx_r182","ctx_r184","ctx_r185","toggleWantToRead","SeriesDetailComponent_ng_container_0_div_4_div_28_Template","ctx_r186","SeriesDetailComponent_ng_container_0_div_4_div_32_Template","SeriesDetailComponent_ng_container_0_div_4_div_33_Template","ctx_r187","openReviewModal","SeriesDetailComponent_ng_container_0_div_4_ng_template_36_Template","SeriesDetailComponent_ng_container_0_div_4_ng_container_38_Template","_c3","ScrollingBlockHeight","seriesImage","currentlyReadingChapter","showBook","isWantToRead","isAdmin","hasDownloadingRole","getUserReview","reviews","SeriesDetailComponent_ng_container_0_app_side_nav_companion_bar_3_Template","SeriesDetailComponent_ng_container_0_div_4_Template","SeriesDetailComponent","scrollingBlock","navbar","querySelector","companionBar","offsetHeight","volumeId","route","confirmService","titleService","readingListService","navService","offcanvasService","scrollService","deviceService","sortingOptions","text","sortingOption","selectedVolumeIndexes","getSelectedCardsForSource","selectedChapterIndexes","selectedSpecialIndexes","chapterArray","chapterIndexModifier","selectedChapterIds","_chapter","selectedVolumeIds","_volume","addMultipleToReadingList","deselectAll","markMultipleAsRead","setContinuePoint","markMultipleAsUnread","routeReuseStrategy","shouldReuseRoute","take","hasDownloadRole","globalPageLayoutMode","setValue","ngAfterContentChecked","setScrollContainer","routeId","snapshot","paramMap","SeriesRemoved","navigateByUrl","ScanSeries","loadSeries","parseInt","valueChanges","val","handleKeypress","KEY_CODES","SHIFT","isShiftDown","handleKeyUp","handleSeriesActionCallback","markSeriesAsRead","markSeriesAsUnread","Scan","scanSeries","RefreshMetadata","refreshMetdata","Delete","deleteSeries","addSeriesToReadingList","AddToCollection","addMultipleSeriesToCollectionTag","AnalyzeFiles","analyzeFilesForSeries","AddToWantToReadList","addMultipleSeriesToWantToReadList","RemoveFromWantToReadList","removeMultipleSeriesFromWantToReadList","chapterIds","flat","handleVolumeActionCallback","markVolumeAsRead","markVolumeAsUnread","openViewInfo","addVolumeToReadingList","sortChapters","device","sendTo","deviceName","_this","_asyncToGenerator","result","loadExternal","getMetadata","getReadingListsForSeries","lists","forkJoin","libType","getSeries","results","loadReviews","setTitle","getSeriesActions","getVolumeActions","getRelatedForSeries","prequels","createRelatedSeries","RelationKind","Prequel","sequels","Sequel","sideStories","SideStory","spinOffs","SpinOff","adaptations","Adaptation","contains","Contains","Character","others","Other","alternativeSettings","AlternativeSetting","alternativeVersions","AlternativeVersion","doujinshis","Doujinshi","parent","Parent","editions","Edition","getSeriesDetail","catchError","err","detail","storylineChapters","updateSelectedTab","loadRecommendations","getRecommendationsForSeries","rec","ownedSeries","m","externalSeries","loadRecs","getReviews","hasSeriesProgress","hasProgress","getCurrentChapter","incognitoMode","hasSelections","unreadChapters","drawerRef","modalRef","EditSeriesModalComponent","closed","closeResult","window","scrollTo","coverImageUpdate","userReview","scrollable","i15","i16","i17","i18","i19","i20","i21","SeriesDetailComponent_ng_container_0_Template","NgIf","SideNavCompanionBarComponent","i22","NgStyle","NgbDropdown","NgbDropdownToggle","NgbDropdownMenu","NgbDropdownItem","CarouselReelComponent","BulkOperationsComponent","VirtualScrollerModule","i23","NgFor","CardItemComponent","SeriesCardComponent","DecimalPipe","routes","path","SeriesDetailRoutingModule","oAB","cJS","RouterModule","forChild","SeriesDetailModule","NgbTooltipModule","label","clickable","fontClasses","_angular_core__WEBPACK_IMPORTED_MODULE_0__","IconAndTitleComponent_div_1_Template"],"sourceRoot":"webpack:///","sources":["./src/app/_models/metadata/age-rating.ts","./src/app/_models/page-layout-mode.ts","./src/app/_services/scrobbling.service.ts","./src/app/pipe/age-rating.pipe.ts","./src/app/pipe/compact-number.pipe.ts","./src/app/cards/entity-title/entity-title.component.html","./src/app/cards/entity-title/entity-title.component.ts","./src/app/series-detail/_components/metadata-detail/metadata-detail.component.html","./src/app/series-detail/_components/metadata-detail/metadata-detail.component.ts","./src/app/cards/entity-info-cards/entity-info-cards.component.html","./src/app/cards/entity-info-cards/entity-info-cards.component.ts","./src/app/cards/chapter-metadata-detail/chapter-metadata-detail.component.html","./src/app/cards/chapter-metadata-detail/chapter-metadata-detail.component.ts","./src/app/cards/card-detail-drawer/card-detail-drawer.component.html","./src/app/cards/card-detail-drawer/card-detail-drawer.component.ts","./src/app/_single-module/review-series-modal/review-series-modal.component.html","./src/app/_single-module/review-series-modal/review-series-modal.component.ts","./src/app/cards/external-list-item/external-list-item.component.html","./src/app/cards/external-list-item/external-list-item.component.ts","./src/app/cards/external-series-card/external-series-card.component.html","./src/app/cards/external-series-card/external-series-card.component.ts","./src/app/cards/list-item/list-item.component.html","./src/app/cards/list-item/list-item.component.ts","./src/app/_single-module/spoiler/spoiler.component.html","./src/app/_single-module/spoiler/spoiler.component.ts","./src/app/_single-module/review-card-modal/review-card-modal.component.html","./src/app/_single-module/review-card-modal/review-card-modal.component.ts","./src/app/pipe/provider-image.pipe.ts","./src/app/_single-module/review-card/review-card.component.html","./src/app/_single-module/review-card/review-card.component.ts","./src/app/pipe/provider-name.pipe.ts","./node_modules/ngx-stars/fesm2020/ngx-stars.mjs","./src/app/series-detail/_components/external-rating/external-rating.component.html","./src/app/series-detail/_components/external-rating/external-rating.component.ts","./src/app/pipe/language-name.pipe.ts","./src/app/cards/series-info-cards/series-info-cards.component.html","./src/app/cards/series-info-cards/series-info-cards.component.ts","./src/app/series-detail/_components/series-metadata-detail/series-metadata-detail.component.html","./src/app/series-detail/_components/series-metadata-detail/series-metadata-detail.component.ts","./src/app/series-detail/_components/series-detail/series-detail.component.html","./src/app/series-detail/_components/series-detail/series-detail.component.ts","./src/app/series-detail/series-detail-routing.module.ts","./src/app/series-detail/series-detail.module.ts","./src/app/shared/icon-and-title/icon-and-title.component.html","./src/app/shared/icon-and-title/icon-and-title.component.ts"],"sourcesContent":["export enum AgeRating {\n /**\n * This is not a valid state for Series/Chapters, but used for Restricted Profiles\n */\n NotApplicable = -1,\n Unknown = 0,\n RatingPending = 1,\n EarlyChildhood = 2,\n Everyone = 3,\n G = 4,\n Everyone10Plus = 5,\n PG = 6,\n KidsToAdults = 7,\n Teen = 8,\n Mature15Plus = 9,\n Mature17Plus = 10,\n Mature = 11,\n R18Plus = 12,\n AdultsOnly = 13,\n X18Plus = 14\n}","export enum PageLayoutMode {\n /**\n * Use Cards for laying out data\n */\n Cards = 0,\n /**\n * Use list style for laying out items\n */\n List = 1\n}","import {HttpClient, HttpParams} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { TextResonse } from '../_types/text-response';\nimport {ScrobbleError} from \"../_models/scrobbling/scrobble-error\";\nimport {ScrobbleEvent} from \"../_models/scrobbling/scrobble-event\";\nimport {ScrobbleHold} from \"../_models/scrobbling/scrobble-hold\";\nimport {PaginatedResult} from \"../_models/pagination\";\nimport {ScrobbleEventFilter} from \"../_models/scrobbling/scrobble-event-filter\";\nimport {UtilityService} from \"../shared/_services/utility.service\";\n\nexport enum ScrobbleProvider {\n Kavita = 0,\n AniList= 1,\n Mal = 2,\n GoogleBooks = 3\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScrobblingService {\n\n baseUrl = environment.apiUrl;\n\n\n constructor(private httpClient: HttpClient, private utilityService: UtilityService) {}\n\n hasTokenExpired(provider: ScrobbleProvider) {\n return this.httpClient.get(this.baseUrl + 'scrobbling/token-expired?provider=' + provider, TextResonse)\n .pipe(map(r => r === \"true\"));\n }\n\n updateAniListToken(token: string) {\n return this.httpClient.post(this.baseUrl + 'scrobbling/update-anilist-token', {token});\n }\n\n getAniListToken() {\n return this.httpClient.get(this.baseUrl + 'scrobbling/anilist-token', TextResonse);\n }\n\n getScrobbleErrors() {\n return this.httpClient.get>(this.baseUrl + 'scrobbling/scrobble-errors');\n }\n\n getScrobbleEvents(filter: ScrobbleEventFilter, pageNum: number | undefined = undefined, itemsPerPage: number | undefined = undefined) {\n let params = new HttpParams();\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\n return this.httpClient.post>(this.baseUrl + 'scrobbling/scrobble-events', filter, {observe: 'response', params}).pipe(\n map((response: any) => {\n return this.utilityService.createPaginatedResult(response, new PaginatedResult());\n })\n );\n }\n\n clearScrobbleErrors() {\n return this.httpClient.post(this.baseUrl + 'scrobbling/clear-errors', {});\n }\n\n getHolds() {\n return this.httpClient.get>(this.baseUrl + 'scrobbling/holds');\n }\n\n libraryAllowsScrobbling(seriesId: number) {\n return this.httpClient.get(this.baseUrl + 'scrobbling/library-allows-scrobbling?seriesId=' + seriesId, TextResonse)\n .pipe(map(res => res === \"true\"));\n }\n\n hasHold(seriesId: number) {\n return this.httpClient.get(this.baseUrl + 'scrobbling/has-hold?seriesId=' + seriesId, TextResonse)\n .pipe(map(res => res === \"true\"));\n }\n\n addHold(seriesId: number) {\n return this.httpClient.post(this.baseUrl + 'scrobbling/add-hold?seriesId=' + seriesId, TextResonse);\n }\n\n removeHold(seriesId: number) {\n return this.httpClient.delete(this.baseUrl + 'scrobbling/remove-hold?seriesId=' + seriesId, TextResonse);\n }\n}\n","import {inject, Pipe, PipeTransform} from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { AgeRating } from '../_models/metadata/age-rating';\nimport { AgeRatingDto } from '../_models/metadata/age-rating-dto';\nimport {TranslocoService} from \"@ngneat/transloco\";\n\n@Pipe({\n name: 'ageRating',\n standalone: true\n})\nexport class AgeRatingPipe implements PipeTransform {\n\n translocoService = inject(TranslocoService);\n\n transform(value: AgeRating | AgeRatingDto | undefined): Observable {\n if (value === undefined || value === null) return of(this.translocoService.translate('age-rating-pipe.unknown') as string);\n\n if (value.hasOwnProperty('title')) {\n return of((value as AgeRatingDto).title);\n }\n\n switch (value) {\n case AgeRating.Unknown:\n return this.translocoService.translate('age-rating-pipe.unknown');\n case AgeRating.EarlyChildhood:\n return this.translocoService.translate('age-rating-pipe.early-childhood');\n case AgeRating.AdultsOnly:\n return this.translocoService.translate('age-rating-pipe.adults-only');\n case AgeRating.Everyone:\n return this.translocoService.translate('age-rating-pipe.everyone');\n case AgeRating.Everyone10Plus:\n return this.translocoService.translate('age-rating-pipe.everyone-10-plus');\n case AgeRating.G:\n return this.translocoService.translate('age-rating-pipe.g');\n case AgeRating.KidsToAdults:\n return this.translocoService.translate('age-rating-pipe.kids-to-adults');\n case AgeRating.Mature:\n return this.translocoService.translate('age-rating-pipe.mature');\n case AgeRating.Mature15Plus:\n return this.translocoService.translate('age-rating-pipe.ma15-plus');\n case AgeRating.Mature17Plus:\n return this.translocoService.translate('age-rating-pipe.mature-17-plus');\n case AgeRating.RatingPending:\n return this.translocoService.translate('age-rating-pipe.rating-pending');\n case AgeRating.Teen:\n return this.translocoService.translate('age-rating-pipe.teen');\n case AgeRating.X18Plus:\n return this.translocoService.translate('age-rating-pipe.x18-plus');\n case AgeRating.NotApplicable:\n return this.translocoService.translate('age-rating-pipe.not-applicable');\n case AgeRating.PG:\n return this.translocoService.translate('age-rating-pipe.pg');\n case AgeRating.R18Plus:\n return this.translocoService.translate('age-rating-pipe.r18-plus');\n }\n\n return of(this.translocoService.translate('age-rating-pipe.unknown') as string);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {AccountService} from \"../_services/account.service\";\n\nconst specialCases = [4, 7, 10, 13];\n\n@Pipe({\n name: 'compactNumber',\n standalone: true\n})\nexport class CompactNumberPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: number): string {\n // Weblate allows some non-standard languages, like 'zh_Hans', which should be just 'zh'. So we handle that here\n const key = localStorage.getItem(AccountService.localeKey)?.replace('_', '-');\n if (key?.endsWith('Hans')) {\n return this.transformValue(key?.split('-')[0] || 'en', value);\n }\n return this.transformValue(key || 'en', value);\n }\n\n private transformValue(locale: string, value: number) {\n const formatter = new Intl.NumberFormat(locale, {\n //@ts-ignore\n notation: 'compact', // https://github.com/microsoft/TypeScript/issues/36533\n maximumSignificantDigits: 3\n });\n\n const formatterForDoublePrecision = new Intl.NumberFormat(locale, {\n //@ts-ignore\n notation: 'compact', // https://github.com/microsoft/TypeScript/issues/36533\n maximumSignificantDigits: 2\n });\n\n if (value < 1000) return value + '';\n if (specialCases.includes((value + '').length)) { // from 4, every 3 will have a case where we need to override\n return formatterForDoublePrecision.format(value);\n }\n\n return formatter.format(value);\n }\n\n\n\n}\n","\n \n \n \n {{titleName}}\n \n \n {{seriesName.length > 0 ? seriesName + ' - ' : ''}}\n \n {{entity.number !== 0 ? (isChapter && includeVolume ? volumeTitle : '') : ''}}\n \n {{entity.number !== 0 ? (isChapter ? t('issue-num') + entity.number : volumeTitle) : t('special')}}\n \n \n \n \n {{titleName}}\n \n \n {{seriesName.length > 0 ? seriesName + ' - ' : ''}}\n \n {{entity.number !== 0 ? (isChapter && includeVolume ? volumeTitle : '') : ''}}\n \n {{entity.number !== 0 ? (isChapter ? (t('chapter') + ' ') + entity.number : volumeTitle) : t('special')}}\n \n \n \n {{volumeTitle}}\n \n \n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { UtilityService } from 'src/app/shared/_services/utility.service';\nimport { Chapter } from 'src/app/_models/chapter';\nimport { LibraryType } from 'src/app/_models/library';\nimport { Volume } from 'src/app/_models/volume';\nimport {CommonModule, NgSwitch} from \"@angular/common\";\nimport {TranslocoModule} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-entity-title',\n standalone: true,\n imports: [\n CommonModule,\n NgSwitch,\n TranslocoModule\n ],\n templateUrl: './entity-title.component.html',\n styleUrls: ['./entity-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntityTitleComponent implements OnInit {\n\n /**\n * Library type for which the entity belongs\n */\n @Input() libraryType: LibraryType = LibraryType.Manga;\n @Input() seriesName: string = '';\n @Input({required: true}) entity!: Volume | Chapter;\n /**\n * When generating the title, should this prepend 'Volume number' before the Chapter wording\n */\n @Input() includeVolume: boolean = false;\n /**\n * When a titleName (aka a title) is available on the entity, show it over Volume X Chapter Y\n */\n @Input() prioritizeTitleName: boolean = true;\n\n isChapter = false;\n titleName: string = '';\n volumeTitle: string = '';\n\n\n get LibraryType() {\n return LibraryType;\n }\n\n constructor(private utilityService: UtilityService, private readonly cdRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.isChapter = this.utilityService.isChapter(this.entity);\n\n if (this.isChapter) {\n const c = (this.entity as Chapter);\n this.volumeTitle = c.volumeTitle || '';\n this.titleName = c.titleName || '';\n } else {\n const v = this.utilityService.asVolume(this.entity);\n this.volumeTitle = v.name || '';\n this.titleName = v.name || '';\n if (v.chapters[0].titleName) {\n this.titleName += ' - ' + v.chapters[0].titleName;\n }\n }\n this.cdRef.markForCheck();\n }\n}\n","
0\">\n
\n
{{heading}}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n","import {ChangeDetectionStrategy, Component, ContentChild, inject, Input, TemplateRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {A11yClickDirective} from \"../../../shared/a11y-click.directive\";\nimport {BadgeExpanderComponent} from \"../../../shared/badge-expander/badge-expander.component\";\nimport {TagBadgeComponent, TagBadgeCursor} from \"../../../shared/tag-badge/tag-badge.component\";\nimport {FilterUtilitiesService} from \"../../../shared/_services/filter-utilities.service\";\nimport {FilterComparison} from \"../../../_models/metadata/v2/filter-comparison\";\nimport {FilterField} from \"../../../_models/metadata/v2/filter-field\";\n\n@Component({\n selector: 'app-metadata-detail',\n standalone: true,\n imports: [CommonModule, A11yClickDirective, BadgeExpanderComponent, TagBadgeComponent],\n templateUrl: './metadata-detail.component.html',\n styleUrls: ['./metadata-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MetadataDetailComponent {\n\n @Input({required: true}) tags: Array = [];\n @Input({required: true}) libraryId!: number;\n @Input({required: true}) heading!: string;\n @Input() queryParam: FilterField = FilterField.None;\n @ContentChild('titleTemplate') titleTemplate!: TemplateRef;\n @ContentChild('itemTemplate') itemTemplate?: TemplateRef;\n\n private readonly filterUtilitiesService = inject(FilterUtilitiesService);\n protected readonly TagBadgeCursor = TagBadgeCursor;\n\n\n goTo(queryParamName: FilterField, filter: any) {\n if (queryParamName === FilterField.None) return;\n this.filterUtilitiesService.applyFilter(['library', this.libraryId], queryParamName, FilterComparison.Equal, filter);\n }\n}\n","\n\n
\n
\n \n \n {{item.title}}\n \n\n \n {{item.name}}\n \n
\n\n
\n \n
\n \n {{chapter.releaseDate | date:'shortDate' | defaultDate}}\n \n
\n
\n
\n\n \n
\n \n {{chapter.ageRating | ageRating}}\n \n
\n
\n
\n\n 0\">\n
\n \n {{t('pages-count', {num: totalPages | compactNumber})}}\n \n
\n
\n
\n\n 0\">\n
\n \n {{t('words-count', {num: totalWordCount | compactNumber})}}\n \n
\n
\n
\n\n 0 || chapter.files[0].format !== MangaFormat.EPUB\">\n
\n \n {{t('less-than-hour')}}\n \n {{readingTime.minHours}}{{readingTime.maxHours !== readingTime.minHours ? ('-' + readingTime.maxHours) : ''}} {{readingTime.minHours > 1 ? t('hours') : t('hour')}}\n \n \n
\n
\n\n \n
\n
\n \n {{chapter.createdUtc | translocoDate: {dateStyle: 'short', timeStyle: 'short' } | defaultDate}}\n \n
\n
\n\n 0\">\n
\n
\n \n {{size | bytes}}\n \n
\n
\n\n \n
\n
\n \n {{entity.id}}\n \n
\n 0\">\n
\n
\n \n \n \"\"\n \n \n
\n
\n\n 0\">\n
\n
\n \n {{chapter.isbn}}\n \n
\n
\n\n \n
\n
\n \n {{chapter.lastReadingProgress | date: 'shortDate'}}\n \n
\n
\n
\n
\n
\n\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnInit,\n inject,\n} from '@angular/core';\nimport { UtilityService } from 'src/app/shared/_services/utility.service';\nimport { Chapter } from 'src/app/_models/chapter';\nimport { ChapterMetadata } from 'src/app/_models/metadata/chapter-metadata';\nimport { HourEstimateRange } from 'src/app/_models/series-detail/hour-estimate-range';\nimport { LibraryType } from 'src/app/_models/library';\nimport { MangaFormat } from 'src/app/_models/manga-format';\nimport { AgeRating } from 'src/app/_models/metadata/age-rating';\nimport { Volume } from 'src/app/_models/volume';\nimport { SeriesService } from 'src/app/_services/series.service';\nimport { ImageService } from 'src/app/_services/image.service';\nimport {CommonModule} from \"@angular/common\";\nimport {IconAndTitleComponent} from \"../../shared/icon-and-title/icon-and-title.component\";\nimport {SafeHtmlPipe} from \"../../pipe/safe-html.pipe\";\nimport {DefaultDatePipe} from \"../../pipe/default-date.pipe\";\nimport {BytesPipe} from \"../../pipe/bytes.pipe\";\nimport {CompactNumberPipe} from \"../../pipe/compact-number.pipe\";\nimport {AgeRatingPipe} from \"../../pipe/age-rating.pipe\";\nimport {NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\nimport {MetadataDetailComponent} from \"../../series-detail/_components/metadata-detail/metadata-detail.component\";\nimport {TranslocoModule} from \"@ngneat/transloco\";\nimport {TranslocoLocaleModule} from \"@ngneat/transloco-locale\";\nimport {FilterField} from \"../../_models/metadata/v2/filter-field\";\n\n@Component({\n selector: 'app-entity-info-cards',\n standalone: true,\n imports: [CommonModule, IconAndTitleComponent, SafeHtmlPipe, DefaultDatePipe, BytesPipe, CompactNumberPipe, AgeRatingPipe, NgbTooltip, MetadataDetailComponent, TranslocoModule, CompactNumberPipe, TranslocoLocaleModule],\n templateUrl: './entity-info-cards.component.html',\n styleUrls: ['./entity-info-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntityInfoCardsComponent implements OnInit {\n\n @Input({required: true}) entity!: Volume | Chapter;\n @Input({required: true}) libraryId!: number;\n /**\n * This will pull extra information\n */\n @Input() includeMetadata: boolean = false;\n\n /**\n * Hide more system based fields, like Id or Date Added\n */\n @Input() showExtendedProperties: boolean = true;\n\n isChapter = false;\n chapter!: Chapter;\n\n chapterMetadata!: ChapterMetadata;\n ageRating!: string;\n totalPages: number = 0;\n totalWordCount: number = 0;\n readingTime: HourEstimateRange = {maxHours: 1, minHours: 1, avgHours: 1};\n size: number = 0;\n\n imageService = inject(ImageService);\n\n get LibraryType() {\n return LibraryType;\n }\n\n get MangaFormat() {\n return MangaFormat;\n }\n\n get AgeRating() {\n return AgeRating;\n }\n\n get FilterField() { return FilterField; }\n\n get WebLinks() {\n if (this.chapter.webLinks === '') return [];\n return this.chapter.webLinks.split(',');\n }\n\n constructor(private utilityService: UtilityService, private seriesService: SeriesService, private readonly cdRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.isChapter = this.utilityService.isChapter(this.entity);\n\n this.chapter = this.utilityService.isChapter(this.entity) ? (this.entity as Chapter) : (this.entity as Volume).chapters[0];\n\n\n if (this.isChapter) {\n this.size = this.utilityService.asChapter(this.entity).files.reduce((sum, v) => sum + v.bytes, 0);\n } else {\n this.size = this.utilityService.asVolume(this.entity).chapters.reduce((sum1, chapter) => {\n return sum1 + chapter.files.reduce((sum2, file) => {\n return sum2 + file.bytes;\n }, 0);\n }, 0);\n }\n\n if (this.includeMetadata) {\n this.seriesService.getChapterMetadata(this.chapter.id).subscribe(metadata => {\n this.chapterMetadata = metadata;\n this.cdRef.markForCheck();\n });\n }\n\n this.totalPages = this.chapter.pages;\n if (!this.isChapter) {\n this.totalPages = this.utilityService.asVolume(this.entity).pages;\n }\n\n this.totalWordCount = this.chapter.wordCount;\n if (!this.isChapter) {\n this.totalWordCount = this.utilityService.asVolume(this.entity).chapters.map(c => c.wordCount).reduce((sum, d) => sum + d);\n }\n\n\n\n if (this.isChapter) {\n this.readingTime.minHours = this.chapter.minHoursToRead;\n this.readingTime.maxHours = this.chapter.maxHoursToRead;\n this.readingTime.avgHours = this.chapter.avgHoursToRead;\n } else {\n const vol = this.utilityService.asVolume(this.entity);\n this.readingTime.minHours = vol.minHoursToRead;\n this.readingTime.maxHours = vol.maxHoursToRead;\n this.readingTime.avgHours = vol.avgHoursToRead;\n }\n this.cdRef.markForCheck();\n }\n}\n","\n \n \n {{t('no-data')}}\n \n
\n
0\">\n
{{t('writers-title')}}
\n \n \n \n \n \n
\n\n
0\">\n
{{t('cover-artists-title')}}
\n \n \n \n \n \n
\n\n
0\">\n
{{t('pencillers-title')}}
\n \n \n \n \n \n
\n\n
0\">\n
{{t('inkers-title')}}
\n \n \n \n \n \n
\n\n
0\">\n
{{t('colorists-title')}}
\n \n \n \n \n \n
\n\n\n
0\">\n
{{t('letterers-title')}}
\n \n \n \n \n \n
\n\n
0\">\n
{{t('editors-title')}}
\n \n \n \n \n \n
\n\n
0\">\n
{{t('publishers-title')}}
\n \n \n \n \n \n
\n\n
0\">\n
{{t('characters-title')}}
\n \n \n \n \n \n
\n
0\">\n
{{t('translators-title')}}
\n \n \n \n \n \n
\n
\n
\n
\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ChapterMetadata } from 'src/app/_models/metadata/chapter-metadata';\nimport {CommonModule} from \"@angular/common\";\nimport {BadgeExpanderComponent} from \"../../shared/badge-expander/badge-expander.component\";\nimport {PersonBadgeComponent} from \"../../shared/person-badge/person-badge.component\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-chapter-metadata-detail',\n standalone: true,\n imports: [CommonModule, BadgeExpanderComponent, PersonBadgeComponent, TranslocoDirective],\n templateUrl: './chapter-metadata-detail.component.html',\n styleUrls: ['./chapter-metadata-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChapterMetadataDetailComponent {\n @Input() chapter: ChapterMetadata | undefined;\n}\n","\n
\n
\n \n \n \n
\n \n
\n\n
\n
\n
    \n
  • \n {{t(tabs[TabID.General].title)}}\n \n
    \n\n
    \n
    \n \n
    \n
    \n 0; else noSummary\">\n \n \n \n {{t('no-summary')}}\n \n
    \n
    \n\n \n\n\n \n \n
    \n
    \n
    {{t('writers-title')}}
    \n 0; else noBadges\">\n \n \n \n \n \n \n
    \n
    \n
    {{t('genres-title')}}
    \n 0; else noBadges\">\n \n \n {{item.title}}\n \n \n \n
    \n
    \n
    \n
    \n
    {{t('publishers-title')}}
    \n 0; else noBadges\">\n \n \n \n \n \n \n
    \n
    \n
    {{t('tags-title')}}
    \n 0; else noBadges\">\n \n \n {{item.title}}\n \n \n \n
    \n
    \n\n \n {{t('not-defined')}}\n \n
    \n\n
    \n
    \n
  • \n\n
  • \n {{t(tabs[TabID.Metadata].title)}}\n \n \n \n
  • \n\n
  • \n {{t(tabs[TabID.Cover].title)}}\n \n \n \n \n
  • \n\n
  • \n {{t(tabs[TabID.Files].title)}}\n \n

    {{utilityService.formatChapterName(libraryType) + 's'}}

    \n
      \n
    • \n \n \n \n
      \n
      \n \n \n \n \n {{utilityService.formatChapterName(libraryType, true, false) }} {{formatChapterNumber(chapter)}}\n \n \n \n 0 && chapter.pagesRead < chapter.pages\">{{chapter.pagesRead}} / {{chapter.pages}}\n {{t('unread') | uppercase}}\n {{t('read') | uppercase}}\n \n \n {{t('files')}}\n
      \n
        \n
      • \n {{file.filePath}}\n
        \n
        \n {{t('pages')}} {{file.pages | number:''}}\n
        \n
        \n {{t('added')}} {{file.created | date: 'short' | defaultDate}}\n
        \n
        \n {{t('size')}} {{file.bytes | bytes}}\n
        \n
        \n
      • \n
      \n
      \n
    • \n
    \n
    \n
  • \n
\n
\n
\n
\n\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n inject,\n Input,\n OnInit\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n NgbActiveOffcanvas,\n NgbNav,\n NgbNavContent,\n NgbNavItem,\n NgbNavLink,\n NgbNavOutlet\n} from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { Observable, of, map, shareReplay } from 'rxjs';\nimport { DownloadService } from 'src/app/shared/_services/download.service';\nimport { Breakpoint, UtilityService } from 'src/app/shared/_services/utility.service';\nimport { Chapter } from 'src/app/_models/chapter';\nimport { ChapterMetadata } from 'src/app/_models/metadata/chapter-metadata';\nimport { Device } from 'src/app/_models/device/device';\nimport { LibraryType } from 'src/app/_models/library';\nimport { MangaFile } from 'src/app/_models/manga-file';\nimport { MangaFormat } from 'src/app/_models/manga-format';\nimport { Volume } from 'src/app/_models/volume';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { ActionItem, ActionFactoryService, Action } from 'src/app/_services/action-factory.service';\nimport { ActionService } from 'src/app/_services/action.service';\nimport { ImageService } from 'src/app/_services/image.service';\nimport { LibraryService } from 'src/app/_services/library.service';\nimport { ReaderService } from 'src/app/_services/reader.service';\nimport { SeriesService } from 'src/app/_services/series.service';\nimport { UploadService } from 'src/app/_services/upload.service';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {CommonModule} from \"@angular/common\";\nimport {EntityTitleComponent} from \"../entity-title/entity-title.component\";\nimport {ImageComponent} from \"../../shared/image/image.component\";\nimport {ReadMoreComponent} from \"../../shared/read-more/read-more.component\";\nimport {EntityInfoCardsComponent} from \"../entity-info-cards/entity-info-cards.component\";\nimport {CoverImageChooserComponent} from \"../cover-image-chooser/cover-image-chooser.component\";\nimport {ChapterMetadataDetailComponent} from \"../chapter-metadata-detail/chapter-metadata-detail.component\";\nimport {DefaultDatePipe} from \"../../pipe/default-date.pipe\";\nimport {BytesPipe} from \"../../pipe/bytes.pipe\";\nimport {BadgeExpanderComponent} from \"../../shared/badge-expander/badge-expander.component\";\nimport {TagBadgeComponent} from \"../../shared/tag-badge/tag-badge.component\";\nimport {PersonBadgeComponent} from \"../../shared/person-badge/person-badge.component\";\nimport {TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\nimport {CardActionablesComponent} from \"../../_single-module/card-actionables/card-actionables.component\";\n\nenum TabID {\n General = 0,\n Metadata = 1,\n Cover = 2,\n Files = 3\n}\n\n@Component({\n selector: 'app-card-detail-drawer',\n standalone: true,\n imports: [CommonModule, EntityTitleComponent, NgbNav, NgbNavItem, NgbNavLink, NgbNavContent, ImageComponent, ReadMoreComponent, EntityInfoCardsComponent, CoverImageChooserComponent, ChapterMetadataDetailComponent, CardActionablesComponent, DefaultDatePipe, BytesPipe, NgbNavOutlet, BadgeExpanderComponent, TagBadgeComponent, PersonBadgeComponent, TranslocoDirective],\n templateUrl: './card-detail-drawer.component.html',\n styleUrls: ['./card-detail-drawer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CardDetailDrawerComponent implements OnInit {\n\n @Input() parentName = '';\n @Input() seriesId: number = 0;\n @Input() libraryId: number = 0;\n @Input({required: true}) data!: Volume | Chapter;\n private readonly destroyRef = inject(DestroyRef);\n private readonly translocoService = inject(TranslocoService);\n\n\n /**\n * If this is a volume, this will be first chapter for said volume.\n */\n chapter!: Chapter;\n isChapter = false;\n chapters: Chapter[] = [];\n\n imageUrls: Array = [];\n /**\n * Cover image for the entity\n */\n coverImageUrl!: string;\n\n isAdmin$: Observable = of(false);\n\n\n actions: ActionItem[] = [];\n chapterActions: ActionItem[] = [];\n libraryType: LibraryType = LibraryType.Manga;\n\n\n tabs = [\n {title: 'general-tab', disabled: false},\n {title: 'metadata-tab', disabled: false},\n {title: 'cover-tab', disabled: false},\n {title: 'info-tab', disabled: false}\n ];\n active = this.tabs[0];\n\n chapterMetadata!: ChapterMetadata;\n summary: string = '';\n\n downloadInProgress: boolean = false;\n\n get MangaFormat() {\n return MangaFormat;\n }\n\n get Breakpoint() {\n return Breakpoint;\n }\n\n get LibraryType() {\n return LibraryType;\n }\n\n get TabID() {\n return TabID;\n }\n\n constructor(public utilityService: UtilityService,\n public imageService: ImageService, private uploadService: UploadService, private toastr: ToastrService,\n private accountService: AccountService, private actionFactoryService: ActionFactoryService,\n private actionService: ActionService, private router: Router, private libraryService: LibraryService,\n private seriesService: SeriesService, private readerService: ReaderService,\n public activeOffcanvas: NgbActiveOffcanvas, private downloadService: DownloadService, private readonly cdRef: ChangeDetectorRef) {\n this.isAdmin$ = this.accountService.currentUser$.pipe(\n takeUntilDestroyed(this.destroyRef),\n map(user => (user && this.accountService.hasAdminRole(user)) || false),\n shareReplay()\n );\n }\n\n ngOnInit(): void {\n this.imageUrls = this.chapters.map(c => this.imageService.getChapterCoverImage(c.id));\n this.isChapter = this.utilityService.isChapter(this.data);\n this.chapter = this.utilityService.isChapter(this.data) ? (this.data as Chapter) : (this.data as Volume).chapters[0];\n\n this.seriesService.getChapterMetadata(this.chapter.id).subscribe(metadata => {\n this.chapterMetadata = metadata;\n this.cdRef.markForCheck();\n });\n\n if (this.isChapter) {\n this.coverImageUrl = this.imageService.getChapterCoverImage(this.data.id);\n this.summary = this.utilityService.asChapter(this.data).summary || '';\n this.chapters.push(this.data as Chapter);\n } else {\n this.coverImageUrl = this.imageService.getVolumeCoverImage(this.data.id);\n this.summary = this.utilityService.asVolume(this.data).chapters[0].summary || '';\n this.chapters.push(...(this.data as Volume).chapters);\n }\n\n this.chapterActions = this.actionFactoryService.getChapterActions(this.handleChapterActionCallback.bind(this))\n .filter(item => item.action !== Action.Edit);\n this.chapterActions.push({title: 'Read', action: Action.Read, callback: this.handleChapterActionCallback.bind(this), requiresAdmin: false, children: []});\n if (this.isChapter) {\n const chapter = this.utilityService.asChapter(this.data);\n this.chapterActions = this.actionFactoryService.filterSendToAction(this.chapterActions, chapter);\n } else {\n this.chapterActions = this.actionFactoryService.filterSendToAction(this.chapterActions, this.chapters[0]);\n }\n\n this.libraryService.getLibraryType(this.libraryId).subscribe(type => {\n this.libraryType = type;\n this.cdRef.markForCheck();\n });\n\n\n const collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'});\n this.chapters.forEach((c: Chapter) => {\n c.files.sort((a: MangaFile, b: MangaFile) => collator.compare(a.filePath, b.filePath));\n });\n\n this.imageUrls = this.chapters.map(c => this.imageService.getChapterCoverImage(c.id));\n\n this.cdRef.markForCheck();\n }\n\n\n close() {\n this.activeOffcanvas.close();\n }\n\n formatChapterNumber(chapter: Chapter) {\n if (chapter.number === '0') {\n return '1';\n }\n return chapter.number;\n }\n\n performAction(action: ActionItem, chapter: Chapter) {\n if (typeof action.callback === 'function') {\n action.callback(action, chapter);\n }\n }\n\n applyCoverImage(coverUrl: string) {\n this.uploadService.updateChapterCoverImage(this.chapter.id, coverUrl).subscribe(() => {});\n }\n\n resetCoverImage() {\n this.uploadService.resetChapterCoverLock(this.chapter.id).subscribe(() => {\n this.toastr.info(this.translocoService.translate('toasts.regen-cover'));\n });\n }\n\n markChapterAsRead(chapter: Chapter) {\n if (this.seriesId === 0) {\n return;\n }\n\n this.actionService.markChapterAsRead(this.libraryId, this.seriesId, chapter, () => { this.cdRef.markForCheck(); });\n }\n\n markChapterAsUnread(chapter: Chapter) {\n if (this.seriesId === 0) {\n return;\n }\n\n this.actionService.markChapterAsUnread(this.libraryId, this.seriesId, chapter, () => { this.cdRef.markForCheck(); });\n }\n\n handleChapterActionCallback(action: ActionItem, chapter: Chapter) {\n switch (action.action) {\n case(Action.MarkAsRead):\n this.markChapterAsRead(chapter);\n break;\n case(Action.MarkAsUnread):\n this.markChapterAsUnread(chapter);\n break;\n case(Action.AddToReadingList):\n this.actionService.addChapterToReadingList(chapter, this.seriesId);\n break;\n case (Action.IncognitoRead):\n this.readChapter(chapter, true);\n break;\n case (Action.Download):\n this.download(chapter);\n break;\n case (Action.Read):\n this.readChapter(chapter, false);\n break;\n case (Action.SendTo):\n {\n const device = (action._extra!.data as Device);\n this.actionService.sendToDevice([chapter.id], device);\n break;\n }\n default:\n break;\n }\n }\n\n readChapter(chapter: Chapter, incognito: boolean = false) {\n if (chapter.pages === 0) {\n this.toastr.error(this.translocoService.translate('toasts.no-pages'));\n return;\n }\n\n const params = this.readerService.getQueryParamsObject(incognito, false);\n this.router.navigate(this.readerService.getNavigationArray(this.libraryId, this.seriesId, chapter.id, chapter.files[0].format), {queryParams: params});\n this.close();\n }\n\n download(chapter: Chapter) {\n if (this.downloadInProgress) {\n this.toastr.info(this.translocoService.translate('toasts.download-in-progress'));\n return;\n }\n\n this.downloadInProgress = true;\n this.cdRef.markForCheck();\n this.downloadService.download('chapter', chapter, (d) => {\n if (d) return;\n this.downloadInProgress = false;\n this.cdRef.markForCheck();\n });\n }\n\n}\n","\n
\n
\n

{{t('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","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {NgbActiveModal, NgbRating} from '@ng-bootstrap/ng-bootstrap';\nimport { SeriesService } from 'src/app/_services/series.service';\nimport {UserReview} from \"../review-card/user-review\";\nimport {CommonModule} from \"@angular/common\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-review-series-modal',\n standalone: true,\n imports: [CommonModule, NgbRating, ReactiveFormsModule, TranslocoDirective],\n templateUrl: './review-series-modal.component.html',\n styleUrls: ['./review-series-modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReviewSeriesModalComponent implements OnInit {\n\n @Input({required: true}) review!: UserReview;\n reviewGroup!: FormGroup;\n\n constructor(public modal: NgbActiveModal, private seriesService: SeriesService, private readonly cdRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.reviewGroup = new FormGroup({\n tagline: new FormControl(this.review.tagline || '', [Validators.min(20), Validators.max(120)]),\n reviewBody: new FormControl(this.review.body, [Validators.min(20)]),\n });\n this.cdRef.markForCheck();\n }\n\n close() {\n this.modal.close({success: false, review: null});\n }\n\n save() {\n const model = this.reviewGroup.value;\n this.seriesService.updateReview(this.review.seriesId, model.tagline, model.reviewBody).subscribe(() => {\n this.modal.close({success: true});\n });\n }\n}\n","
\n
\n \n
\n
\n
\n
\n \n
\n 0\">\n
\n \n
\n
\n
\n
\n
\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ImageComponent} from \"../../shared/image/image.component\";\nimport {NgbProgressbar, NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\nimport {ReadMoreComponent} from \"../../shared/read-more/read-more.component\";\n\n@Component({\n selector: 'app-external-list-item',\n standalone: true,\n imports: [CommonModule, ImageComponent, NgbProgressbar, NgbTooltip, ReadMoreComponent],\n templateUrl: './external-list-item.component.html',\n styleUrls: ['./external-list-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ExternalListItemComponent {\n\n /**\n * Image to show\n */\n @Input() imageUrl: string = '';\n\n /**\n * Size of the Image Height. Defaults to 230px.\n */\n @Input() imageHeight: string = '230px';\n /**\n * Size of the Image Width Defaults to 158px.\n */\n @Input() imageWidth: string = '158px';\n @Input() summary: string | null = '';\n}\n","\n \n
\n
\n \n \n \n\n\n \n
\n
\n
\n
\n\n
\n
\n\n
0\">\n
\n \n {{data.name}}\n \n \n \n \n
\n {{t('open-external')}}\n
\n
\n\n
\n\n
\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n ViewChild\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ExternalSeries} from \"../../_models/series-detail/external-series\";\nimport {RouterLinkActive} from \"@angular/router\";\nimport {ImageComponent} from \"../../shared/image/image.component\";\nimport {NgbProgressbar, NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\nimport {ReactiveFormsModule} from \"@angular/forms\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-external-series-card',\n standalone: true,\n imports: [CommonModule, ImageComponent, NgbProgressbar, NgbTooltip, ReactiveFormsModule, RouterLinkActive, TranslocoDirective],\n templateUrl: './external-series-card.component.html',\n styleUrls: ['./external-series-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ExternalSeriesCardComponent {\n @Input({required: true}) data!: ExternalSeries;\n @ViewChild('link', {static: false}) link!: ElementRef;\n\n handleClick() {\n if (this.link) {\n this.link.nativeElement.click();\n }\n }\n}\n","\n
\n
\n \n
0\">
\n \n \n \n
0 && pagesRead !== totalPages\"\n ngbTooltip=\"{{(pagesRead / totalPages) | number:'1.0-1'}}% Read\">\n

\n
\n
\n
\n
\n
\n \n \n \n
\n\n
0}\" *ngIf=\"Title !== '' && showTitle\">{{Title}}
\n 0\">\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, DestroyRef,\n EventEmitter,\n inject,\n Input,\n OnInit,\n Output\n} from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { map, Observable } from 'rxjs';\nimport { Download } from 'src/app/shared/_models/download';\nimport { DownloadEvent, DownloadService } from 'src/app/shared/_services/download.service';\nimport {Breakpoint, UtilityService} from 'src/app/shared/_services/utility.service';\nimport { Chapter } from 'src/app/_models/chapter';\nimport { LibraryType } from 'src/app/_models/library';\nimport { RelationKind } from 'src/app/_models/series-detail/relation-kind';\nimport { Volume } from 'src/app/_models/volume';\nimport { Action, ActionItem } from 'src/app/_services/action-factory.service';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {ReadMoreComponent} from \"../../shared/read-more/read-more.component\";\nimport {CommonModule} from \"@angular/common\";\nimport {ImageComponent} from \"../../shared/image/image.component\";\nimport {DownloadIndicatorComponent} from \"../download-indicator/download-indicator.component\";\nimport {EntityInfoCardsComponent} from \"../entity-info-cards/entity-info-cards.component\";\nimport {NgbProgressbar, NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\nimport {TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\nimport {CardActionablesComponent} from \"../../_single-module/card-actionables/card-actionables.component\";\n\n@Component({\n selector: 'app-list-item',\n standalone: true,\n imports: [CommonModule, ReadMoreComponent, ImageComponent, DownloadIndicatorComponent, EntityInfoCardsComponent, CardActionablesComponent, NgbProgressbar, NgbTooltip, TranslocoDirective],\n templateUrl: './list-item.component.html',\n styleUrls: ['./list-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ListItemComponent implements OnInit {\n\n /**\n * Volume or Chapter to render\n */\n @Input({required: true}) entity!: Volume | Chapter;\n @Input({required: true}) libraryId!: number;\n /**\n * Image to show\n */\n @Input() imageUrl: string = '';\n /**\n * Actions to show\n */\n @Input() actions: ActionItem[] = []; // Volume | Chapter\n /**\n * Library type to help with formatting title\n */\n @Input() libraryType: LibraryType = LibraryType.Manga;\n /**\n * Name of the Series to show under the title\n */\n @Input() seriesName: string = '';\n\n /**\n * Size of the Image Height. Defaults to 230px.\n */\n @Input() imageHeight: string = '230px';\n /**\n * Size of the Image Width Defaults to 158px.\n */\n @Input() imageWidth: string = '158px';\n @Input() seriesLink: string = '';\n\n @Input() pagesRead: number = 0;\n @Input() totalPages: number = 0;\n\n @Input() relation: RelationKind | undefined = undefined;\n\n /**\n * When generating the title, should this prepend 'Volume number' before the Chapter wording\n */\n @Input() includeVolume: boolean = false;\n /**\n * Show's the title if available on entity\n */\n @Input() showTitle: boolean = true;\n /**\n * Blur the summary for the list item\n */\n @Input() blur: boolean = false;\n\n @Output() read: EventEmitter = new EventEmitter();\n private readonly destroyRef = inject(DestroyRef);\n private readonly translocoService = inject(TranslocoService);\n\n actionInProgress: boolean = false;\n summary: string = '';\n isChapter: boolean = false;\n\n\n download$: Observable | null = null;\n downloadInProgress: boolean = false;\n\n get Title() {\n if (this.isChapter) return (this.entity as Chapter).titleName;\n return '';\n }\n\n get ShowExtended() {\n return this.utilityService.getActiveBreakpoint() === Breakpoint.Desktop;\n }\n\n protected readonly Breakpoint = Breakpoint;\n\n\n constructor(public utilityService: UtilityService, private downloadService: DownloadService,\n private toastr: ToastrService, private readonly cdRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.isChapter = this.utilityService.isChapter(this.entity);\n if (this.isChapter) {\n this.summary = this.utilityService.asChapter(this.entity).summary || '';\n } else {\n this.summary = this.utilityService.asVolume(this.entity).chapters[0].summary || '';\n }\n\n this.cdRef.markForCheck();\n\n\n this.download$ = this.downloadService.activeDownloads$.pipe(takeUntilDestroyed(this.destroyRef), map((events) => {\n if(this.utilityService.isVolume(this.entity)) return events.find(e => e.entityType === 'volume' && e.subTitle === this.downloadService.downloadSubtitle('volume', (this.entity as Volume))) || null;\n if(this.utilityService.isChapter(this.entity)) return events.find(e => e.entityType === 'chapter' && e.subTitle === this.downloadService.downloadSubtitle('chapter', (this.entity as Chapter))) || null;\n return null;\n }));\n }\n\n performAction(action: ActionItem) {\n if (action.action == Action.Download) {\n if (this.downloadInProgress) {\n this.toastr.info(this.translocoService.translate('toasts.download-in-progress'));\n return;\n }\n\n const statusUpdate = (d: Download | undefined) => {\n if (d) return;\n this.downloadInProgress = false;\n };\n\n if (this.utilityService.isVolume(this.entity)) {\n const volume = this.utilityService.asVolume(this.entity);\n this.downloadService.download('volume', volume, statusUpdate);\n } else if (this.utilityService.isChapter(this.entity)) {\n const chapter = this.utilityService.asChapter(this.entity);\n this.downloadService.download('chapter', chapter, statusUpdate);\n }\n return; // Don't propagate the download from a card\n }\n\n if (typeof action.callback === 'function') {\n action.callback(action, this.entity);\n }\n }\n}\n","\n
\n {{t('click-to-show')}}\n \n
\n
\n
\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SafeHtmlPipe} from \"../../pipe/safe-html.pipe\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-spoiler',\n standalone: true,\n imports: [CommonModule, SafeHtmlPipe, TranslocoDirective],\n templateUrl: './spoiler.component.html',\n styleUrls: ['./spoiler.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class SpoilerComponent implements OnInit{\n\n @Input({required: true}) html!: string;\n isCollapsed: boolean = true;\n public readonly cdRef = inject(ChangeDetectorRef);\n\n constructor() {\n this.isCollapsed = true;\n this.cdRef.markForCheck();\n }\n\n ngOnInit() {\n this.isCollapsed = true;\n this.cdRef.markForCheck();\n }\n\n\n toggle() {\n this.isCollapsed = !this.isCollapsed;\n this.cdRef.markForCheck();\n }\n}\n","\n
\n
\n

{{t('user-review', {username: review.username})}} {{review.isExternal ? t('external-mod') : ''}}

\n \n
\n
\n

\n

\n
\n
\n \n {{t('go-to-review')}}\n \n \n
\n
\n
\n\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input, ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {CommonModule, DOCUMENT} from '@angular/common';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {ReactiveFormsModule} from \"@angular/forms\";\nimport {UserReview} from \"../review-card/user-review\";\nimport {SpoilerComponent} from \"../spoiler/spoiler.component\";\nimport {SafeHtmlPipe} from \"../../pipe/safe-html.pipe\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-review-card-modal',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, SpoilerComponent, SafeHtmlPipe, TranslocoDirective],\n templateUrl: './review-card-modal.component.html',\n styleUrls: ['./review-card-modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ReviewCardModalComponent implements AfterViewInit {\n\n @Input({required: true}) review!: UserReview;\n @ViewChild('container', { read: ViewContainerRef }) container!: ViewContainerRef;\n\n\n constructor(private modal: NgbActiveModal, @Inject(DOCUMENT) private document: Document) {\n }\n\n close() {\n this.modal.close();\n }\n\n ngAfterViewInit() {\n const spoilers = this.document.querySelectorAll('span.spoiler');\n\n for (let i = 0; i < spoilers.length; i++) {\n const spoiler = spoilers[i];\n const componentRef = this.container.createComponent(SpoilerComponent);\n componentRef.instance.html = spoiler.innerHTML;\n if (spoiler.parentNode != null) {\n spoiler.parentNode.replaceChild(componentRef.location.nativeElement, spoiler);\n }\n componentRef.instance.cdRef.markForCheck();\n }\n }\n\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {ScrobbleProvider} from \"../_services/scrobbling.service\";\n\n@Pipe({\n name: 'providerImage',\n standalone: true\n})\nexport class ProviderImagePipe implements PipeTransform {\n\n transform(value: ScrobbleProvider): string {\n switch (value) {\n case ScrobbleProvider.AniList:\n return 'assets/images/ExternalServices/AniList.png';\n case ScrobbleProvider.Mal:\n return 'assets/images/ExternalServices/MAL.png';\n case ScrobbleProvider.GoogleBooks:\n return 'assets/images/ExternalServices/GoogleBooks.png';\n case ScrobbleProvider.Kavita:\n return 'assets/images/logo-32.png';\n }\n\n return '';\n }\n\n}\n","\n
\n
\n
\n \n
\n \n {{t('your-review')}}\n
\n
\n
\n
\n
\n 0; else noTagline\">{{review.tagline.substring(0, 29)}}{{review.tagline.length > 29 ? '…' : ''}}\n \n {{review.isExternal ? t('external-review') : t('local-review')}}\n \n
\n

\n \n

\n
\n
\n\n \n
\n
\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit} from '@angular/core';\nimport {CommonModule, NgOptimizedImage} from '@angular/common';\nimport {UserReview} from \"./user-review\";\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {ReviewCardModalComponent} from \"../review-card-modal/review-card-modal.component\";\nimport {AccountService} from \"../../_services/account.service\";\nimport {ReviewSeriesModalComponent} from \"../review-series-modal/review-series-modal.component\";\nimport {ReadMoreComponent} from \"../../shared/read-more/read-more.component\";\nimport {DefaultValuePipe} from \"../../pipe/default-value.pipe\";\nimport {ImageComponent} from \"../../shared/image/image.component\";\nimport {ProviderImagePipe} from \"../../pipe/provider-image.pipe\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-review-card',\n standalone: true,\n imports: [CommonModule, ReadMoreComponent, DefaultValuePipe, ImageComponent, NgOptimizedImage, ProviderImagePipe, TranslocoDirective],\n templateUrl: './review-card.component.html',\n styleUrls: ['./review-card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReviewCardComponent implements OnInit {\n\n @Input({required: true}) review!: UserReview;\n private readonly accountService = inject(AccountService);\n isMyReview: boolean = false;\n\n constructor(private readonly modalService: NgbModal, private readonly cdRef: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.accountService.currentUser$.subscribe(u => {\n if (u) {\n this.isMyReview = this.review.username === u.username;\n this.cdRef.markForCheck();\n }\n });\n }\n\n showModal() {\n let component;\n if (this.isMyReview) {\n component = ReviewSeriesModalComponent;\n } else {\n component = ReviewCardModalComponent;\n }\n const ref = this.modalService.open(component, {size: \"lg\"});\n ref.componentInstance.review = this.review;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {ScrobbleProvider} from \"../_services/scrobbling.service\";\n\n@Pipe({\n name: 'providerName',\n standalone: true\n})\nexport class ProviderNamePipe implements PipeTransform {\n\n transform(value: ScrobbleProvider): string {\n switch (value) {\n case ScrobbleProvider.AniList:\n return 'AniList';\n case ScrobbleProvider.Mal:\n return 'MAL';\n case ScrobbleProvider.Kavita:\n return 'Kavita';\n }\n\n return '';\n }\n\n}\n","import * as i0 from '@angular/core';\nimport { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\n\nclass NgxStarsComponent {\n constructor() {\n this.maxStars = 5;\n this.initialStars = 0;\n this.animationSpeed = 100;\n this.wholeStars = false;\n this.rtl = false;\n this.ratingOutput = new EventEmitter();\n this.customClassIdentifier = Math.random().toString(36).substring(2);\n this.safeSize = () => (Number.isInteger(this.size) && this.size > 0 && this.size < 6) ? this.size : 1;\n }\n ngOnInit() {\n this.setupStarImages();\n this.editableStars = Array.from(new Array(this.maxStars)).map((elem, index) => new EditableStar(index));\n if (this.rtl) {\n this.editableStars = this.editableStars.reverse();\n }\n this.setRating(this.initialStars);\n if (this.animation) {\n this.animationInterval = setInterval(this.starAnimation.bind(this), this.animationSpeed);\n }\n }\n ngOnDestroy() {\n // remove the three custom classes we created if custom image urls were provided\n if (this.customCssClasses) {\n this.customCssClasses.forEach(style => {\n if (style && style.parentNode) {\n style.parentNode.removeChild(style);\n }\n });\n }\n }\n setupStarImages() {\n if (this.customStarIcons) {\n this.customCssClasses = [];\n Object.keys(this.customStarIcons).map(key => key).forEach(starType => {\n const classname = this.getStarClass(starType);\n this.createCssClass(classname, starType);\n });\n }\n }\n createCssClass(classname, starType) {\n const clazz = document.createElement('style');\n clazz.type = 'text/css';\n clazz.innerHTML = `.${classname} {\n -webkit-mask-image: url(${this.customStarIcons[starType]});\n mask-image: url(${this.customStarIcons[starType]});\n }`;\n document.getElementsByTagName('head')[0].appendChild(clazz);\n this.customCssClasses.push(clazz);\n }\n starPadding() {\n return { 'margin-right': this.customPadding || `calc(${this.starSize().width} / 10)` };\n }\n starColorAndSize() {\n return Object.assign({}, this.starColor(), this.starSize());\n }\n starColor() {\n return { 'background-color': this.color || 'crimson' };\n }\n starSize() {\n return {\n height: this.customSize || `${15 * this.safeSize()}px`,\n width: this.customSize || `${16 * this.safeSize()}px`,\n };\n }\n zeroStarLeft() {\n if (this.rtl) {\n const width = this.starSize()['width'];\n return `calc(${width} * ${this.maxStars})`;\n }\n return '-16px';\n }\n starAnimation() {\n this.animationRunning = true;\n if (this.rating < this.maxStars) {\n this.setRating(this.rating += 0.5);\n }\n else {\n this.setRating(0);\n }\n }\n cancelStarAnimation() {\n if (this.animationRunning) {\n clearInterval(this.animationInterval);\n this.rating = 0;\n this.animationRunning = false;\n }\n }\n setRating(rating) {\n this.rating = Math.round(rating * 2) / 2;\n this.onStarsUnhover();\n }\n onStarHover(event, clickedStar) {\n this.cancelStarAnimation();\n const clickedInFirstHalf = this.clickedInFirstHalf(event);\n // fill in either a half or whole star depending on where user clicked\n clickedStar.classname = (!this.wholeStars && clickedInFirstHalf) ? this.getStarClass('half') : this.getStarClass('full');\n // fill in all stars in previous positions and clear all in later ones\n this.editableStars.forEach(star => {\n if (star.position > clickedStar.position) {\n star.classname = this.getStarClass('empty');\n }\n else if (star.position < clickedStar.position) {\n star.classname = this.getStarClass('full');\n }\n });\n }\n onStarClick(event, clickedStar) {\n this.cancelStarAnimation();\n // lock in current rating\n const clickedInFirstHalf = this.clickedInFirstHalf(event);\n this.rating = clickedStar.position + ((!this.wholeStars && clickedInFirstHalf) ? 0.5 : 1);\n this.ratingOutput.emit(this.rating);\n }\n // hidden star to left of first star lets user click there to set to 0\n onZeroStarClick() {\n this.setRating(0);\n this.ratingOutput.emit(this.rating);\n }\n onZeroStarHover() {\n // clear all stars\n this.editableStars.forEach(star => star.classname = this.getStarClass('empty'));\n }\n onStarsUnhover() {\n // when user stops hovering we want to make stars reflect the last rating applied by clicking\n this.editableStars.forEach(star => {\n const starNumber = star.position + 1;\n if (this.rating >= starNumber) {\n star.classname = this.getStarClass('full');\n }\n else if (this.rating > starNumber - 1 && this.rating < starNumber) {\n star.classname = this.getStarClass('half');\n }\n else {\n star.classname = this.getStarClass('empty');\n }\n });\n }\n clickedInFirstHalf(event) {\n const starIcon = event.target;\n if (this.rtl) {\n return event.pageX > starIcon.getBoundingClientRect().right - starIcon.offsetWidth / 2;\n }\n else {\n return event.pageX < starIcon.getBoundingClientRect().left + starIcon.offsetWidth / 2;\n }\n }\n noop() { }\n getStarClass(starType) {\n if (this.customCssClasses) {\n return `ngx-stars-star-${starType}-${this.customClassIdentifier}`;\n }\n return `star-${starType}`;\n }\n // this and the aria-labels and role in the html inspired by https://stackoverflow.com/q/55966205\n getAriaLabel() {\n return `Rating: ${this.rating} out of ${this.maxStars} stars ${this.readonly ? '' : '. Can be edited.'}`;\n }\n}\nNgxStarsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0\", ngImport: i0, type: NgxStarsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\nNgxStarsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"14.0.0\", type: NgxStarsComponent, selector: \"ngx-stars\", inputs: { maxStars: \"maxStars\", initialStars: \"initialStars\", readonly: \"readonly\", size: \"size\", customSize: \"customSize\", color: \"color\", animation: \"animation\", animationSpeed: \"animationSpeed\", customPadding: \"customPadding\", wholeStars: \"wholeStars\", customStarIcons: \"customStarIcons\", rtl: \"rtl\" }, outputs: { ratingOutput: \"ratingOutput\" }, ngImport: i0, template: \"
\\n \\n
\\n \\n
\\n
\\n\", styles: [\".stars-line{display:flex;align-items:center;position:relative}.stars-line>div{z-index:999}.zero-star{color:transparent;position:absolute}.star{display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.star-rtl{transform:scaleX(-1)}.star-empty{-webkit-mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='far' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z'%3E%3C/path%3E%3C/svg%3E%0A\\\");mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='far' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z'%3E%3C/path%3E%3C/svg%3E%0A\\\")}.star-half{-webkit-mask-image:url(\\\"data:image/svg+xml,%3C!-- had to hack this one's viewbox otherwise it didn't line up with the other two --%3E%3C!-- changed viewbox from '0 0 536 512' to '-20 0 576 512' --%3E%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star-half-alt' class='svg-inline--fa fa-star-half-alt fa-w-17' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='-20 0 576 512'%3E%3Cpath fill='currentColor' d='M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z'%3E%3C/path%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml,%3C!-- had to hack this one's viewbox otherwise it didn't line up with the other two --%3E%3C!-- changed viewbox from '0 0 536 512' to '-20 0 576 512' --%3E%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star-half-alt' class='svg-inline--fa fa-star-half-alt fa-w-17' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='-20 0 576 512'%3E%3Cpath fill='currentColor' d='M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z'%3E%3C/path%3E%3C/svg%3E\\\")}.star-full{-webkit-mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z'%3E%3C/path%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z'%3E%3C/path%3E%3C/svg%3E\\\")}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0\", ngImport: i0, type: NgxStarsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ngx-stars', template: \"
\\n \\n
\\n \\n
\\n
\\n\", styles: [\".stars-line{display:flex;align-items:center;position:relative}.stars-line>div{z-index:999}.zero-star{color:transparent;position:absolute}.star{display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.star-rtl{transform:scaleX(-1)}.star-empty{-webkit-mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='far' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z'%3E%3C/path%3E%3C/svg%3E%0A\\\");mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='far' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z'%3E%3C/path%3E%3C/svg%3E%0A\\\")}.star-half{-webkit-mask-image:url(\\\"data:image/svg+xml,%3C!-- had to hack this one's viewbox otherwise it didn't line up with the other two --%3E%3C!-- changed viewbox from '0 0 536 512' to '-20 0 576 512' --%3E%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star-half-alt' class='svg-inline--fa fa-star-half-alt fa-w-17' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='-20 0 576 512'%3E%3Cpath fill='currentColor' d='M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z'%3E%3C/path%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml,%3C!-- had to hack this one's viewbox otherwise it didn't line up with the other two --%3E%3C!-- changed viewbox from '0 0 536 512' to '-20 0 576 512' --%3E%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star-half-alt' class='svg-inline--fa fa-star-half-alt fa-w-17' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='-20 0 576 512'%3E%3Cpath fill='currentColor' d='M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z'%3E%3C/path%3E%3C/svg%3E\\\")}.star-full{-webkit-mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z'%3E%3C/path%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='star' class='svg-inline--fa fa-star fa-w-18' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='currentColor' d='M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z'%3E%3C/path%3E%3C/svg%3E\\\")}\\n\"] }]\n }], propDecorators: { maxStars: [{\n type: Input\n }], initialStars: [{\n type: Input\n }], readonly: [{\n type: Input\n }], size: [{\n type: Input\n }], customSize: [{\n type: Input\n }], color: [{\n type: Input\n }], animation: [{\n type: Input\n }], animationSpeed: [{\n type: Input\n }], customPadding: [{\n type: Input\n }], wholeStars: [{\n type: Input\n }], customStarIcons: [{\n type: Input\n }], rtl: [{\n type: Input\n }], ratingOutput: [{\n type: Output\n }] } });\nclass EditableStar {\n constructor(position) {\n this.position = position;\n }\n}\n\nclass NgxStarsModule {\n}\nNgxStarsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"14.0.0\", ngImport: i0, type: NgxStarsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nNgxStarsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"14.0.0\", ngImport: i0, type: NgxStarsModule, declarations: [NgxStarsComponent], imports: [CommonModule], exports: [NgxStarsComponent] });\nNgxStarsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"14.0.0\", ngImport: i0, type: NgxStarsModule, imports: [CommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"14.0.0\", ngImport: i0, type: NgxStarsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule\n ],\n declarations: [\n NgxStarsComponent\n ],\n exports: [\n NgxStarsComponent\n ]\n }]\n }] });\n\n/*\n * Public API Surface of ngx-stars\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { EditableStar, NgxStarsComponent, NgxStarsModule };\n","
\n
Breakpoint.Mobile ? 'md-popover' : 'lg-popover'\">\n \n \"\"\n {{userRating * 20}}\n N/A\n 0\"> + {{overallRating}}\n 0\">%\n \n
\n\n
\n \n \"\"\n {{rating.averageScore}}%\n \n
\n
\n \n
\n
\n\n\n Breakpoint.Mobile ? 1 : 2\"\n [maxStars]=\"5\" [color]=\"starColor\">\n {{userRating * 20}}%\n\n\n\n
{{rating.favoriteCount}}
\n Entry\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Input,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport {CommonModule, NgOptimizedImage} from '@angular/common';\nimport {SeriesService} from \"../../../_services/series.service\";\nimport {Rating} from \"../../../_models/rating\";\nimport {ProviderImagePipe} from \"../../../pipe/provider-image.pipe\";\nimport {NgbPopover, NgbRating} from \"@ng-bootstrap/ng-bootstrap\";\nimport {LoadingComponent} from \"../../../shared/loading/loading.component\";\nimport {AccountService} from \"../../../_services/account.service\";\nimport {LibraryType} from \"../../../_models/library\";\nimport {ProviderNamePipe} from \"../../../pipe/provider-name.pipe\";\nimport {NgxStarsModule} from \"ngx-stars\";\nimport {ThemeService} from \"../../../_services/theme.service\";\nimport {Breakpoint, UtilityService} from \"../../../shared/_services/utility.service\";\n\n@Component({\n selector: 'app-external-rating',\n standalone: true,\n imports: [CommonModule, ProviderImagePipe, NgOptimizedImage, NgbRating, NgbPopover, LoadingComponent, ProviderNamePipe, NgxStarsModule],\n templateUrl: './external-rating.component.html',\n styleUrls: ['./external-rating.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ExternalRatingComponent implements OnInit {\n @Input({required: true}) seriesId!: number;\n @Input({required: true}) userRating!: number;\n @Input({required: true}) hasUserRated!: boolean;\n @Input({required: true}) libraryType!: LibraryType;\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly seriesService = inject(SeriesService);\n private readonly accountService = inject(AccountService);\n private readonly themeService = inject(ThemeService);\n public readonly utilityService = inject(UtilityService);\n\n ratings: Array = [];\n isLoading: boolean = false;\n overallRating: number = -1;\n\n starColor = this.themeService.getCssVariable('--rating-star-color');\n\n\n ngOnInit() {\n\n this.seriesService.getOverallRating(this.seriesId).subscribe(r => this.overallRating = r.averageScore);\n\n this.accountService.hasValidLicense$.subscribe((res) => {\n if (!res) return;\n this.isLoading = true;\n this.cdRef.markForCheck();\n this.seriesService.getRatings(this.seriesId).subscribe(res => {\n this.ratings = res;\n this.isLoading = false;\n this.cdRef.markForCheck();\n }, () => {\n this.isLoading = false;\n this.cdRef.markForCheck();\n });\n });\n }\n\n updateRating(rating: number) {\n this.seriesService.updateRating(this.seriesId, rating).subscribe(() => {\n this.userRating = rating;\n this.hasUserRated = true;\n this.cdRef.markForCheck();\n });\n }\n\n protected readonly Breakpoint = Breakpoint;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { map, Observable } from 'rxjs';\nimport { MetadataService } from '../_services/metadata.service';\nimport {shareReplay} from \"rxjs/operators\";\n\n@Pipe({\n name: 'languageName',\n standalone: true\n})\nexport class LanguageNamePipe implements PipeTransform {\n\n constructor(private metadataService: MetadataService) {\n }\n\n transform(isoCode: string): Observable {\n // TODO: See if we can speed this up. It rarely changes and is quite heavy to download on each page\n return this.metadataService.getAllValidLanguages().pipe(map(lang => {\n const l = lang.filter(l => l.isoCode === isoCode);\n if (l.length > 0) return l[0].title;\n return '';\n }), shareReplay());\n }\n\n}\n","\n
\n 0\">\n
\n \n {{seriesMetadata.releaseYear}}\n \n
\n
\n
\n\n \n \n
\n \n {{this.seriesMetadata.ageRating | ageRating}}\n \n
\n
\n
\n\n \n
\n \n {{seriesMetadata.language | defaultValue:'en' | languageName | async}}\n \n
\n
\n
\n
\n\n \n
\n \n \n {{pubStatus}}\n \n \n
\n
\n
\n\n \n
\n \n \n {{ isScrobbling ? t('on') : t('off') }}\n \n \n {{t('disabled')}}\n \n\n \n
\n
\n
\n\n \n \n
\n \n {{series.format | mangaFormat}}\n \n
\n
\n
\n\n \n
\n \n {{series.latestReadDate | timeAgo}}\n \n
\n
\n
\n\n \n 0\">\n
\n \n {{t('words-count', {num: series.wordCount | compactNumber})}}\n \n
\n
\n
\n\n
\n \n
\n \n {{t('pages-count', {num: series.pages | compactNumber})}}\n \n
\n
\n
\n\n 0 || series.format !== MangaFormat.EPUB\">\n
\n \n {{t('less-than-hour')}}\n \n {{readingTime.minHours}}{{readingTime.maxHours !== readingTime.minHours ? ('-' + readingTime.maxHours) : ''}} {{readingTime.minHours > 1 ? t('hours') : t('hour')}}\n \n \n
\n
\n\n \n
\n
\n \n ~{{readingTimeLeft.avgHours}} {{readingTimeLeft.avgHours > 1 ? t('hours') : t('hour')}}\n \n
\n
\n
\n
\n\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n OnInit,\n Output\n} from '@angular/core';\nimport {debounceTime, filter, map} from 'rxjs';\nimport {UtilityService} from 'src/app/shared/_services/utility.service';\nimport {UserProgressUpdateEvent} from 'src/app/_models/events/user-progress-update-event';\nimport {HourEstimateRange} from 'src/app/_models/series-detail/hour-estimate-range';\nimport {MangaFormat} from 'src/app/_models/manga-format';\nimport {Series} from 'src/app/_models/series';\nimport {SeriesMetadata} from 'src/app/_models/metadata/series-metadata';\nimport {AccountService} from 'src/app/_services/account.service';\nimport {EVENTS, MessageHubService} from 'src/app/_services/message-hub.service';\nimport {ReaderService} from 'src/app/_services/reader.service';\nimport {FilterField} from \"../../_models/metadata/v2/filter-field\";\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {ScrobblingService} from \"../../_services/scrobbling.service\";\nimport {CommonModule} from \"@angular/common\";\nimport {IconAndTitleComponent} from \"../../shared/icon-and-title/icon-and-title.component\";\nimport {AgeRatingPipe} from \"../../pipe/age-rating.pipe\";\nimport {DefaultValuePipe} from \"../../pipe/default-value.pipe\";\nimport {LanguageNamePipe} from \"../../pipe/language-name.pipe\";\nimport {PublicationStatusPipe} from \"../../pipe/publication-status.pipe\";\nimport {MangaFormatPipe} from \"../../pipe/manga-format.pipe\";\nimport {TimeAgoPipe} from \"../../pipe/time-ago.pipe\";\nimport {CompactNumberPipe} from \"../../pipe/compact-number.pipe\";\nimport {MangaFormatIconPipe} from \"../../pipe/manga-format-icon.pipe\";\nimport {NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-series-info-cards',\n standalone: true,\n imports: [CommonModule, IconAndTitleComponent, AgeRatingPipe, DefaultValuePipe, LanguageNamePipe, PublicationStatusPipe, MangaFormatPipe, TimeAgoPipe, CompactNumberPipe, MangaFormatIconPipe, NgbTooltip, TranslocoDirective],\n templateUrl: './series-info-cards.component.html',\n styleUrls: ['./series-info-cards.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SeriesInfoCardsComponent implements OnInit, OnChanges {\n\n @Input({required: true}) series!: Series;\n @Input({required: true}) seriesMetadata!: SeriesMetadata;\n @Input() hasReadingProgress: boolean = false;\n @Input() readingTimeLeft: HourEstimateRange | undefined;\n /**\n * If this should make an API call to request readingTimeLeft\n */\n @Input() showReadingTimeLeft: boolean = true;\n @Output() goTo: EventEmitter<{queryParamName: FilterField, filter: any}> = new EventEmitter();\n\n readingTime: HourEstimateRange = {avgHours: 0, maxHours: 0, minHours: 0};\n isScrobbling: boolean = true;\n libraryAllowsScrobbling: boolean = true;\n private readonly destroyRef = inject(DestroyRef);\n\n get MangaFormat() {\n return MangaFormat;\n }\n\n get FilterField() {\n return FilterField;\n }\n\n constructor(public utilityService: UtilityService, private readerService: ReaderService,\n private readonly cdRef: ChangeDetectorRef, private messageHub: MessageHubService,\n public accountService: AccountService, private scrobbleService: ScrobblingService) {\n // Listen for progress events and re-calculate getTimeLeft\n this.messageHub.messages$.pipe(filter(event => event.event === EVENTS.UserProgressUpdate),\n map(evt => evt.payload as UserProgressUpdateEvent),\n debounceTime(500),\n takeUntilDestroyed(this.destroyRef))\n .subscribe(updateEvent => {\n this.accountService.currentUser$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(user => {\n if (user === undefined || user.username !== updateEvent.username) return;\n if (updateEvent.seriesId !== this.series.id) return;\n this.getReadingTimeLeft();\n });\n });\n }\n\n ngOnInit(): void {\n if (this.series !== null) {\n this.getReadingTimeLeft();\n this.readingTime.minHours = this.series.minHoursToRead;\n this.readingTime.maxHours = this.series.maxHoursToRead;\n this.readingTime.avgHours = this.series.avgHoursToRead;\n this.scrobbleService.hasHold(this.series.id).subscribe(res => {\n this.isScrobbling = !res;\n this.cdRef.markForCheck();\n });\n\n this.scrobbleService.libraryAllowsScrobbling(this.series.id).subscribe(res => {\n this.libraryAllowsScrobbling = res;\n this.cdRef.markForCheck();\n });\n\n this.cdRef.markForCheck();\n }\n }\n\n ngOnChanges() {\n this.cdRef.markForCheck();\n }\n\n\n handleGoTo(queryParamName: FilterField, filter: any) {\n // Ignore the default case added as this query combo would never be valid\n if (filter + '' === '' && queryParamName === FilterField.SeriesName) return;\n this.goTo.emit({queryParamName, filter});\n }\n\n private getReadingTimeLeft() {\n if (this.showReadingTimeLeft) this.readerService.getTimeLeft(this.series.id).subscribe((timeLeft) => {\n this.readingTimeLeft = timeLeft;\n this.cdRef.markForCheck();\n });\n }\n\n toggleScrobbling(evt: any) {\n evt.stopPropagation();\n if (this.isScrobbling) {\n this.scrobbleService.addHold(this.series.id).subscribe(() => {\n this.isScrobbling = !this.isScrobbling;\n this.cdRef.markForCheck();\n });\n } else {\n this.scrobbleService.removeHold(this.series.id).subscribe(() => {\n this.isScrobbling = !this.isScrobbling;\n this.cdRef.markForCheck();\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 {{item.title}}\n \n\n \n {{item.title}}\n \n\n \n \n \n {{item.title}}\n \n \n \n\n\n \n \n \n \n  \n ({{t('promoted')}})\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 \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 \n \n \n \n\n \n \n \n \n \n\n
\n\n \n\n \n\n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ReaderService } from 'src/app/_services/reader.service';\nimport {TagBadgeComponent, TagBadgeCursor} from '../../../shared/tag-badge/tag-badge.component';\nimport {FilterUtilitiesService} from '../../../shared/_services/filter-utilities.service';\nimport { UtilityService } from '../../../shared/_services/utility.service';\nimport { MangaFormat } from '../../../_models/manga-format';\nimport { ReadingList } from '../../../_models/reading-list';\nimport { Series } from '../../../_models/series';\nimport { SeriesMetadata } from '../../../_models/metadata/series-metadata';\nimport { ImageService } from 'src/app/_services/image.service';\nimport {CommonModule} from \"@angular/common\";\nimport {BadgeExpanderComponent} from \"../../../shared/badge-expander/badge-expander.component\";\nimport {SafeHtmlPipe} from \"../../../pipe/safe-html.pipe\";\nimport {ExternalRatingComponent} from \"../external-rating/external-rating.component\";\nimport {ReadMoreComponent} from \"../../../shared/read-more/read-more.component\";\nimport {A11yClickDirective} from \"../../../shared/a11y-click.directive\";\nimport {PersonBadgeComponent} from \"../../../shared/person-badge/person-badge.component\";\nimport {NgbCollapse} from \"@ng-bootstrap/ng-bootstrap\";\nimport {SeriesInfoCardsComponent} from \"../../../cards/series-info-cards/series-info-cards.component\";\nimport {LibraryType} from \"../../../_models/library\";\nimport {MetadataDetailComponent} from \"../metadata-detail/metadata-detail.component\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\nimport {FilterField} from \"../../../_models/metadata/v2/filter-field\";\nimport {FilterComparison} from \"../../../_models/metadata/v2/filter-comparison\";\n\n\n@Component({\n selector: 'app-series-metadata-detail',\n standalone: true,\n imports: [CommonModule, TagBadgeComponent, BadgeExpanderComponent, SafeHtmlPipe, ExternalRatingComponent,\n ReadMoreComponent, A11yClickDirective, PersonBadgeComponent, NgbCollapse, SeriesInfoCardsComponent,\n MetadataDetailComponent, TranslocoDirective],\n templateUrl: './series-metadata-detail.component.html',\n styleUrls: ['./series-metadata-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SeriesMetadataDetailComponent implements OnChanges {\n\n @Input({required: true}) seriesMetadata!: SeriesMetadata;\n @Input({required: true}) libraryType!: LibraryType;\n @Input() hasReadingProgress: boolean = false;\n /**\n * Reading lists with a connection to the Series\n */\n @Input() readingLists: Array = [];\n @Input({required: true}) series!: Series;\n\n isCollapsed: boolean = true;\n hasExtendedProperties: boolean = false;\n\n imageService = inject(ImageService);\n\n /**\n * Html representation of Series Summary\n */\n seriesSummary: string = '';\n\n get LibraryType() { return LibraryType; }\n get MangaFormat() { return MangaFormat; }\n get TagBadgeCursor() { return TagBadgeCursor; }\n\n get FilterField() {\n return FilterField;\n }\n\n get WebLinks() {\n if (this.seriesMetadata?.webLinks === '') return [];\n return this.seriesMetadata?.webLinks.split(',') || [];\n }\n\n constructor(public utilityService: UtilityService,\n private router: Router, public readerService: ReaderService,\n private readonly cdRef: ChangeDetectorRef, private filterUtilityService: FilterUtilitiesService) {\n\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.hasExtendedProperties = this.seriesMetadata.colorists.length > 0 ||\n this.seriesMetadata.editors.length > 0 ||\n this.seriesMetadata.coverArtists.length > 0 ||\n this.seriesMetadata.inkers.length > 0 ||\n this.seriesMetadata.letterers.length > 0 ||\n this.seriesMetadata.pencillers.length > 0 ||\n this.seriesMetadata.publishers.length > 0 ||\n this.seriesMetadata.characters.length > 0 ||\n this.seriesMetadata.translators.length > 0;\n\n\n this.seriesSummary = (this.seriesMetadata?.summary === null ? '' : this.seriesMetadata.summary).replace(/\\n/g, '
');\n this.cdRef.markForCheck();\n }\n\n toggleView() {\n this.isCollapsed = !this.isCollapsed;\n this.cdRef.markForCheck();\n }\n\n handleGoTo(event: {queryParamName: FilterField, filter: any}) {\n this.goTo(event.queryParamName, event.filter);\n }\n\n goTo(queryParamName: FilterField, filter: any) {\n this.filterUtilityService.applyFilter(['library', this.series.libraryId], queryParamName,\n FilterComparison.Equal, filter);\n }\n\n navigate(basePage: string, id: number) {\n this.router.navigate([basePage, id]);\n }\n}\n","\n
\n \n \n

\n \n {{series.name}}\n

\n
\n \n
{{series.localizedName}}
\n
\n\n \n
\n
\n

{{t('page-settings-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
\n\n
\n
\n
\n
0 && unreadCount !== totalCount\">\n {{unreadCount}}\n
\n \n \n
\n \n
\n
\n {{t('continue-from', {title: ContinuePointTitle})}}\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 \n
\n
\n
\n \n
\n
\n\n
\n 0 ? 'pen' : 'plus'}}\" [clickableTitle]=\"true\" (sectionClick)=\"openReviewModal()\">\n \n \n \n \n
\n
\n\n \n \n \n
\n
\n\n \n
\n\n
\n","import { DOCUMENT, NgIf, NgStyle, NgFor, DecimalPipe } from '@angular/common';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n HostListener,\n Inject,\n inject,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport { NgbModal, NgbNavChangeEvent, NgbOffcanvas, NgbTooltip, NgbProgressbar, NgbDropdown, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNav, NgbNavItem, NgbNavLink, NgbNavContent, NgbNavOutlet } from '@ng-bootstrap/ng-bootstrap';\nimport {ToastrService} from 'ngx-toastr';\nimport {catchError, forkJoin, of} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {BulkSelectionService} from 'src/app/cards/bulk-selection.service';\nimport {CardDetailDrawerComponent} from 'src/app/cards/card-detail-drawer/card-detail-drawer.component';\nimport {EditSeriesModalComponent} from 'src/app/cards/_modals/edit-series-modal/edit-series-modal.component';\nimport {ConfirmService} from 'src/app/shared/confirm.service';\nimport {TagBadgeCursor} from 'src/app/shared/tag-badge/tag-badge.component';\nimport {DownloadService} from 'src/app/shared/_services/download.service';\nimport {KEY_CODES, UtilityService} from 'src/app/shared/_services/utility.service';\nimport {Chapter} from 'src/app/_models/chapter';\nimport {Device} from 'src/app/_models/device/device';\nimport {ScanSeriesEvent} from 'src/app/_models/events/scan-series-event';\nimport {SeriesRemovedEvent} from 'src/app/_models/events/series-removed-event';\nimport {LibraryType} from 'src/app/_models/library';\nimport {ReadingList} from 'src/app/_models/reading-list';\nimport {Series} from 'src/app/_models/series';\nimport {RelatedSeries} from 'src/app/_models/series-detail/related-series';\nimport {RelationKind} from 'src/app/_models/series-detail/relation-kind';\nimport {SeriesMetadata} from 'src/app/_models/metadata/series-metadata';\nimport {User} from 'src/app/_models/user';\nimport {Volume} from 'src/app/_models/volume';\nimport {AccountService} from 'src/app/_services/account.service';\nimport {Action, ActionFactoryService, ActionItem} from 'src/app/_services/action-factory.service';\nimport {ActionService} from 'src/app/_services/action.service';\nimport {DeviceService} from 'src/app/_services/device.service';\nimport {ImageService} from 'src/app/_services/image.service';\nimport {LibraryService} from 'src/app/_services/library.service';\nimport {EVENTS, MessageHubService} from 'src/app/_services/message-hub.service';\nimport {NavService} from 'src/app/_services/nav.service';\nimport {ReaderService} from 'src/app/_services/reader.service';\nimport {ReadingListService} from 'src/app/_services/reading-list.service';\nimport {ScrollService} from 'src/app/_services/scroll.service';\nimport {SeriesService} from 'src/app/_services/series.service';\nimport {ReviewSeriesModalComponent} from '../../../_single-module/review-series-modal/review-series-modal.component';\nimport {PageLayoutMode} from 'src/app/_models/page-layout-mode';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {UserReview} from \"../../../_single-module/review-card/user-review\";\nimport { LoadingComponent } from '../../../shared/loading/loading.component';\nimport { ExternalListItemComponent } from '../../../cards/external-list-item/external-list-item.component';\nimport { ExternalSeriesCardComponent } from '../../../cards/external-series-card/external-series-card.component';\nimport { SeriesCardComponent } from '../../../cards/series-card/series-card.component';\nimport { EntityTitleComponent } from '../../../cards/entity-title/entity-title.component';\nimport { ListItemComponent } from '../../../cards/list-item/list-item.component';\nimport { CardItemComponent } from '../../../cards/card-item/card-item.component';\nimport { VirtualScrollerModule } from '@iharbeck/ngx-virtual-scroller';\nimport { BulkOperationsComponent } from '../../../cards/bulk-operations/bulk-operations.component';\nimport { ReviewCardComponent } from '../../../_single-module/review-card/review-card.component';\nimport { CarouselReelComponent } from '../../../carousel/_components/carousel-reel/carousel-reel.component';\nimport { SeriesMetadataDetailComponent } from '../series-metadata-detail/series-metadata-detail.component';\nimport { ImageComponent } from '../../../shared/image/image.component';\nimport { TagBadgeComponent } from '../../../shared/tag-badge/tag-badge.component';\nimport { SideNavCompanionBarComponent } from '../../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component';\nimport {TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\nimport {CardActionablesComponent} from \"../../../_single-module/card-actionables/card-actionables.component\";\n\ninterface RelatedSeriesPair {\n series: Series;\n relation: RelationKind;\n}\n\nenum TabID {\n Related = 0,\n Specials = 1,\n Storyline = 2,\n Volumes = 3,\n Chapters = 4,\n Recommendations = 5\n}\n\ninterface StoryLineItem {\n chapter?: Chapter;\n volume?: Volume;\n isChapter: boolean;\n}\n\n@Component({\n selector: 'app-series-detail',\n templateUrl: './series-detail.component.html',\n styleUrls: ['./series-detail.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, SideNavCompanionBarComponent, CardActionablesComponent, ReactiveFormsModule, NgStyle, TagBadgeComponent, ImageComponent, NgbTooltip, NgbProgressbar, NgbDropdown, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, SeriesMetadataDetailComponent, CarouselReelComponent, ReviewCardComponent, BulkOperationsComponent, NgbNav, NgbNavItem, NgbNavLink, NgbNavContent, VirtualScrollerModule, NgFor, CardItemComponent, ListItemComponent, EntityTitleComponent, SeriesCardComponent, ExternalSeriesCardComponent, ExternalListItemComponent, NgbNavOutlet, LoadingComponent, DecimalPipe, TranslocoDirective]\n})\nexport class SeriesDetailComponent implements OnInit, AfterContentChecked {\n\n @ViewChild('scrollingBlock') scrollingBlock: ElementRef | undefined;\n @ViewChild('companionBar') companionBar: ElementRef | undefined;\n private readonly destroyRef = inject(DestroyRef);\n\n /**\n * Series Id. Set at load before UI renders\n */\n seriesId!: number;\n series!: Series;\n volumes: Volume[] = [];\n chapters: Chapter[] = [];\n storyChapters: Chapter[] = [];\n storylineItems: StoryLineItem[] = [];\n libraryId = 0;\n isAdmin = false;\n hasDownloadingRole = false;\n isLoading = true;\n showBook = true;\n\n currentlyReadingChapter: Chapter | undefined = undefined;\n hasReadingProgress = false;\n\n\n seriesActions: ActionItem[] = [];\n volumeActions: ActionItem[] = [];\n chapterActions: ActionItem[] = [];\n\n hasSpecials = false;\n specials: Array = [];\n activeTabId = TabID.Storyline;\n\n reviews: Array = [];\n libraryType: LibraryType = LibraryType.Manga;\n seriesMetadata: SeriesMetadata | null = null;\n readingLists: Array = [];\n isWantToRead: boolean = false;\n unreadCount: number = 0;\n totalCount: number = 0;\n /**\n * Poster image for the Series\n */\n seriesImage: string = '';\n downloadInProgress: boolean = false;\n\n /**\n * Track by function for Volume to tell when to refresh card data\n */\n trackByVolumeIdentity = (index: number, item: Volume) => `${item.name}_${item.pagesRead}`;\n /**\n * Track by function for Chapter to tell when to refresh card data\n */\n trackByChapterIdentity = (index: number, item: Chapter) => `${item.title}_${item.number}_${item.volumeId}_${item.pagesRead}`;\n trackByRelatedSeriesIdentify = (index: number, item: RelatedSeriesPair) => `${item.series.name}_${item.series.libraryId}_${item.series.pagesRead}_${item.relation}`;\n trackBySeriesIdentify = (index: number, item: Series) => `${item.name}_${item.libraryId}_${item.pagesRead}`;\n trackByStoryLineIdentity = (index: number, item: StoryLineItem) => {\n if (item.isChapter) {\n return this.trackByChapterIdentity(index, item!.chapter!)\n }\n return this.trackByVolumeIdentity(index, item!.volume!);\n };\n\n /**\n * Are there any related series\n */\n hasRelations: boolean = false;\n /**\n * Are there recommendations\n */\n hasRecommendations: boolean = false;\n\n /**\n * Related Series. Sorted by backend\n */\n relations: Array = [];\n /**\n * Recommended Series\n */\n combinedRecs: Array = [];\n\n sortingOptions: Array<{value: string, text: string}> = [\n {value: 'Storyline', text: 'Storyline'},\n {value: 'Release', text: 'Release'},\n {value: 'Added', text: 'Added'},\n ];\n renderMode: PageLayoutMode = PageLayoutMode.Cards;\n\n pageExtrasGroup = new FormGroup({\n 'sortingOption': new FormControl(this.sortingOptions[0].value, []),\n 'renderMode': new FormControl(this.renderMode, []),\n });\n\n user: User | undefined;\n\n bulkActionCallback = (action: ActionItem, data: any) => {\n if (this.series === undefined) {\n return;\n }\n const seriesId = this.series.id;\n // we need to figure out what is actually selected now\n const selectedVolumeIndexes = this.bulkSelectionService.getSelectedCardsForSource('volume');\n const selectedChapterIndexes = this.bulkSelectionService.getSelectedCardsForSource('chapter');\n const selectedSpecialIndexes = this.bulkSelectionService.getSelectedCardsForSource('special');\n\n // NOTE: This needs to check current tab as chapter array will be different\n let chapterArray = this.storyChapters;\n if (this.activeTabId === TabID.Chapters) chapterArray = this.chapters;\n\n // We must augment chapter indices as Bulk Selection assumes all on one page, but Storyline has mixed\n const chapterIndexModifier = this.activeTabId === TabID.Storyline ? this.volumes.length + 1 : 0;\n const selectedChapterIds = chapterArray.filter((_chapter, index: number) => {\n const mappedIndex = index + chapterIndexModifier;\n return selectedChapterIndexes.includes(mappedIndex + '');\n });\n const selectedVolumeIds = this.volumes.filter((_volume, index: number) => selectedVolumeIndexes.includes(index + ''));\n const selectedSpecials = this.specials.filter((_chapter, index: number) => selectedSpecialIndexes.includes(index + ''));\n const chapters = [...selectedChapterIds, ...selectedSpecials];\n\n switch (action.action) {\n case Action.AddToReadingList:\n this.actionService.addMultipleToReadingList(seriesId, selectedVolumeIds, chapters, (success) => {\n if (success) this.bulkSelectionService.deselectAll();\n this.cdRef.markForCheck();\n });\n break;\n case Action.MarkAsRead:\n this.actionService.markMultipleAsRead(seriesId, selectedVolumeIds, chapters, () => {\n this.setContinuePoint();\n this.bulkSelectionService.deselectAll();\n this.cdRef.markForCheck();\n });\n\n break;\n case Action.MarkAsUnread:\n this.actionService.markMultipleAsUnread(seriesId, selectedVolumeIds, chapters, () => {\n this.setContinuePoint();\n this.bulkSelectionService.deselectAll();\n this.cdRef.markForCheck();\n });\n break;\n }\n }\n\n get TagBadgeCursor() { return TagBadgeCursor; }\n\n get TabID() { return TabID; }\n\n get PageLayoutMode() { return PageLayoutMode; }\n\n get LibraryType() { return LibraryType; }\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;\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 get ContinuePointTitle() {\n if (this.currentlyReadingChapter === undefined || !this.hasReadingProgress) return '';\n\n if (!this.currentlyReadingChapter.isSpecial) {\n const vol = this.volumes.filter(v => v.id === this.currentlyReadingChapter?.volumeId);\n\n // This is a lone chapter\n if (vol.length === 0) {\n return 'Ch ' + this.currentlyReadingChapter.number;\n }\n\n if (this.currentlyReadingChapter.number === \"0\") {\n return 'Vol ' + vol[0].number;\n }\n return 'Vol ' + vol[0].number + ' Ch ' + this.currentlyReadingChapter.number;\n }\n\n return this.currentlyReadingChapter.title;\n }\n\n constructor(private route: ActivatedRoute, private seriesService: SeriesService,\n private router: Router, public bulkSelectionService: BulkSelectionService,\n private modalService: NgbModal, public readerService: ReaderService,\n public utilityService: UtilityService, private toastr: ToastrService,\n private accountService: AccountService, public imageService: ImageService,\n private actionFactoryService: ActionFactoryService, private libraryService: LibraryService,\n private confirmService: ConfirmService, private titleService: Title,\n private downloadService: DownloadService, private actionService: ActionService,\n private messageHub: MessageHubService, private readingListService: ReadingListService,\n public navService: NavService,\n private offcanvasService: NgbOffcanvas, @Inject(DOCUMENT) private document: Document,\n private cdRef: ChangeDetectorRef, private scrollService: ScrollService,\n private deviceService: DeviceService, private translocoService: TranslocoService\n ) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n this.accountService.currentUser$.pipe(take(1)).subscribe(user => {\n if (user) {\n this.user = user;\n this.isAdmin = this.accountService.hasAdminRole(user);\n this.hasDownloadingRole = this.accountService.hasDownloadRole(user);\n this.renderMode = user.preferences.globalPageLayoutMode;\n this.pageExtrasGroup.get('renderMode')?.setValue(this.renderMode);\n this.cdRef.markForCheck();\n }\n });\n }\n\n ngAfterContentChecked(): void {\n this.scrollService.setScrollContainer(this.scrollingBlock);\n }\n\n\n ngOnInit(): void {\n const routeId = this.route.snapshot.paramMap.get('seriesId');\n const libraryId = this.route.snapshot.paramMap.get('libraryId');\n if (routeId === null || libraryId == null) {\n this.router.navigateByUrl('/libraries');\n return;\n }\n\n this.messageHub.messages$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(event => {\n if (event.event === EVENTS.SeriesRemoved) {\n const seriesRemovedEvent = event.payload as SeriesRemovedEvent;\n if (seriesRemovedEvent.seriesId === this.seriesId) {\n this.toastr.info(this.translocoService.translate('errors.series-doesnt-exist'));\n this.router.navigateByUrl('/libraries');\n }\n } else if (event.event === EVENTS.ScanSeries) {\n const seriesCoverUpdatedEvent = event.payload as ScanSeriesEvent;\n if (seriesCoverUpdatedEvent.seriesId === this.seriesId) {\n this.loadSeries(this.seriesId);\n }\n }\n });\n\n this.seriesId = parseInt(routeId, 10);\n this.libraryId = parseInt(libraryId, 10);\n this.seriesImage = this.imageService.getSeriesCoverImage(this.seriesId);\n this.cdRef.markForCheck();\n this.loadSeries(this.seriesId, true);\n\n this.pageExtrasGroup.get('renderMode')?.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((val: PageLayoutMode | null) => {\n if (val == null) return;\n this.renderMode = val;\n this.cdRef.markForCheck();\n });\n }\n\n @HostListener('document:keydown.shift', ['$event'])\n handleKeypress(event: KeyboardEvent) {\n if (event.key === KEY_CODES.SHIFT) {\n this.bulkSelectionService.isShiftDown = true;\n }\n }\n\n @HostListener('document:keyup.shift', ['$event'])\n handleKeyUp(event: KeyboardEvent) {\n if (event.key === KEY_CODES.SHIFT) {\n this.bulkSelectionService.isShiftDown = false;\n }\n }\n\n onNavChange(event: NgbNavChangeEvent) {\n this.bulkSelectionService.deselectAll();\n this.cdRef.markForCheck();\n }\n\n handleSeriesActionCallback(action: ActionItem, series: Series) {\n this.cdRef.markForCheck();\n switch(action.action) {\n case(Action.MarkAsRead):\n this.actionService.markSeriesAsRead(series, (series: Series) => {\n this.loadSeries(series.id);\n });\n break;\n case(Action.MarkAsUnread):\n this.actionService.markSeriesAsUnread(series, (series: Series) => {\n this.loadSeries(series.id);\n });\n break;\n case(Action.Scan):\n this.actionService.scanSeries(series);\n break;\n case(Action.RefreshMetadata):\n this.actionService.refreshMetdata(series);\n break;\n case(Action.Delete):\n this.deleteSeries(series);\n break;\n case(Action.AddToReadingList):\n this.actionService.addSeriesToReadingList(series);\n break;\n case(Action.AddToCollection):\n this.actionService.addMultipleSeriesToCollectionTag([series]);\n break;\n case (Action.AnalyzeFiles):\n this.actionService.analyzeFilesForSeries(series);\n break;\n case Action.AddToWantToReadList:\n this.actionService.addMultipleSeriesToWantToReadList([series.id]);\n break;\n case Action.RemoveFromWantToReadList:\n this.actionService.removeMultipleSeriesFromWantToReadList([series.id]);\n break;\n case Action.Download:\n if (this.downloadInProgress) return;\n this.downloadSeries();\n break;\n case Action.SendTo:\n {\n const chapterIds = [...this.volumes.map(v => v.chapters.map(c => c.id)).flat(), ...this.specials.map(c => c.id)]\n const device = (action._extra!.data as Device);\n this.actionService.sendToDevice(chapterIds, device);\n break;\n }\n default:\n break;\n }\n }\n\n handleVolumeActionCallback(action: ActionItem, volume: Volume) {\n switch(action.action) {\n case(Action.MarkAsRead):\n this.markVolumeAsRead(volume);\n break;\n case(Action.MarkAsUnread):\n this.markVolumeAsUnread(volume);\n break;\n case(Action.Edit):\n this.openViewInfo(volume);\n break;\n case(Action.AddToReadingList):\n this.actionService.addVolumeToReadingList(volume, this.seriesId, () => {/* No Operation */ });\n break;\n case(Action.IncognitoRead):\n if (volume.chapters != undefined && volume.chapters?.length >= 1) {\n this.openChapter(volume.chapters.sort(this.utilityService.sortChapters)[0], true);\n }\n break;\n case (Action.SendTo):\n {\n const device = (action._extra!.data as Device);\n this.actionService.sendToDevice(volume.chapters.map(c => c.id), device);\n break;\n }\n default:\n break;\n }\n }\n\n handleChapterActionCallback(action: ActionItem, chapter: Chapter) {\n switch (action.action) {\n case(Action.MarkAsRead):\n this.markChapterAsRead(chapter);\n break;\n case(Action.MarkAsUnread):\n this.markChapterAsUnread(chapter);\n break;\n case(Action.Edit):\n this.openViewInfo(chapter);\n break;\n case(Action.AddToReadingList):\n this.actionService.addChapterToReadingList(chapter, this.seriesId, () => {/* No Operation */ });\n break;\n case(Action.IncognitoRead):\n this.openChapter(chapter, true);\n break;\n case (Action.SendTo):\n {\n const device = (action._extra!.data as Device);\n this.deviceService.sendTo([chapter.id], device.id).subscribe(() => {\n this.toastr.success(this.translocoService.translate('series-detail.send-to', {deviceName: device.name}));\n });\n break;\n }\n default:\n break;\n }\n }\n\n\n async deleteSeries(series: Series) {\n await this.actionService.deleteSeries(series, (result: boolean) => {\n this.cdRef.markForCheck();\n if (result) {\n this.router.navigate(['library', this.libraryId]);\n }\n });\n }\n\n loadSeries(seriesId: number, loadExternal: boolean = false) {\n this.seriesService.getMetadata(seriesId).subscribe(metadata => {\n this.seriesMetadata = metadata;\n this.cdRef.markForCheck();\n });\n\n this.seriesService.isWantToRead(seriesId).subscribe(isWantToRead => {\n this.isWantToRead = isWantToRead;\n this.cdRef.markForCheck();\n });\n\n this.readingListService.getReadingListsForSeries(seriesId).subscribe(lists => {\n this.readingLists = lists;\n this.cdRef.markForCheck();\n });\n this.setContinuePoint();\n\n forkJoin({\n libType: this.libraryService.getLibraryType(this.libraryId),\n series: this.seriesService.getSeries(seriesId)\n }).subscribe(results => {\n this.libraryType = results.libType;\n this.series = results.series;\n\n if (this.libraryType !== LibraryType.Comic && loadExternal) {\n this.loadReviews(true);\n }\n\n this.titleService.setTitle('Kavita - ' + this.series.name + ' Details');\n\n this.seriesActions = this.actionFactoryService.getSeriesActions(this.handleSeriesActionCallback.bind(this))\n .filter(action => action.action !== Action.Edit);\n\n this.volumeActions = this.actionFactoryService.getVolumeActions(this.handleVolumeActionCallback.bind(this));\n this.chapterActions = this.actionFactoryService.getChapterActions(this.handleChapterActionCallback.bind(this));\n\n\n\n this.seriesService.getRelatedForSeries(this.seriesId).subscribe((relations: RelatedSeries) => {\n this.relations = [\n ...relations.prequels.map(item => this.createRelatedSeries(item, RelationKind.Prequel)),\n ...relations.sequels.map(item => this.createRelatedSeries(item, RelationKind.Sequel)),\n ...relations.sideStories.map(item => this.createRelatedSeries(item, RelationKind.SideStory)),\n ...relations.spinOffs.map(item => this.createRelatedSeries(item, RelationKind.SpinOff)),\n ...relations.adaptations.map(item => this.createRelatedSeries(item, RelationKind.Adaptation)),\n ...relations.contains.map(item => this.createRelatedSeries(item, RelationKind.Contains)),\n ...relations.characters.map(item => this.createRelatedSeries(item, RelationKind.Character)),\n ...relations.others.map(item => this.createRelatedSeries(item, RelationKind.Other)),\n ...relations.alternativeSettings.map(item => this.createRelatedSeries(item, RelationKind.AlternativeSetting)),\n ...relations.alternativeVersions.map(item => this.createRelatedSeries(item, RelationKind.AlternativeVersion)),\n ...relations.doujinshis.map(item => this.createRelatedSeries(item, RelationKind.Doujinshi)),\n ...relations.parent.map(item => this.createRelatedSeries(item, RelationKind.Parent)),\n ...relations.editions.map(item => this.createRelatedSeries(item, RelationKind.Edition)),\n ];\n if (this.relations.length > 0) {\n this.hasRelations = true;\n this.cdRef.markForCheck();\n } else {\n this.hasRelations = false;\n this.cdRef.markForCheck();\n }\n });\n\n this.seriesService.getSeriesDetail(this.seriesId).pipe(catchError(err => {\n this.router.navigateByUrl('/libraries');\n return of(null);\n })).subscribe(detail => {\n if (detail == null) return;\n this.unreadCount = detail.unreadCount;\n this.totalCount = detail.totalCount;\n\n this.hasSpecials = detail.specials.length > 0;\n this.specials = detail.specials;\n\n this.chapters = detail.chapters;\n this.volumes = detail.volumes;\n this.storyChapters = detail.storylineChapters;\n this.storylineItems = [];\n const v = this.volumes.map(v => {\n return {volume: v, chapter: undefined, isChapter: false} as StoryLineItem;\n });\n this.storylineItems.push(...v);\n const c = this.storyChapters.map(c => {\n return {volume: undefined, chapter: c, isChapter: true} as StoryLineItem;\n });\n this.storylineItems.push(...c);\n\n\n this.updateSelectedTab();\n this.isLoading = false;\n this.cdRef.markForCheck();\n });\n }, err => {\n this.router.navigateByUrl('/libraries');\n });\n }\n\n createRelatedSeries(series: Series, relation: RelationKind) {\n return {series, relation} as RelatedSeriesPair;\n }\n\n /**\n * This will update the selected tab\n *\n * This assumes loadPage() has already primed all the calculations and state variables. Do not call directly.\n */\n updateSelectedTab() {\n // Book libraries only have Volumes or Specials enabled\n if (this.libraryType === LibraryType.Book) {\n if (this.volumes.length === 0) {\n this.activeTabId = TabID.Specials;\n } else {\n this.activeTabId = TabID.Volumes;\n }\n return;\n }\n\n if (this.volumes.length === 0 && this.chapters.length === 0 && this.specials.length > 0) {\n this.activeTabId = TabID.Specials;\n } else {\n this.activeTabId = TabID.Storyline;\n }\n }\n\n loadRecommendations() {\n this.seriesService.getRecommendationsForSeries(this.seriesId).subscribe(rec => {\n rec.ownedSeries.map(r => {\n this.seriesService.getMetadata(r.id).subscribe(m => r.summary = m.summary);\n });\n this.combinedRecs = [...rec.ownedSeries, ...rec.externalSeries];\n this.hasRecommendations = this.combinedRecs.length > 0;\n this.cdRef.markForCheck();\n });\n }\n\n loadReviews(loadRecs: boolean = false) {\n this.seriesService.getReviews(this.seriesId).subscribe(reviews => {\n this.reviews = [...reviews];\n if (loadRecs) {\n this.loadRecommendations(); // We do this as first load will spam 3 calls on API layer\n }\n this.cdRef.markForCheck();\n });\n }\n\n\n setContinuePoint() {\n this.readerService.hasSeriesProgress(this.seriesId).subscribe(hasProgress => {\n this.hasReadingProgress = hasProgress;\n this.cdRef.markForCheck();\n });\n this.readerService.getCurrentChapter(this.seriesId).subscribe(chapter => {\n this.currentlyReadingChapter = chapter;\n this.cdRef.markForCheck();\n });\n }\n\n markVolumeAsRead(vol: Volume) {\n if (this.series === undefined) {\n return;\n }\n\n this.actionService.markVolumeAsRead(this.seriesId, vol, () => {\n this.setContinuePoint();\n });\n }\n\n markVolumeAsUnread(vol: Volume) {\n if (this.series === undefined) {\n return;\n }\n\n this.actionService.markVolumeAsUnread(this.seriesId, vol, () => {\n this.setContinuePoint();\n });\n }\n\n markChapterAsRead(chapter: Chapter) {\n if (this.series === undefined) {\n return;\n }\n\n this.actionService.markChapterAsRead(this.libraryId, this.seriesId, chapter, () => {\n this.setContinuePoint();\n });\n }\n\n markChapterAsUnread(chapter: Chapter) {\n if (this.series === undefined) {\n return;\n }\n\n this.actionService.markChapterAsUnread(this.libraryId, this.seriesId, chapter, () => {\n this.setContinuePoint();\n });\n }\n\n read(incognitoMode: boolean = false) {\n if (this.currentlyReadingChapter !== undefined) {\n this.openChapter(this.currentlyReadingChapter, incognitoMode);\n return;\n }\n\n this.readerService.getCurrentChapter(this.seriesId).subscribe(chapter => {\n this.openChapter(chapter, incognitoMode);\n });\n }\n\n openChapter(chapter: Chapter, incognitoMode = false) {\n if (this.bulkSelectionService.hasSelections()) return;\n if (chapter.pages === 0) {\n this.toastr.error(this.translocoService.translate('series-detail.no-pages'));\n return;\n }\n this.router.navigate(this.readerService.getNavigationArray(this.libraryId, this.seriesId, chapter.id, chapter.files[0].format), {queryParams: {incognitoMode}});\n }\n\n openVolume(volume: Volume) {\n if (this.bulkSelectionService.hasSelections()) return;\n if (volume.chapters === undefined || volume.chapters?.length === 0) {\n this.toastr.error(this.translocoService.translate('series-detail.no-chapters'));\n return;\n }\n\n // If user has progress on the volume, load them where they left off\n if (volume.pagesRead < volume.pages && volume.pagesRead > 0) {\n // Find the continue point chapter and load it\n const unreadChapters = volume.chapters.filter(item => item.pagesRead < item.pages);\n if (unreadChapters.length > 0) {\n this.openChapter(unreadChapters[0]);\n return;\n }\n this.openChapter(volume.chapters[0]);\n return;\n }\n\n // Sort the chapters, then grab first if no reading progress\n this.openChapter([...volume.chapters].sort(this.utilityService.sortChapters)[0]);\n }\n\n openViewInfo(data: Volume | Chapter) {\n const drawerRef = this.offcanvasService.open(CardDetailDrawerComponent, {position: 'bottom'});\n drawerRef.componentInstance.data = data;\n drawerRef.componentInstance.parentName = this.series?.name;\n drawerRef.componentInstance.seriesId = this.series?.id;\n drawerRef.componentInstance.libraryId = this.series?.libraryId;\n }\n\n openEditSeriesModal() {\n const modalRef = this.modalService.open(EditSeriesModalComponent, { size: 'xl' });\n modalRef.componentInstance.series = this.series;\n modalRef.closed.subscribe((closeResult: {success: boolean, series: Series, coverImageUpdate: boolean}) => {\n window.scrollTo(0, 0);\n if (closeResult.success) {\n this.loadSeries(this.seriesId);\n }\n\n if (closeResult.coverImageUpdate) {\n this.toastr.info(this.translocoService.translate('series-detail.cover-change'));\n }\n });\n }\n\n getUserReview() {\n return this.reviews.filter(r => r.username === this.user?.username && !r.isExternal);\n }\n\n openReviewModal() {\n const userReview = this.getUserReview();\n\n const modalRef = this.modalService.open(ReviewSeriesModalComponent, { scrollable: true, size: 'lg' });\n if (userReview.length > 0) {\n modalRef.componentInstance.review = userReview[0];\n } else {\n modalRef.componentInstance.review = {\n seriesId: this.series.id,\n tagline: '',\n body: ''\n };\n }\n modalRef.componentInstance.series = this.series;\n modalRef.closed.subscribe((closeResult: {success: boolean}) => {\n if (closeResult.success) {\n this.loadReviews();\n }\n });\n }\n\n\n performAction(action: ActionItem) {\n if (typeof action.callback === 'function') {\n action.callback(action, this.series);\n }\n }\n\n downloadSeries() {\n this.downloadService.download('series', this.series, (d) => {\n if (d) {\n this.downloadInProgress = true;\n } else {\n this.downloadInProgress = false;\n }\n this.cdRef.markForCheck();\n });\n }\n\n toggleWantToRead() {\n if (this.isWantToRead) {\n this.actionService.removeMultipleSeriesFromWantToReadList([this.series.id]);\n } else {\n this.actionService.addMultipleSeriesToWantToReadList([this.series.id]);\n }\n\n this.isWantToRead = !this.isWantToRead;\n this.cdRef.markForCheck();\n }\n\n protected readonly undefined = undefined;\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { SeriesDetailComponent } from './_components/series-detail/series-detail.component';\n\n\nconst routes: Routes = [\n {\n path: '',\n component: SeriesDetailComponent\n }\n];\n\n\n@NgModule({\n imports: [RouterModule.forChild(routes), ],\n exports: [RouterModule]\n})\nexport class SeriesDetailRoutingModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SeriesDetailRoutingModule } from './series-detail-routing.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SeriesDetailComponent } from './_components/series-detail/series-detail.component';\nimport {ReviewCardComponent} from \"../_single-module/review-card/review-card.component\";\n\nimport {ExternalRatingComponent} from \"./_components/external-rating/external-rating.component\";\nimport {ImageComponent} from \"../shared/image/image.component\";\nimport {ReadMoreComponent} from \"../shared/read-more/read-more.component\";\nimport {PersonBadgeComponent} from \"../shared/person-badge/person-badge.component\";\nimport {IconAndTitleComponent} from \"../shared/icon-and-title/icon-and-title.component\";\nimport {BadgeExpanderComponent} from \"../shared/badge-expander/badge-expander.component\";\nimport {ExternalSeriesCardComponent} from \"../cards/external-series-card/external-series-card.component\";\nimport {ExternalListItemComponent} from \"../cards/external-list-item/external-list-item.component\";\nimport {ListItemComponent} from \"../cards/list-item/list-item.component\";\nimport {SafeHtmlPipe} from \"../pipe/safe-html.pipe\";\nimport {TagBadgeComponent} from \"../shared/tag-badge/tag-badge.component\";\nimport {LoadingComponent} from \"../shared/loading/loading.component\";\nimport {VirtualScrollerModule} from \"@iharbeck/ngx-virtual-scroller\";\nimport {CardItemComponent} from \"../cards/card-item/card-item.component\";\nimport {SeriesCardComponent} from \"../cards/series-card/series-card.component\";\nimport {EntityTitleComponent} from \"../cards/entity-title/entity-title.component\";\nimport {BulkOperationsComponent} from \"../cards/bulk-operations/bulk-operations.component\";\nimport {SeriesMetadataDetailComponent} from \"./_components/series-metadata-detail/series-metadata-detail.component\";\nimport {\n NgbDropdown, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle,\n NgbNav,\n NgbNavContent,\n NgbNavItem,\n NgbNavLink,\n NgbNavOutlet,\n NgbProgressbar,\n NgbTooltipModule\n} from \"@ng-bootstrap/ng-bootstrap\";\nimport {\n SideNavCompanionBarComponent\n} from \"../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component\";\nimport {CardActionablesComponent} from \"../_single-module/card-actionables/card-actionables.component\";\n\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n SeriesDetailRoutingModule,\n ImageComponent,\n ReadMoreComponent,\n PersonBadgeComponent,\n IconAndTitleComponent,\n BadgeExpanderComponent,\n ExternalSeriesCardComponent,\n ExternalListItemComponent,\n ListItemComponent,\n ReviewCardComponent,\n ExternalRatingComponent,\n CardActionablesComponent,\n SafeHtmlPipe,\n TagBadgeComponent,\n LoadingComponent,\n VirtualScrollerModule,\n CardItemComponent,\n SeriesCardComponent,\n EntityTitleComponent,\n BulkOperationsComponent,\n SeriesMetadataDetailComponent,\n NgbNavOutlet,\n NgbNavItem,\n NgbNavLink,\n NgbNavContent,\n SideNavCompanionBarComponent,\n NgbNav,\n NgbProgressbar,\n NgbTooltipModule,\n NgbDropdown,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdownToggle,\n SeriesDetailComponent,\n]\n})\nexport class SeriesDetailModule { }\n","
\n
0\">\n {{label}}\n
\n \n\n
\n \n
\n
\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'app-icon-and-title',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './icon-and-title.component.html',\n styleUrls: ['./icon-and-title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IconAndTitleComponent {\n /**\n * If the component is clickable and should emit click events\n */\n @Input() clickable: boolean = true;\n @Input() title: string = '';\n @Input() label: string = '';\n /**\n * Font classes used to display font\n */\n @Input() fontClasses: string = '';\n\n @Output() click: EventEmitter = new EventEmitter();\n\n constructor() { }\n\n handleClick(event: MouseEvent) {\n if (this.clickable) this.click.emit(event);\n }\n}\n"],"x_google_ignoreList":[31]}