{"version":3,"file":"94.2bee25f301e6476e.js","mappings":"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","names":["i0","ctx_r8","manageLink","t_r1","LicenseComponent_ng_container_0_ng_container_9_ng_container_1_Template","LicenseComponent_ng_container_0_ng_container_9_ng_template_2_Template","_r20","ctx_r19","validateLicense","LicenseComponent_ng_container_0_ng_container_9_span_5_Template","ctx_r21","toggleViewMode","LicenseComponent_ng_container_0_ng_container_9_span_8_Template","LicenseComponent_ng_container_0_ng_container_9_span_9_Template","ctx_r2","hasValidLicense","_r9","isChecking","isViewMode","_r23","ctx_r22","ctx_r4","buyLink","LicenseComponent_ng_container_0_ng_container_12_ng_container_3_ng_container_3_i_1_Template","LicenseComponent_ng_container_0_ng_container_12_ng_container_3_ng_container_3_i_2_Template","ctx_r28","LicenseComponent_ng_container_0_ng_container_12_ng_container_3_ng_container_3_Template","LicenseComponent_ng_container_0_ng_container_12_ng_container_3_ng_template_4_Template","ctx_r25","_r29","LicenseComponent_ng_container_0_ng_container_12_ng_container_3_Template","LicenseComponent_ng_container_0_ng_container_12_ng_template_4_Template","ctx_r5","hasLicense","_r26","LicenseComponent_ng_container_0_ng_container_9_Template","LicenseComponent_ng_container_0_ng_template_10_Template","LicenseComponent_ng_container_0_ng_container_12_Template","$event","_r39","ctx_r38","ctx_r40","deleteLicense","ctx_r41","saveForm","LicenseComponent_ng_container_0_span_30_Template","ctx_r0","_r3","formGroup","tmp_10_0","get","value","isSaving","LicenseComponent","constructor","accountService","scrobblingService","toastr","cdRef","confirmService","this","FormGroup","environment","ngOnInit","addControl","FormControl","Validators","required","hasAnyLicense","subscribe","res","markForCheck","resetForm","setValue","updateUserLicense","trim","isValid","success","translate","info","length","err","hasOwnProperty","error","JSON","parse","message","_this","_asyncToGenerator","confirm","t","i1","i2","i3","i4","core","Xpm","selectors","standalone","features","decls","vars","consts","template","rf","ctx","LicenseComponent_ng_container_0_Template","NgIf","NgbTooltip","LoadingComponent","NgbCollapse","ReactiveFormsModule","i5","TranslocoDirective","styles","changeDetection","freq_r12","freq_r14","task_r15","_r18","$implicit","ctx_r17","runAdhoc","idx_r16","name","description","task_r20","title","lastExecutionUtc","_c0","cron","ManageTasksSettingsComponent_ng_container_0_form_2_ng_template_7_Template","ManageTasksSettingsComponent_ng_container_0_form_2_option_12_Template","ManageTasksSettingsComponent_ng_container_0_form_2_ng_template_17_Template","ManageTasksSettingsComponent_ng_container_0_form_2_option_22_Template","ManageTasksSettingsComponent_ng_container_0_form_2_tr_35_Template","ManageTasksSettingsComponent_ng_container_0_form_2_tr_48_Template","resetToDefaults","ctx_r24","saveSettings","settingsForm","taskFrequencies","_r6","adhocTasks","recurringTasks$","dirty","ManageTasksSettingsComponent_ng_container_0_form_2_Template","undefined","serverSettings","ManageTasksSettingsComponent","settingsService","serverService","modalService","downloadService","translocoService","inject","TranslocoService","ChangeDetectorRef","logLevels","of","api","convertMedia","successMessage","bustCache","clearCache","cleanupWantToRead","backupDatabase","defer","download","analyzeFiles","checkForUpdate","successFunction","update","open","UpdateNotificationModalComponent","scrollable","size","componentInstance","updateData","forkJoin","frequencies","getTaskFrequencies","levels","getLoggingLevels","settings","getServerSettings","result","taskScan","taskBackup","getRecurringJobs","pipe","shareReplay","markAsPristine","modelSettings","Object","assign","updateServerSettings","take","_ref","_x","apply","arguments","console","_this2","resetServerSettings","_ref2","_x2","task","data","ManageTasksSettingsComponent_ng_container_0_Template","i6","NgFor","AsyncPipe","TitleCasePipe","DefaultValuePipe","TranslocoModule","i7","NgTemplateOutlet","TranslocoLocaleModule","i8","statuses_r3","idx_r10","item_r9","_r12","ctx_r11","onSort","ctx_r13","PublicationStatusStatsComponent_ng_container_0_ng_container_13_ng_template_2_tr_8_Template","PublicationStatusStatsComponent_ng_container_0_ng_container_13_ng_container_1_Template","PublicationStatusStatsComponent_ng_container_0_ng_container_13_ng_template_2_Template","formControl","_r5","PublicationStatusStatsComponent_ng_container_0_ng_container_13_Template","publicationStatues$","PublicationStatusStatsComponent","statService","currentSort","BehaviorSubject","column","direction","currentSort$","asObservable","view","destroyRef","DestroyRef","combineLatest","getPublicationStatus","map","sortConfig","sort","a","b","compare","takeUntilDestroyed","evt","next","headers","forEach","header","sortable","viewQuery","SortableHeader","PublicationStatusStatsComponent_ng_container_0_Template","PieChartModule","SortableHeader_1","DecimalPipe","ctx_r7","vizData2$","idx_r12","item_r11","extension","format","totalSize","totalFiles","_r15","ctx_r14","ctx_r16","ctx_r18","FileBreakdownStatsComponent_ng_container_0_ng_container_16_ng_template_2_tr_12_Template","files_r6","tmp_6_0","ctx_r9","rawData$","totalFileSize","FileBreakdownStatsComponent_ng_container_0_ng_container_16_ng_container_1_Template","FileBreakdownStatsComponent_ng_container_0_ng_container_16_ng_template_2_Template","_r8","FileBreakdownStatsComponent_ng_container_0_ng_template_14_Template","FileBreakdownStatsComponent_ng_container_0_ng_container_16_Template","_r2","files$","FileBreakdownStatsComponent","getFileBreakdown","fileBreakdown","d","extra","FileBreakdownStatsComponent_ng_container_0_Template","BytesPipe","MangaFormatPipe","openGenreList","stopPropagation","openTagList","openPeopleList","stats_r4","seriesCount","volumeCount","totalGenres","_c1","totalTags","totalPeople","totalReadingTime","ServerStatsComponent_ng_container_0_div_2_Template","ServerStatsComponent_ng_container_0_ng_container_15_Template","stats$","releaseYears$","mostActiveUsers$","mostActiveLibrary$","mostActiveSeries$","seriesImage","openSeries","recentlyRead$","breakpoint$","ServerStatsComponent","onResize","breakpointSubject","utilityService","getActiveBreakpoint","Breakpoint","router","imageService","metadataService","filterUtilityService","series","navigate","libraryId","id","ReplaySubject","getSeriesCoverImage","getServerStatistics","getTopYears","mostActiveUsers","userCounts","count","username","mostActiveLibraries","counts","mostReadSeries","recentlyRead","getAllGenres","genres","ref","GenericListModalComponent","items","clicked","item","applyFilter","FilterField","Genres","FilterComparison","Contains","filter","g","getAllTags","tags","Tags","getAllPeople","people","Set","person","hostBindings","ServerStatsComponent_ng_container_0_Template","IconAndTitleComponent","StatListComponent","TopReadersComponent","ReadingActivityComponent","DayBreakdownComponent","CompactNumberPipe","TimeDurationPipe","serverInfo","kavitaVersion","installId","ManageSystemComponent_ng_container_0_div_5_Template","ManageSystemComponent","getServerInfo","ManageSystemComponent_ng_container_0_Template","item_r5","timestamp","level","ManageLogsComponent_ng_container_0_div_5_Template","items_r1","viewPortItems","ManageLogsComponent","hubUrl","logsSource","logs$","currentUser$","user","hubConnection","HubConnectionBuilder","withUrl","accessTokenFactory","token","withAutomaticReconnect","build","log","start","catch","on","resp","payload","logMessage","exception","values","getValue","push","ngOnDestroy","stop","ManageLogsComponent_ng_container_0_Template","VirtualScrollerModule","DatePipe","LibraryTypePipe","transform","libraryType","LibraryType","Book","Comic","Manga","Yjl","pure","library_r5","lastScanned","scanLibrary","deleteLibrary","editLibrary","ManageLibraryComponent_ng_container_0_li_12_span_23_Template","ManageLibraryComponent_ng_container_0_li_12_ng_template_24_Template","idx_r6","deletionInProgress","type","folders","_r19","addLibrary","ManageLibraryComponent_ng_container_0_li_12_Template","ManageLibraryComponent_ng_container_0_li_13_Template","ManageLibraryComponent_ng_container_0_li_14_Template","libraries","libraryTrackBy","loading","ManageLibraryComponent","libraryService","hubService","index","getLibraries","messages$","event","EVENTS","ScanSeries","NotificationProgress","distinctUntilChanged","prev","curr","hasMessageChanged","libId","body","newLibrary","find","lib","existingLibrary","eventType","library","modalRef","LibrarySettingsModalComponent","closed","refresh","delete","scan","ManageLibraryComponent_ng_container_0_Template","RouterLink","TimeAgoPipe","SentenceCasePipe","DefaultDatePipe","errorMessage","close","ResetPasswordModalComponent_ng_container_0_div_8_Template","ctx_r6","save","resetPasswordForm","member","password","ResetPasswordModalComponent","modal","resetPassword","inputs","ResetPasswordModalComponent_ng_container_0_Template","_r7","toggleAll","ctx_r3","selectAll","hasSomeSelected","library_r9","handleSelection","i_r10","selections","isSelected","LibrarySelectorComponent_ng_container_0_div_3_div_1_Template","LibrarySelectorComponent_ng_container_0_div_3_li_3_Template","LibrarySelectorComponent_ng_container_0_div_3_li_4_Template","allLibraries","LibrarySelectorComponent_ng_container_0_div_3_Template","isLoading","LibrarySelectorComponent","fb","selected","EventEmitter","selectedLibraries","libs","setupSelections","SelectionModel","toggle","emit","s","numberOfSelected","outputs","LibrarySelectorComponent_ng_container_0_Template","FormsModule","role_r3","handleModelUpdate","i_r4","disabled","RoleSelectorComponent_ng_container_0_li_4_Template","selectedRoles","RoleSelectorComponent","allowAdmin","allRoles","getRoles","roles","bannedRoles","includes","preselect","role","foundRole","r","e","RoleSelectorComponent_ng_container_0_Template","InviteUserComponent_ng_container_0_form_9_div_6_div_1_Template","email","errors","InviteUserComponent_ng_container_0_form_9_div_6_Template","updateRoleSelection","ctx_r10","updateLibrarySelection","updateRestrictionSelection","inviteForm","tmp_2_0","invalid","touched","hasAdminRoleSelected","emailLink","makeLink","InviteUserComponent_ng_container_0_form_9_Template","InviteUserComponent_ng_container_0_ng_container_10_Template","invite","InviteUserComponent_ng_container_0_span_15_Template","isSending","valid","InviteUserComponent","selectedRestriction","ageRating","AgeRating","NotApplicable","includeUnknowns","val","inviteUser","ageRestriction","emailSent","l","restriction","InviteUserComponent_ng_container_0_Template","RestrictionSelectorComponent","ApiKeyComponent","SafeHtmlPipe","EditUserComponent_ng_container_0_div_15_div_1_Template","tmp_0_0","userForm","EditUserComponent_ng_container_0_div_21_div_1_Template","EditUserComponent_ng_container_0_div_21_div_2_Template","tmp_1_0","EditUserComponent_ng_container_0_div_15_Template","EditUserComponent_ng_container_0_div_21_Template","ctx_r15","EditUserComponent_ng_container_0_span_34_Template","tmp_4_0","EditUserComponent","disable","model","getRawValue","userId","EditUserComponent_ng_container_0_Template","_r22","member_r5","ctx_r20","resendEmail","_r27","setup","_r32","ctx_r30","updatePassword","_r37","ctx_r35","deleteUser","openEditUser","ManageUsersComponent_ng_container_0_li_12_div_8_button_7_Template","ManageUsersComponent_ng_container_0_li_12_div_8_button_8_Template","ManageUsersComponent_ng_container_0_li_12_div_8_button_9_Template","isPending","formatLibraries","role_r47","ManageUsersComponent_ng_container_0_li_12_ng_template_23_app_tag_badge_0_Template","ManageUsersComponent_ng_container_0_li_12_span_6_Template","ManageUsersComponent_ng_container_0_li_12_span_7_Template","ManageUsersComponent_ng_container_0_li_12_div_8_Template","ManageUsersComponent_ng_container_0_li_12_i_16_Template","ManageUsersComponent_ng_container_0_li_12_div_18_Template","ManageUsersComponent_ng_container_0_li_12_span_22_Template","ManageUsersComponent_ng_container_0_li_12_ng_template_23_Template","loggedInUsername","canEditMember","lastActive","tmp_7_0","messageHub","onlineUsers$","hasAdminRole","_r13","_r53","ctx_r52","ManageUsersComponent_ng_container_0_li_12_Template","ManageUsersComponent_ng_container_0_li_13_Template","ManageUsersComponent_ng_container_0_li_14_Template","members","loadingMembers","ManageUsersComponent","memberService","loadMembers","getMembers","nameA","toUpperCase","nameB","deleteMember","setTimeout","successful","isServerAccessible","canAccess","resendConfirmationEmail","alert","getInviteUrl","url","navigateByUrl","join","indexOf","ManageUsersComponent_ng_container_0_Template","TagBadgeComponent","i9","EncodeFormat","PNG","WebP","AVIF","EncodeFormats","editSeries","seriesId","details","createdUtc","comment","ManageScrobbleErrorsComponent_ng_container_0_ng_container_27_tr_1_Template","ManageScrobbleErrorsComponent_ng_container_0_ng_container_27_tr_2_Template","filteredData_r6","clear","ManageScrobbleErrorsComponent_ng_container_0_tr_26_Template","ManageScrobbleErrorsComponent_ng_container_0_ng_container_27_Template","filterList","ManageScrobbleErrorsComponent","scrobbleCount","scrobbleService","ScrobblingService","MessageHubService","seriesService","SeriesService","NgbModal","messageHubUpdate$","m","listItem","query","toLowerCase","loadData","_","getScrobbleErrors","detectChanges","clearScrobbleErrors","getSeries","EditSeriesModalComponent","ManageScrobbleErrorsComponent_ng_container_0_Template","CommonModule","FilterPipe","filePath","ManageAlertsComponent_ng_container_0_ng_container_29_tr_1_Template","ManageAlertsComponent_ng_container_0_ng_container_29_tr_2_Template","ManageAlertsComponent_ng_container_0_tr_28_Template","ManageAlertsComponent_ng_container_0_ng_container_29_Template","ManageAlertsComponent","alertCount","ServerService","getMediaErrors","clearMediaAlerts","ManageAlertsComponent_ng_container_0_Template","CoverImageSize","Default","Medium","Large","XLarge","CoverImageSizes","format_r18","size_r20","ManageMediaSettingsComponent_ng_container_0_form_2_div_12_Template","ManageMediaSettingsComponent_ng_container_0_form_2_ng_template_17_Template","ManageMediaSettingsComponent_ng_container_0_form_2_option_22_Template","ManageMediaSettingsComponent_ng_container_0_form_2_ng_template_27_Template","ManageMediaSettingsComponent_ng_container_0_form_2_option_32_Template","ManageMediaSettingsComponent_ng_container_0_form_2_ng_template_38_Template","tmp_b_0","openDirectoryChooser","ctx_r26","tmp_5_0","_r11","coverImageSizes","_r14","_r31","ManageMediaSettingsComponent_ng_container_0_form_2_Template","ManageMediaSettingsComponent_ng_container_0_span_8_Template","ManageMediaSettingsComponent_ng_container_0_ng_template_11_Template","ManageMediaSettingsComponent_ng_container_0_span_17_Template","ManageMediaSettingsComponent_ng_container_0_ng_template_20_Template","ManageMediaSettingsComponent","o","newObj","encodeMediaAs","bookmarksDirectory","coverImageSize","parseInt","existingDirectory","DirectoryPickerComponent","startingFolder","helpUrl","closeResult","folderPath","markAsDirty","ManageMediaSettingsComponent_ng_container_0_Template","NgbAccordionDirective","NgbAccordionItem","NgbAccordionHeader","NgbAccordionButton","NgbAccordionCollapse","NgbAccordionBody","ManageEmailSettingsComponent_ng_container_0_form_2_div_30_div_1_Template","pattern","ManageEmailSettingsComponent_ng_container_0_form_2_ng_template_11_Template","ctx_r12","resetEmailServiceUrl","testEmailServiceUrl","ManageEmailSettingsComponent_ng_container_0_form_2_ng_template_25_Template","ManageEmailSettingsComponent_ng_container_0_form_2_div_30_Template","link","tmp_12_0","ManageEmailSettingsComponent_ng_container_0_form_2_Template","ManageEmailSettingsComponent","emailServiceUrl","hostName","resetEmailServerSettings","testEmailServerSettings","ManageEmailSettingsComponent_ng_container_0_Template","ManageSettingsComponent_ng_container_0_form_2_div_17_div_1_Template","ManageSettingsComponent_ng_container_0_form_2_div_31_div_1_Template","errors_r37","max","ManageSettingsComponent_ng_container_0_form_2_ng_container_51_p_1_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_51_p_2_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_51_p_3_Template","min","errors_r46","ManageSettingsComponent_ng_container_0_form_2_ng_container_61_p_1_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_61_p_2_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_61_p_3_Template","level_r55","ManageSettingsComponent_ng_container_0_form_2_ng_container_82_p_1_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_82_p_2_Template","errors_r57","ManageSettingsComponent_ng_container_0_form_2_ng_container_92_p_1_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_92_p_2_Template","errors_r63","ManageSettingsComponent_ng_container_0_form_2_ng_container_102_p_1_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_102_p_2_Template","errors_r69","ManageSettingsComponent_ng_container_0_form_2_ng_template_9_Template","_r75","ctx_r74","resetBaseUrl","ManageSettingsComponent_ng_container_0_form_2_div_17_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_23_Template","ctx_r76","resetIPAddresses","ManageSettingsComponent_ng_container_0_form_2_div_31_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_36_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_46_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_51_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_56_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_61_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_66_Template","ManageSettingsComponent_ng_container_0_form_2_option_71_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_77_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_82_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_87_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_92_Template","ManageSettingsComponent_ng_container_0_form_2_ng_template_97_Template","ManageSettingsComponent_ng_container_0_form_2_ng_container_102_Template","ctx_r77","ctx_r78","ctx_r79","tmp_20_0","tmp_21_0","tmp_25_0","tmp_26_0","_r17","tmp_30_0","tmp_35_0","tmp_36_0","tmp_40_0","tmp_41_0","tmp_45_0","tmp_46_0","ManageSettingsComponent_ng_container_0_form_2_Template","ValidIpAddress","ManageSettingsComponent","cacheDirectory","ipAddresses","port","loggingLevel","allowStatCollection","enableOpds","baseUrl","totalBackups","cacheSize","totalLogs","enableFolderWatching","onDeckProgressDays","onDeckUpdateDays","isDocker","resetIPAddressesSettings","ManageSettingsComponent_ng_container_0_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_0_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_1_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_2_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_3_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_4_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_5_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_6_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_7_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_8_Template","DashboardComponent_ng_container_0_li_7_ng_template_3_ng_container_9_Template","tab_r4","fragment","TabID","General","Email","Media","Users","Libraries","Logs","System","Statistics","Tasks","KavitaPlus","DashboardComponent_ng_container_0_li_7_ng_template_3_Template","active","DashboardComponent_ng_container_0_li_7_Template","tabs","DashboardComponent","route","titleService","navService","frag","tab","setTitle","DashboardComponent_ng_container_0_Template","SideNavCompanionBarComponent","NgbNav","NgbNavItem","NgbNavItemRole","NgbNavLink","NgbNavContent","NgbNavOutlet","routes","path","component","pathMatch","canActivate","AdminGuard","runGuardsAndResolvers","children","AdminRoutingModule","oAB","cJS","RouterModule","forChild","library_r4","i_r5","_r10","LibraryAccessModalComponent_ng_container_0_li_12_Template","LibraryAccessModalComponent_ng_container_0_li_13_Template","reset","LibraryAccessModalComponent","dismiss","updateLibrariesForMember","LibraryAccessModalComponent_ng_container_0_Template","AdminModule","NgbNavModule","NgbTooltipModule","NgbTypeaheadModule","NgbDropdownModule","NgbAccordionModule","UserSettingsModule"],"sourceRoot":"webpack:///","sources":["./src/app/admin/license/license.component.html","./src/app/admin/license/license.component.ts","./src/app/admin/manage-tasks-settings/manage-tasks-settings.component.html","./src/app/admin/manage-tasks-settings/manage-tasks-settings.component.ts","./src/app/statistics/_components/publication-status-stats/publication-status-stats.component.html","./src/app/statistics/_components/publication-status-stats/publication-status-stats.component.ts","./src/app/statistics/_components/file-breakdown-stats/file-breakdown-stats.component.html","./src/app/statistics/_components/file-breakdown-stats/file-breakdown-stats.component.ts","./src/app/statistics/_components/server-stats/server-stats.component.html","./src/app/statistics/_components/server-stats/server-stats.component.ts","./src/app/admin/manage-system/manage-system.component.html","./src/app/admin/manage-system/manage-system.component.ts","./src/app/admin/manage-logs/manage-logs.component.html","./src/app/admin/manage-logs/manage-logs.component.ts","./src/app/pipe/library-type.pipe.ts","./src/app/admin/manage-library/manage-library.component.html","./src/app/admin/manage-library/manage-library.component.ts","./src/app/admin/_modals/reset-password-modal/reset-password-modal.component.html","./src/app/admin/_modals/reset-password-modal/reset-password-modal.component.ts","./src/app/admin/library-selector/library-selector.component.html","./src/app/admin/library-selector/library-selector.component.ts","./src/app/admin/role-selector/role-selector.component.html","./src/app/admin/role-selector/role-selector.component.ts","./src/app/admin/invite-user/invite-user.component.html","./src/app/admin/invite-user/invite-user.component.ts","./src/app/admin/edit-user/edit-user.component.html","./src/app/admin/edit-user/edit-user.component.ts","./src/app/admin/manage-users/manage-users.component.html","./src/app/admin/manage-users/manage-users.component.ts","./src/app/admin/_models/encode-format.ts","./src/app/admin/manage-scrobble-errors/manage-scrobble-errors.component.html","./src/app/admin/manage-scrobble-errors/manage-scrobble-errors.component.ts","./src/app/admin/manage-alerts/manage-alerts.component.html","./src/app/admin/manage-alerts/manage-alerts.component.ts","./src/app/admin/_models/cover-image-size.ts","./src/app/admin/manage-media-settings/manage-media-settings.component.html","./src/app/admin/manage-media-settings/manage-media-settings.component.ts","./src/app/admin/manage-email-settings/manage-email-settings.component.html","./src/app/admin/manage-email-settings/manage-email-settings.component.ts","./src/app/admin/manage-settings/manage-settings.component.html","./src/app/admin/manage-settings/manage-settings.component.ts","./src/app/admin/dashboard/dashboard.component.html","./src/app/admin/dashboard/dashboard.component.ts","./src/app/admin/admin-routing.module.ts","./src/app/admin/_modals/library-access-modal/library-access-modal.component.html","./src/app/admin/_modals/library-access-modal/library-access-modal.component.ts","./src/app/admin/admin.module.ts"],"sourcesContent":["\n
\n
\n
\n
\n
\n

{{t('title')}}

\n
\n
\n \n \n {{t('manage')}}\n \n \n {{t('renew')}}\n \n \n \n \n \n {{t('buy')}}\n \n \n
\n
\n
\n\n \n
\n \n \n *********\n \n \n {{t('license-valid')}}\n \n \n {{t('license-not-valid')}}\n \n \n \n
\n {{t('loading')}}\n
\n
\n\n
\n {{t('no-license-key')}}\n
\n
\n
\n\n
\n
\n

{{t('activate-description')}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n\n\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnInit\n} from '@angular/core';\nimport { FormControl, FormGroup, Validators, ReactiveFormsModule } from \"@angular/forms\";\nimport {AccountService} from \"../../_services/account.service\";\nimport {ScrobblingService} from \"../../_services/scrobbling.service\";\nimport {ToastrService} from \"ngx-toastr\";\nimport {ConfirmService} from \"../../shared/confirm.service\";\nimport { LoadingComponent } from '../../shared/loading/loading.component';\nimport { NgbTooltip, NgbCollapse } from '@ng-bootstrap/ng-bootstrap';\nimport { NgIf } from '@angular/common';\nimport {environment} from \"../../../environments/environment\";\nimport {translate, TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-license',\n templateUrl: './license.component.html',\n styleUrls: ['./license.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, NgbTooltip, LoadingComponent, NgbCollapse, ReactiveFormsModule, TranslocoDirective]\n})\nexport class LicenseComponent implements OnInit {\n\n formGroup: FormGroup = new FormGroup({});\n isViewMode: boolean = true;\n\n hasValidLicense: boolean = false;\n hasLicense: boolean = false;\n isChecking: boolean = false;\n isSaving: boolean = false;\n\n buyLink = environment.buyLink;\n manageLink = environment.manageLink;\n\n\n\n constructor(public accountService: AccountService, private scrobblingService: ScrobblingService,\n private toastr: ToastrService, private readonly cdRef: ChangeDetectorRef,\n private confirmService: ConfirmService) { }\n\n ngOnInit(): void {\n this.formGroup.addControl('licenseKey', new FormControl('', [Validators.required]));\n this.formGroup.addControl('email', new FormControl('', [Validators.required]));\n this.accountService.hasAnyLicense().subscribe(res => {\n this.hasLicense = res;\n this.cdRef.markForCheck();\n });\n this.accountService.hasValidLicense().subscribe(res => {\n this.hasValidLicense = res;\n this.cdRef.markForCheck();\n });\n }\n\n\n resetForm() {\n this.formGroup.get('licenseKey')?.setValue('');\n this.formGroup.get('email')?.setValue('');\n this.cdRef.markForCheck();\n }\n\n saveForm() {\n this.isSaving = true;\n this.cdRef.markForCheck();\n this.accountService.updateUserLicense(this.formGroup.get('licenseKey')!.value.trim(), this.formGroup.get('email')!.value.trim())\n .subscribe(() => {\n this.accountService.hasValidLicense(true).subscribe(isValid => {\n this.hasValidLicense = isValid;\n if (!this.hasValidLicense) {\n this.toastr.info(translate('toasts.k+-license-saved'));\n } else {\n this.toastr.success(translate('toasts.k+-unlocked'));\n }\n this.hasLicense = this.formGroup.get('licenseKey')!.value.length > 0;\n this.resetForm();\n this.isViewMode = true;\n this.isSaving = false;\n this.cdRef.markForCheck();\n });\n }, err => {\n if (err.hasOwnProperty('error')) {\n this.toastr.error(JSON.parse(err['error'])['message']);\n } else {\n this.toastr.error(translate('toasts.k+-error'));\n }\n this.isSaving = false;\n this.cdRef.markForCheck();\n });\n }\n\n async deleteLicense() {\n if (!await this.confirmService.confirm(translate('k+-delete-key'))) {\n return;\n }\n\n this.accountService.deleteLicense().subscribe(() => {\n this.resetForm();\n this.toggleViewMode();\n this.validateLicense();\n });\n\n }\n\n\n toggleViewMode() {\n this.isViewMode = !this.isViewMode;\n this.resetForm();\n }\n\n validateLicense() {\n this.isChecking = true;\n this.accountService.hasValidLicense(true).subscribe(res => {\n this.hasValidLicense = res;\n this.isChecking = false;\n this.cdRef.markForCheck();\n });\n }\n}\n","\n
\n
\n

{{t('title')}}

\n
\n \n {{t('library-scan-tooltip')}}\n \n \n
\n\n
\n \n {{t('library-database-backup-tooltip')}}\n \n \n
\n\n

{{t('adhoc-tasks-title')}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{t('job-title-header')}}{{t('description-header')}}{{t('action-header')}}
\n {{t(task.name)}}\n \n {{t(task.description)}}\n \n \n
\n\n

{{t('recurring-tasks-title')}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{t('job-title-header')}}{{t('last-executed-header')}}{{t('cron-header')}}
\n {{task.title | titlecase}}\n {{task.lastExecutionUtc | translocoDate: {dateStyle: 'short', timeStyle: 'medium' } | defaultValue }}{{task.cron}}
\n\n\n
\n \n \n \n
\n
\n
\n\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {ToastrService} from 'ngx-toastr';\nimport {SettingsService} from '../settings.service';\nimport {ServerSettings} from '../_models/server-settings';\nimport {shareReplay, take} from 'rxjs/operators';\nimport {defer, forkJoin, Observable, of} from 'rxjs';\nimport {ServerService} from 'src/app/_services/server.service';\nimport {Job} from 'src/app/_models/job/job';\nimport {UpdateNotificationModalComponent} from 'src/app/shared/update-notification/update-notification-modal.component';\nimport {NgbModal, NgbTooltip} from '@ng-bootstrap/ng-bootstrap';\nimport {DownloadService} from 'src/app/shared/_services/download.service';\nimport {DefaultValuePipe} from '../../pipe/default-value.pipe';\nimport {AsyncPipe, DatePipe, NgFor, NgIf, NgTemplateOutlet, TitleCasePipe} from '@angular/common';\nimport {TranslocoModule, TranslocoService} from \"@ngneat/transloco\";\nimport {TranslocoLocaleModule} from \"@ngneat/transloco-locale\";\n\ninterface AdhocTask {\n name: string;\n description: string;\n api: Observable;\n successMessage: string;\n successFunction?: (data: any) => void;\n}\n\n@Component({\n selector: 'app-manage-tasks-settings',\n templateUrl: './manage-tasks-settings.component.html',\n styleUrls: ['./manage-tasks-settings.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf, ReactiveFormsModule, NgbTooltip, NgFor, AsyncPipe, TitleCasePipe, DatePipe, DefaultValuePipe, TranslocoModule, NgTemplateOutlet, TranslocoLocaleModule]\n})\nexport class ManageTasksSettingsComponent implements OnInit {\n\n private readonly translocoService = inject(TranslocoService);\n private readonly cdRef = inject(ChangeDetectorRef);\n serverSettings!: ServerSettings;\n settingsForm: FormGroup = new FormGroup({});\n taskFrequencies: Array = [];\n logLevels: Array = [];\n\n recurringTasks$: Observable> = of([]);\n // noinspection JSVoidFunctionReturnValueUsed\n adhocTasks: Array = [\n {\n name: 'convert-media-task',\n description: 'convert-media-task-desc',\n api: this.serverService.convertMedia(),\n successMessage: 'convert-media-task-success'\n },\n {\n name: 'bust-cache-task',\n description: 'bust-cache-task-desc',\n api: this.serverService.bustCache(),\n successMessage: 'bust-cache-task-success'\n },\n {\n name: 'clear-reading-cache-task',\n description: 'clear-reading-cache-task-desc',\n api: this.serverService.clearCache(),\n successMessage: 'clear-reading-cache-task-success'\n },\n {\n name: 'clean-up-want-to-read-task',\n description: 'clean-up-want-to-read-task-desc',\n api: this.serverService.cleanupWantToRead(),\n successMessage: 'clean-up-want-to-read-task-success'\n },\n {\n name: 'backup-database-task',\n description: 'backup-database-task-desc',\n api: this.serverService.backupDatabase(),\n successMessage: 'backup-database-task-success'\n },\n {\n name: 'download-logs-task',\n description: 'download-logs-task-desc',\n api: defer(() => of(this.downloadService.download('logs', undefined))),\n successMessage: ''\n },\n {\n name: 'analyze-files-task',\n description: 'analyze-files-task-desc',\n api: this.serverService.analyzeFiles(),\n successMessage: 'analyze-files-task-success'\n },\n {\n name: 'check-for-updates-task',\n description: 'check-for-updates-task-desc',\n api: this.serverService.checkForUpdate(),\n successMessage: '',\n successFunction: (update) => {\n if (update === null) {\n this.toastr.info(this.translocoService.translate('toasts.no-updates'));\n return;\n }\n const modalRef = this.modalService.open(UpdateNotificationModalComponent, { scrollable: true, size: 'lg' });\n modalRef.componentInstance.updateData = update;\n }\n },\n ];\n\n constructor(private settingsService: SettingsService, private toastr: ToastrService,\n private serverService: ServerService, private modalService: NgbModal,\n private downloadService: DownloadService) { }\n\n ngOnInit(): void {\n forkJoin({\n frequencies: this.settingsService.getTaskFrequencies(),\n levels: this.settingsService.getLoggingLevels(),\n settings: this.settingsService.getServerSettings()\n }).subscribe(result => {\n this.taskFrequencies = result.frequencies;\n this.logLevels = result.levels;\n this.serverSettings = result.settings;\n this.settingsForm.addControl('taskScan', new FormControl(this.serverSettings.taskScan, [Validators.required]));\n this.settingsForm.addControl('taskBackup', new FormControl(this.serverSettings.taskBackup, [Validators.required]));\n this.cdRef.markForCheck();\n });\n\n this.recurringTasks$ = this.serverService.getRecurringJobs().pipe(shareReplay());\n this.cdRef.markForCheck();\n }\n\n resetForm() {\n this.settingsForm.get('taskScan')?.setValue(this.serverSettings.taskScan);\n this.settingsForm.get('taskBackup')?.setValue(this.serverSettings.taskBackup);\n this.settingsForm.markAsPristine();\n this.cdRef.markForCheck();\n }\n\n async saveSettings() {\n const modelSettings = Object.assign({}, this.serverSettings);\n modelSettings.taskBackup = this.settingsForm.get('taskBackup')?.value;\n modelSettings.taskScan = this.settingsForm.get('taskScan')?.value;\n\n this.settingsService.updateServerSettings(modelSettings).pipe(take(1)).subscribe(async (settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.recurringTasks$ = this.serverService.getRecurringJobs().pipe(shareReplay());\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n this.cdRef.markForCheck();\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n resetToDefaults() {\n this.settingsService.resetServerSettings().pipe(take(1)).subscribe(async (settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n runAdhoc(task: AdhocTask) {\n task.api.subscribe((data: any) => {\n if (task.successMessage.length > 0) {\n this.toastr.success(this.translocoService.translate('manage-tasks-settings.' + task.successMessage));\n }\n\n if (task.successFunction) {\n task.successFunction(data);\n }\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\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 \n \n \n \n \n \n \n \n
\n {{t('year-header')}}\n \n {{t('count-header')}}\n
\n {{item.name}}\n \n {{item.value | number:'1.0-0'}}\n
\n
\n
\n
\n\n\n\n\n
\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n QueryList,\n ViewChildren\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { PieChartModule } from '@swimlane/ngx-charts';\nimport { Observable, map, combineLatest, BehaviorSubject } from 'rxjs';\nimport { StatisticsService } from 'src/app/_services/statistics.service';\nimport { compare, SortableHeader, SortEvent } from 'src/app/_single-module/table/_directives/sortable-header.directive';\nimport { PieDataItem } from '../../_models/pie-data-item';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport { SortableHeader as SortableHeader_1 } from '../../../_single-module/table/_directives/sortable-header.directive';\nimport { NgIf, NgFor, AsyncPipe, DecimalPipe } from '@angular/common';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-publication-status-stats',\n templateUrl: './publication-status-stats.component.html',\n styleUrls: ['./publication-status-stats.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgIf, PieChartModule, SortableHeader_1, NgFor, AsyncPipe, DecimalPipe, TranslocoDirective]\n})\nexport class PublicationStatusStatsComponent {\n\n @ViewChildren(SortableHeader) headers!: QueryList>;\n\n publicationStatues$!: Observable>;\n\n currentSort = new BehaviorSubject>({column: 'value', direction: 'asc'});\n currentSort$: Observable> = this.currentSort.asObservable();\n\n view: [number, number] = [700, 400];\n\n private readonly destroyRef = inject(DestroyRef);\n\n formControl: FormControl = new FormControl(true, []);\n\n\n constructor(private statService: StatisticsService) {\n this.publicationStatues$ = combineLatest([this.currentSort$, this.statService.getPublicationStatus()]).pipe(\n map(([sortConfig, data]) => {\n return (sortConfig.column) ? data.sort((a: PieDataItem, b: PieDataItem) => {\n if (sortConfig.column === '') return 0;\n const res = compare(a[sortConfig.column], b[sortConfig.column]);\n return sortConfig.direction === 'asc' ? res : -res;\n }) : data;\n }),\n takeUntilDestroyed(this.destroyRef)\n );\n }\n\n onSort(evt: SortEvent) {\n this.currentSort.next(evt);\n\n // Must clear out headers here\n this.headers.forEach((header) => {\n if (header.sortable !== evt.column) {\n header.direction = '';\n }\n });\n }\n}\n","\n
\n
\n
\n

{{t('format-title')}}\n \n

\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n\n {{t('format-tooltip')}}\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 {{t('extension-header')}}\n \n {{t('format-header')}}\n \n {{t('total-size-header')}}\n \n {{t('total-files-header')}}\n
\n {{item.extension || t('not-classified')}}\n \n {{item.format | mangaFormat}}\n \n {{item.totalSize | bytes}}\n \n {{item.totalFiles | number:'1.0-0'}}\n
{{t('total-file-size-title')}}{{((rawData$ | async)?.totalFileSize || 0) | bytes}}
\n
\n
\n\n\n
\n\n\n\n
\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n QueryList,\n ViewChildren\n} from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { PieChartModule } from '@swimlane/ngx-charts';\nimport { Observable, BehaviorSubject, combineLatest, map, shareReplay } from 'rxjs';\nimport { StatisticsService } from 'src/app/_services/statistics.service';\nimport { SortableHeader, SortEvent, compare } from 'src/app/_single-module/table/_directives/sortable-header.directive';\nimport { FileExtension, FileExtensionBreakdown } from '../../_models/file-breakdown';\nimport { PieDataItem } from '../../_models/pie-data-item';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport { MangaFormatPipe } from '../../../pipe/manga-format.pipe';\nimport { BytesPipe } from '../../../pipe/bytes.pipe';\nimport { SortableHeader as SortableHeader_1 } from '../../../_single-module/table/_directives/sortable-header.directive';\nimport { NgIf, NgFor, AsyncPipe, DecimalPipe } from '@angular/common';\nimport { NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\nimport {TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\n\nexport interface StackedBarChartDataItem {\n name: string,\n series: Array;\n}\n\n@Component({\n selector: 'app-file-breakdown-stats',\n templateUrl: './file-breakdown-stats.component.html',\n styleUrls: ['./file-breakdown-stats.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgbTooltip, ReactiveFormsModule, NgIf, PieChartModule, SortableHeader_1, NgFor, AsyncPipe, DecimalPipe, BytesPipe, MangaFormatPipe, TranslocoDirective]\n})\nexport class FileBreakdownStatsComponent {\n\n @ViewChildren(SortableHeader) headers!: QueryList>;\n\n rawData$!: Observable;\n files$!: Observable>;\n vizData2$!: Observable>;\n\n currentSort = new BehaviorSubject>({column: 'extension', direction: 'asc'});\n currentSort$: Observable> = this.currentSort.asObservable();\n\n private readonly destroyRef = inject(DestroyRef);\n\n view: [number, number] = [700, 400];\n\n formControl: FormControl = new FormControl(true, []);\n\n\n constructor(private statService: StatisticsService, private translocoService: TranslocoService) {\n this.rawData$ = this.statService.getFileBreakdown().pipe(takeUntilDestroyed(this.destroyRef), shareReplay());\n\n this.files$ = combineLatest([this.currentSort$, this.rawData$]).pipe(\n map(([sortConfig, data]) => {\n return {sortConfig, fileBreakdown: data.fileBreakdown};\n }),\n map(({ sortConfig, fileBreakdown }) => {\n return (sortConfig.column) ? fileBreakdown.sort((a: FileExtension, b: FileExtension) => {\n if (sortConfig.column === '') return 0;\n const res = compare(a[sortConfig.column], b[sortConfig.column]);\n return sortConfig.direction === 'asc' ? res : -res;\n }) : fileBreakdown;\n }),\n takeUntilDestroyed(this.destroyRef)\n );\n\n\n this.vizData2$ = this.files$.pipe(takeUntilDestroyed(this.destroyRef), map(data => data.map(d => {\n return {name: d.extension || this.translocoService.translate('file-breakdown-stats.not-classified'), value: d.totalFiles, extra: d.totalSize};\n })));\n }\n\n onSort(evt: SortEvent) {\n this.currentSort.next(evt);\n\n // Must clear out headers here\n this.headers.forEach((header) => {\n if (header.sortable !== evt.column) {\n header.direction = '';\n }\n });\n }\n\n}\n","\n
\n
\n \n
\n \n {{stats.seriesCount | compactNumber}} Series\n \n
\n
\n
\n\n \n
\n \n {{stats.volumeCount | compactNumber}} Volumes\n \n
\n
\n
\n\n \n
\n \n {{stats.totalFiles | compactNumber}} Files\n \n
\n
\n
\n\n \n
\n \n {{stats.totalSize | bytes}}\n \n
\n
\n
\n\n \n
\n \n {{t('genre-count', {num: stats.totalGenres | compactNumber})}}\n \n
\n
\n
\n\n \n
\n \n {{t('tag-count', {num: stats.totalTags | compactNumber})}}\n \n
\n
\n
\n\n \n
\n \n {{t('people-count', {num: stats.totalPeople | compactNumber})}}\n \n
\n
\n
\n\n \n
\n \n {{stats.totalReadingTime | timeDuration}}\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, Component, DestroyRef, HostListener, inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {NgbModal} from '@ng-bootstrap/ng-bootstrap';\nimport {map, Observable, ReplaySubject, shareReplay} from 'rxjs';\nimport {FilterUtilitiesService} from 'src/app/shared/_services/filter-utilities.service';\nimport {Breakpoint, UtilityService} from 'src/app/shared/_services/utility.service';\nimport {Series} from 'src/app/_models/series';\nimport {ImageService} from 'src/app/_services/image.service';\nimport {MetadataService} from 'src/app/_services/metadata.service';\nimport {StatisticsService} from 'src/app/_services/statistics.service';\nimport {PieDataItem} from '../../_models/pie-data-item';\nimport {ServerStatistics} from '../../_models/server-statistics';\nimport {GenericListModalComponent} from '../_modals/generic-list-modal/generic-list-modal.component';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {BytesPipe} from '../../../pipe/bytes.pipe';\nimport {TimeDurationPipe} from '../../../pipe/time-duration.pipe';\nimport {CompactNumberPipe} from '../../../pipe/compact-number.pipe';\nimport {DayBreakdownComponent} from '../day-breakdown/day-breakdown.component';\nimport {ReadingActivityComponent} from '../reading-activity/reading-activity.component';\nimport {PublicationStatusStatsComponent} from '../publication-status-stats/publication-status-stats.component';\nimport {FileBreakdownStatsComponent} from '../file-breakdown-stats/file-breakdown-stats.component';\nimport {TopReadersComponent} from '../top-readers/top-readers.component';\nimport {StatListComponent} from '../stat-list/stat-list.component';\nimport {IconAndTitleComponent} from '../../../shared/icon-and-title/icon-and-title.component';\nimport {AsyncPipe, DecimalPipe, NgIf} from '@angular/common';\nimport {TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\nimport {FilterComparison} from \"../../../_models/metadata/v2/filter-comparison\";\nimport {FilterField} from \"../../../_models/metadata/v2/filter-field\";\n\n@Component({\n selector: 'app-server-stats',\n templateUrl: './server-stats.component.html',\n styleUrls: ['./server-stats.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, IconAndTitleComponent, StatListComponent, TopReadersComponent, FileBreakdownStatsComponent,\n PublicationStatusStatsComponent, ReadingActivityComponent, DayBreakdownComponent, AsyncPipe, DecimalPipe,\n CompactNumberPipe, TimeDurationPipe, BytesPipe, TranslocoDirective]\n})\nexport class ServerStatsComponent {\n\n releaseYears$!: Observable>;\n mostActiveUsers$!: Observable>;\n mostActiveLibrary$!: Observable>;\n mostActiveSeries$!: Observable>;\n recentlyRead$!: Observable>;\n stats$!: Observable;\n seriesImage: (data: PieDataItem) => string;\n openSeries = (data: PieDataItem) => {\n const series = data.extra as Series;\n this.router.navigate(['library', series.libraryId, 'series', series.id]);\n }\n\n breakpointSubject = new ReplaySubject(1);\n breakpoint$: Observable = this.breakpointSubject.asObservable();\n\n private readonly destroyRef = inject(DestroyRef);\n\n @HostListener('window:resize', ['$event'])\n @HostListener('window:orientationchange', ['$event'])\n onResize() {\n this.breakpointSubject.next(this.utilityService.getActiveBreakpoint());\n }\n\n\n translocoService = inject(TranslocoService);\n get Breakpoint() { return Breakpoint; }\n\n constructor(private statService: StatisticsService, private router: Router, private imageService: ImageService,\n private metadataService: MetadataService, private modalService: NgbModal, private utilityService: UtilityService,\n private filterUtilityService: FilterUtilitiesService) {\n this.seriesImage = (data: PieDataItem) => {\n if (data.extra) return this.imageService.getSeriesCoverImage(data.extra.id);\n return '';\n }\n\n this.breakpointSubject.next(this.utilityService.getActiveBreakpoint());\n\n this.stats$ = this.statService.getServerStatistics().pipe(takeUntilDestroyed(this.destroyRef), shareReplay());\n this.releaseYears$ = this.statService.getTopYears().pipe(takeUntilDestroyed(this.destroyRef));\n this.mostActiveUsers$ = this.stats$.pipe(\n map(d => d.mostActiveUsers),\n map(userCounts => userCounts.map(count => {\n return {name: count.value.username, value: count.count};\n })),\n takeUntilDestroyed(this.destroyRef)\n );\n\n this.mostActiveLibrary$ = this.stats$.pipe(\n map(d => d.mostActiveLibraries),\n map(counts => counts.map(count => {\n return {name: count.value.name, value: count.count};\n })),\n takeUntilDestroyed(this.destroyRef)\n );\n\n this.mostActiveSeries$ = this.stats$.pipe(\n map(d => d.mostReadSeries),\n map(counts => counts.map(count => {\n return {name: count.value.name, value: count.count, extra: count.value};\n })),\n takeUntilDestroyed(this.destroyRef)\n );\n\n this.recentlyRead$ = this.stats$.pipe(\n map(d => d.recentlyRead),\n map(counts => counts.map(count => {\n return {name: count.name, value: -1, extra: count};\n })),\n takeUntilDestroyed(this.destroyRef)\n );\n }\n\n openGenreList() {\n this.metadataService.getAllGenres().subscribe(genres => {\n const ref = this.modalService.open(GenericListModalComponent, { scrollable: true });\n ref.componentInstance.items = genres.map(t => t.title);\n ref.componentInstance.title = this.translocoService.translate('server-stats.genres');\n ref.componentInstance.clicked = (item: string) => {\n this.filterUtilityService.applyFilter(['all-series'], FilterField.Genres, FilterComparison.Contains, genres.filter(g => g.title === item)[0].id + '');\n };\n });\n }\n\n openTagList() {\n this.metadataService.getAllTags().subscribe(tags => {\n const ref = this.modalService.open(GenericListModalComponent, { scrollable: true });\n ref.componentInstance.items = tags.map(t => t.title);\n ref.componentInstance.title = this.translocoService.translate('server-stats.tags');\n ref.componentInstance.clicked = (item: string) => {\n this.filterUtilityService.applyFilter(['all-series'], FilterField.Tags, FilterComparison.Contains, tags.filter(g => g.title === item)[0].id + '');\n };\n });\n }\n\n openPeopleList() {\n this.metadataService.getAllPeople().subscribe(people => {\n const ref = this.modalService.open(GenericListModalComponent, { scrollable: true });\n ref.componentInstance.items = [...new Set(people.map(person => person.name))];\n ref.componentInstance.title = this.translocoService.translate('server-stats.people');\n });\n }\n\n\n\n}\n","\n
\n

{{t('title')}}

\n
\n
\n
\n
{{t('version-title')}}
\n
{{serverInfo.kavitaVersion}}
\n\n
{{t('installId-title')}}
\n
{{serverInfo.installId}}
\n
\n
\n\n

{{t('more-info-title')}}

\n
\n
\n
{{t('home-page-title')}}
\n \n
\n
\n
{{t('wiki-title')}}
\n \n
\n
\n
{{t('discord-title')}}
\n \n
\n
\n
{{t('donations-title')}}
\n \n
\n
\n
{{t('source-title')}}
\n \n
\n
\n
{{t('feature-request-title')}}
\n \n
\n
\n\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit} from '@angular/core';\nimport {ServerService} from 'src/app/_services/server.service';\nimport {ServerInfoSlim} from '../_models/server-info';\nimport {NgIf} from '@angular/common';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-manage-system',\n templateUrl: './manage-system.component.html',\n styleUrls: ['./manage-system.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf, TranslocoDirective]\n})\nexport class ManageSystemComponent implements OnInit {\n\n serverInfo!: ServerInfoSlim;\n private readonly cdRef = inject(ChangeDetectorRef);\n\n\n constructor(public serverService: ServerService) { }\n\n ngOnInit(): void {\n\n this.serverService.getServerInfo().subscribe(info => {\n this.serverInfo = info;\n this.cdRef.markForCheck();\n });\n }\n}\n","\n \n
\n
\n {{item.timestamp | date}} [{{item.level}}] {{item.message}}\n
\n
\n
\n
","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';\nimport { BehaviorSubject, take } from 'rxjs';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { environment } from 'src/environments/environment';\nimport { VirtualScrollerModule } from '@iharbeck/ngx-virtual-scroller';\nimport { NgIf, NgFor, AsyncPipe, DatePipe } from '@angular/common';\n\ninterface LogMessage {\n timestamp: string;\n level: 'Information' | 'Debug' | 'Warning' | 'Error';\n message: string;\n exception: string;\n}\n\n@Component({\n selector: 'app-manage-logs',\n templateUrl: './manage-logs.component.html',\n styleUrls: ['./manage-logs.component.scss'],\n standalone: true,\n imports: [NgIf, VirtualScrollerModule, NgFor, AsyncPipe, DatePipe]\n})\nexport class ManageLogsComponent implements OnInit, OnDestroy {\n\n hubUrl = environment.hubUrl;\n private hubConnection!: HubConnection;\n\n logsSource = new BehaviorSubject([]);\n public logs$ = this.logsSource.asObservable();\n\n constructor(private accountService: AccountService) { }\n\n ngOnInit(): void {\n this.accountService.currentUser$.pipe(take(1)).subscribe(user => {\n if (user) {\n this.hubConnection = new HubConnectionBuilder()\n .withUrl(this.hubUrl + 'logs', {\n accessTokenFactory: () => user.token\n })\n .withAutomaticReconnect()\n .build();\n\n console.log('Starting log connection');\n\n this.hubConnection\n .start()\n .catch(err => console.error(err));\n\n this.hubConnection.on('SendLogAsObject', resp => {\n const payload = resp.arguments[0] as LogMessage;\n const logMessage = {timestamp: payload.timestamp, level: payload.level, message: payload.message, exception: payload.exception};\n // TODO: It might be better to just have a queue to show this\n const values = this.logsSource.getValue();\n values.push(logMessage);\n this.logsSource.next(values);\n });\n }\n });\n\n }\n\n ngOnDestroy(): void {\n // unsubscrbe from signalr connection\n if (this.hubConnection) {\n this.hubConnection.stop().catch(err => console.error(err));\n console.log('Stoping log connection');\n }\n }\n\n}\n","import {inject, Pipe, PipeTransform} from '@angular/core';\nimport { LibraryType } from '../_models/library';\nimport {TranslocoService} from \"@ngneat/transloco\";\n\n/**\n * Returns the name of the LibraryType\n */\n@Pipe({\n name: 'libraryType',\n standalone: true\n})\nexport class LibraryTypePipe implements PipeTransform {\n\n translocoService = inject(TranslocoService);\n transform(libraryType: LibraryType): string {\n switch (libraryType) {\n case LibraryType.Book:\n return this.translocoService.translate('library-type-pipe.book');\n case LibraryType.Comic:\n return this.translocoService.translate('library-type-pipe.comic');\n case LibraryType.Manga:\n return this.translocoService.translate('library-type-pipe.manga');\n default:\n return '';\n }\n }\n\n}\n","\n
\n
\n

{{t('title')}}

\n
\n
\n
\n
    \n
  • \n
    \n

    \n {{library.name}} \n
    \n \n \n \n
    \n

    \n
    \n
    {{t('type-title')}} {{library.type | libraryType}}
    \n
    {{t('shared-folders-title')}} {{library.folders.length + ' folders'}}
    \n
    \n {{t('last-scanned-title')}}\n Never\n \n {{library.lastScanned | timeAgo | defaultDate}}\n \n
    \n
  • \n
  • \n
    \n {{t('loading')}}\n
    \n
  • \n
  • \n {{t('no-data')}}\n
  • \n
\n
\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n inject,\n OnInit\n} from '@angular/core';\nimport { NgbModal, NgbTooltip } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { distinctUntilChanged, filter, take } from 'rxjs/operators';\nimport { ConfirmService } from 'src/app/shared/confirm.service';\nimport { LibrarySettingsModalComponent } from 'src/app/sidenav/_modals/library-settings-modal/library-settings-modal.component';\nimport { NotificationProgressEvent } from 'src/app/_models/events/notification-progress-event';\nimport { ScanSeriesEvent } from 'src/app/_models/events/scan-series-event';\nimport { Library } from 'src/app/_models/library';\nimport { LibraryService } from 'src/app/_services/library.service';\nimport { EVENTS, Message, MessageHubService } from 'src/app/_services/message-hub.service';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport { SentenceCasePipe } from '../../pipe/sentence-case.pipe';\nimport { TimeAgoPipe } from '../../pipe/time-ago.pipe';\nimport { LibraryTypePipe } from '../../pipe/library-type.pipe';\nimport { RouterLink } from '@angular/router';\nimport { NgFor, NgIf } from '@angular/common';\nimport {translate, TranslocoModule} from \"@ngneat/transloco\";\nimport {DefaultDatePipe} from \"../../pipe/default-date.pipe\";\n\n@Component({\n selector: 'app-manage-library',\n templateUrl: './manage-library.component.html',\n styleUrls: ['./manage-library.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgFor, RouterLink, NgbTooltip, NgIf, LibraryTypePipe, TimeAgoPipe, SentenceCasePipe, TranslocoModule, DefaultDatePipe]\n})\nexport class ManageLibraryComponent implements OnInit {\n\n libraries: Library[] = [];\n loading = false;\n /**\n * If a deletion is in progress for a library\n */\n deletionInProgress: boolean = false;\n libraryTrackBy = (index: number, item: Library) => `${item.name}_${item.lastScanned}_${item.type}_${item.folders.length}`;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(private modalService: NgbModal, private libraryService: LibraryService,\n private toastr: ToastrService, private confirmService: ConfirmService,\n private hubService: MessageHubService, private readonly cdRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.getLibraries();\n\n // when a progress event comes in, show it on the UI next to library\n this.hubService.messages$.pipe(takeUntilDestroyed(this.destroyRef),\n filter(event => event.event === EVENTS.ScanSeries || event.event === EVENTS.NotificationProgress),\n distinctUntilChanged((prev: Message, curr: Message) =>\n this.hasMessageChanged(prev, curr)))\n .subscribe((event: Message) => {\n let libId = 0;\n if (event.event === EVENTS.ScanSeries) {\n libId = (event.payload as ScanSeriesEvent).libraryId;\n } else {\n if ((event.payload as NotificationProgressEvent).body.hasOwnProperty('libraryId')) {\n libId = (event.payload as NotificationProgressEvent).body.libraryId;\n }\n }\n\n this.libraryService.getLibraries().pipe(take(1)).subscribe(libraries => {\n const newLibrary = libraries.find(lib => lib.id === libId);\n const existingLibrary = this.libraries.find(lib => lib.id === libId);\n if (existingLibrary !== undefined) {\n existingLibrary.lastScanned = newLibrary?.lastScanned || existingLibrary.lastScanned;\n this.cdRef.markForCheck();\n }\n });\n });\n }\n\n hasMessageChanged(prev: Message, curr: Message) {\n if (curr.event !== prev.event) return true;\n if (curr.event === EVENTS.ScanSeries) {\n return (prev.payload as ScanSeriesEvent).libraryId === (curr.payload as ScanSeriesEvent).libraryId;\n }\n if (curr.event === EVENTS.NotificationProgress) {\n return (prev.payload as NotificationProgressEvent).eventType != (curr.payload as NotificationProgressEvent).eventType;\n }\n return false;\n }\n\n getLibraries() {\n this.loading = true;\n this.cdRef.markForCheck();\n this.libraryService.getLibraries().pipe(take(1), takeUntilDestroyed(this.destroyRef)).subscribe(libraries => {\n this.libraries = [...libraries];\n this.loading = false;\n this.cdRef.markForCheck();\n });\n }\n\n editLibrary(library: Library) {\n const modalRef = this.modalService.open(LibrarySettingsModalComponent, { size: 'xl' });\n modalRef.componentInstance.library = library;\n modalRef.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(refresh => {\n if (refresh) {\n this.getLibraries();\n }\n });\n }\n\n addLibrary() {\n const modalRef = this.modalService.open(LibrarySettingsModalComponent, { size: 'xl' });\n modalRef.closed.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(refresh => {\n if (refresh) {\n this.getLibraries();\n }\n });\n }\n\n async deleteLibrary(library: Library) {\n if (await this.confirmService.confirm(translate('toasts.confirm-library-delete', {name: library.name}))) {\n this.deletionInProgress = true;\n this.libraryService.delete(library.id).pipe(take(1)).subscribe(() => {\n this.deletionInProgress = false;\n this.cdRef.markForCheck();\n this.getLibraries();\n this.toastr.success(translate('toasts.library-deleted', {name: library.name}));\n });\n }\n }\n\n scanLibrary(library: Library) {\n this.libraryService.scan(library.id).pipe(take(1)).subscribe(() => {\n this.toastr.info(translate('toasts.scan-queued', {name: library.name}));\n });\n }\n}\n","\n
\n
\n

{{t('title', {username: member.username | sentenceCase})}}

\n \n
\n
\n
\n {{t('error-label')}} {{errorMessage}}\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n","import { Component, Input } from '@angular/core';\nimport { FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Member } from 'src/app/_models/auth/member';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { SentenceCasePipe } from '../../../pipe/sentence-case.pipe';\nimport { NgIf } from '@angular/common';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-reset-password-modal',\n templateUrl: './reset-password-modal.component.html',\n styleUrls: ['./reset-password-modal.component.scss'],\n standalone: true,\n imports: [ReactiveFormsModule, NgIf, SentenceCasePipe, TranslocoDirective]\n})\nexport class ResetPasswordModalComponent {\n\n @Input({required: true}) member!: Member;\n errorMessage = '';\n resetPasswordForm: FormGroup = new FormGroup({\n password: new FormControl('', [Validators.required]),\n });\n\n constructor(public modal: NgbActiveModal, private accountService: AccountService) { }\n\n save() {\n this.accountService.resetPassword(this.member.username, this.resetPasswordForm.value.password,'').subscribe(() => {\n this.modal.close();\n });\n }\n\n close() {\n this.modal.close();\n }\n\n}\n","\n

{{t('title')}}

\n
\n
0\">\n \n \n
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n {{t('no-data')}}\n
  • \n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormBuilder, ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { Library } from 'src/app/_models/library';\nimport { Member } from 'src/app/_models/auth/member';\nimport { LibraryService } from 'src/app/_services/library.service';\nimport { SelectionModel } from 'src/app/typeahead/_components/typeahead.component';\nimport { NgIf, NgFor } from '@angular/common';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-library-selector',\n templateUrl: './library-selector.component.html',\n styleUrls: ['./library-selector.component.scss'],\n standalone: true,\n imports: [NgIf, ReactiveFormsModule, FormsModule, NgFor, TranslocoDirective]\n})\nexport class LibrarySelectorComponent implements OnInit {\n\n @Input() member: Member | undefined;\n @Output() selected: EventEmitter> = new EventEmitter>();\n\n allLibraries: Library[] = [];\n selectedLibraries: Array<{selected: boolean, data: Library}> = [];\n selections!: SelectionModel;\n selectAll: boolean = false;\n isLoading: boolean = false;\n\n get hasSomeSelected() {\n return this.selections != null && this.selections.hasSomeSelected();\n }\n\n constructor(private libraryService: LibraryService, private fb: FormBuilder) { }\n\n ngOnInit(): void {\n this.libraryService.getLibraries().subscribe(libs => {\n this.allLibraries = libs;\n this.setupSelections();\n });\n }\n\n\n setupSelections() {\n this.selections = new SelectionModel(false, this.allLibraries);\n this.isLoading = false;\n\n // If a member is passed in, then auto-select their libraries\n if (this.member !== undefined) {\n this.member.libraries.forEach(lib => {\n this.selections.toggle(lib, true, (a, b) => a.name === b.name);\n });\n this.selectAll = this.selections.selected().length === this.allLibraries.length;\n this.selected.emit(this.selections.selected());\n }\n }\n\n toggleAll() {\n this.selectAll = !this.selectAll;\n this.allLibraries.forEach(s => this.selections.toggle(s, this.selectAll));\n this.selected.emit(this.selections.selected());\n }\n\n handleSelection(item: Library) {\n this.selections.toggle(item);\n const numberOfSelected = this.selections.selected().length;\n if (numberOfSelected == 0) {\n this.selectAll = false;\n } else if (numberOfSelected == this.selectedLibraries.length) {\n this.selectAll = true;\n }\n\n this.selected.emit(this.selections.selected());\n }\n\n}\n","\n

{{t('title')}}

\n
    \n
  • \n
    \n \n \n
    \n
  • \n
\n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { Member } from 'src/app/_models/auth/member';\nimport { User } from 'src/app/_models/user';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { NgFor } from '@angular/common';\nimport {TranslocoDirective,} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-role-selector',\n templateUrl: './role-selector.component.html',\n styleUrls: ['./role-selector.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgFor, ReactiveFormsModule, FormsModule, TranslocoDirective]\n})\nexport class RoleSelectorComponent implements OnInit {\n\n /**\n * This must have roles\n */\n @Input() member: Member | undefined | User;\n /**\n * Allows the selection of Admin role\n */\n @Input() allowAdmin: boolean = false;\n @Output() selected: EventEmitter = new EventEmitter();\n\n allRoles: string[] = [];\n selectedRoles: Array<{selected: boolean, disabled: boolean, data: string}> = [];\n\n constructor(public modal: NgbActiveModal, private accountService: AccountService, private readonly cdRef: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.accountService.getRoles().subscribe(roles => {\n const bannedRoles = ['Pleb'];\n if (!this.allowAdmin) {\n bannedRoles.push('Admin');\n }\n roles = roles.filter(item => !bannedRoles.includes(item));\n this.allRoles = roles;\n this.selectedRoles = roles.map(item => {\n return {selected: false, disabled: false, data: item};\n });\n this.cdRef.markForCheck();\n this.preselect();\n this.selected.emit(this.selectedRoles.filter(item => item.selected).map(item => item.data));\n });\n }\n\n preselect() {\n if (this.member !== undefined) {\n this.member.roles.forEach(role => {\n const foundRole = this.selectedRoles.filter(item => item.data === role);\n if (foundRole.length > 0) {\n foundRole[0].selected = true;\n }\n });\n } else {\n // For new users, preselect LoginRole\n this.selectedRoles.forEach(role => {\n if (role.data == 'Login') {\n role.selected = true;\n }\n });\n }\n this.cdRef.markForCheck();\n }\n\n handleModelUpdate() {\n const roles = this.selectedRoles.filter(item => item.selected).map(item => item.data);\n if (roles.filter(r => r === 'Admin').length > 0) {\n // Disable all other items as Admin is selected\n this.selectedRoles.filter(item => item.data !== 'Admin').forEach(e => {\n e.disabled = true;\n });\n } else {\n // Re-enable everything\n this.selectedRoles.forEach(e => {\n e.disabled = false;\n });\n }\n this.cdRef.markForCheck();\n this.selected.emit(roles);\n }\n\n}\n","\n
\n
\n

{{t('title')}}

\n \n
\n
\n

\n\n
\n
\n
\n \n \n
\n
\n {{t('required-field')}}\n
\n
\n
\n
\n\n
\n
\n \n
\n\n
\n \n
\n
\n\n
\n
\n \n
\n
\n
\n\n \n

{{t('setup-user-title')}}

\n

{{t('setup-user-description')}}\n

\n {{t('setup-user-account')}}\n \n
\n\n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ToastrService } from 'ngx-toastr';\nimport { AgeRestriction } from 'src/app/_models/metadata/age-restriction';\nimport { InviteUserResponse } from 'src/app/_models/auth/invite-user-response';\nimport { Library } from 'src/app/_models/library';\nimport { AgeRating } from 'src/app/_models/metadata/age-rating';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { ApiKeyComponent } from '../../user-settings/api-key/api-key.component';\nimport { RestrictionSelectorComponent } from '../../user-settings/restriction-selector/restriction-selector.component';\nimport { LibrarySelectorComponent } from '../library-selector/library-selector.component';\nimport { RoleSelectorComponent } from '../role-selector/role-selector.component';\nimport { NgIf } from '@angular/common';\nimport {translate, TranslocoDirective} from \"@ngneat/transloco\";\nimport {SafeHtmlPipe} from \"../../pipe/safe-html.pipe\";\n\n@Component({\n selector: 'app-invite-user',\n templateUrl: './invite-user.component.html',\n styleUrls: ['./invite-user.component.scss'],\n standalone: true,\n imports: [NgIf, ReactiveFormsModule, RoleSelectorComponent, LibrarySelectorComponent, RestrictionSelectorComponent, ApiKeyComponent, TranslocoDirective, SafeHtmlPipe]\n})\nexport class InviteUserComponent implements OnInit {\n\n /**\n * Maintains if the backend is sending an email\n */\n isSending: boolean = false;\n inviteForm: FormGroup = new FormGroup({});\n selectedRoles: Array = [];\n selectedLibraries: Array = [];\n selectedRestriction: AgeRestriction = {ageRating: AgeRating.NotApplicable, includeUnknowns: false};\n emailLink: string = '';\n\n makeLink: (val: string) => string = (val: string) => {return this.emailLink};\n\n public get hasAdminRoleSelected() { return this.selectedRoles.includes('Admin'); };\n\n public get email() { return this.inviteForm.get('email'); }\n\n constructor(public modal: NgbActiveModal, private accountService: AccountService, private toastr: ToastrService) { }\n\n ngOnInit(): void {\n this.inviteForm.addControl('email', new FormControl('', [Validators.required]));\n }\n\n close() {\n this.modal.close(false);\n }\n\n invite() {\n\n this.isSending = true;\n const email = this.inviteForm.get('email')?.value.trim();\n this.accountService.inviteUser({\n email,\n libraries: this.selectedLibraries,\n roles: this.selectedRoles,\n ageRestriction: this.selectedRestriction\n }).subscribe((data: InviteUserResponse) => {\n this.emailLink = data.emailLink;\n this.isSending = false;\n if (data.emailSent) {\n this.toastr.info(translate('toasts.email-sent', {email: email}));\n this.modal.close(true);\n }\n }, err => {\n this.isSending = false;\n this.toastr.error(err)\n });\n }\n\n updateRoleSelection(roles: Array) {\n this.selectedRoles = roles;\n }\n\n updateLibrarySelection(libraries: Array) {\n this.selectedLibraries = libraries.map(l => l.id);\n }\n\n updateRestrictionSelection(restriction: AgeRestriction) {\n this.selectedRestriction = restriction;\n }\n\n}\n","\n
\n
\n

{{t('edit')}} {{member.username | sentenceCase}}

\n \n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n {{t('required')}}\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n {{t('required')}}\n
\n
\n {{t('not-valid-email')}}\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 { Component, Input, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\nimport { AgeRestriction } from 'src/app/_models/metadata/age-restriction';\nimport { Library } from 'src/app/_models/library';\nimport { Member } from 'src/app/_models/auth/member';\nimport { AccountService } from 'src/app/_services/account.service';\nimport { SentenceCasePipe } from '../../pipe/sentence-case.pipe';\nimport { RestrictionSelectorComponent } from '../../user-settings/restriction-selector/restriction-selector.component';\nimport { LibrarySelectorComponent } from '../library-selector/library-selector.component';\nimport { RoleSelectorComponent } from '../role-selector/role-selector.component';\nimport { NgIf } from '@angular/common';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-edit-user',\n templateUrl: './edit-user.component.html',\n styleUrls: ['./edit-user.component.scss'],\n standalone: true,\n imports: [ReactiveFormsModule, NgIf, RoleSelectorComponent, LibrarySelectorComponent, RestrictionSelectorComponent, SentenceCasePipe, TranslocoDirective]\n})\nexport class EditUserComponent implements OnInit {\n\n @Input({required: true}) member!: Member;\n\n selectedRoles: Array = [];\n selectedLibraries: Array = [];\n selectedRestriction!: AgeRestriction;\n isSaving: boolean = false;\n\n userForm: FormGroup = new FormGroup({});\n\n public get email() { return this.userForm.get('email'); }\n public get username() { return this.userForm.get('username'); }\n public get password() { return this.userForm.get('password'); }\n public get hasAdminRoleSelected() { return this.selectedRoles.includes('Admin'); };\n\n constructor(public modal: NgbActiveModal, private accountService: AccountService) { }\n\n ngOnInit(): void {\n this.userForm.addControl('email', new FormControl(this.member.email, [Validators.required, Validators.email]));\n this.userForm.addControl('username', new FormControl(this.member.username, [Validators.required]));\n\n this.userForm.get('email')?.disable();\n this.selectedRestriction = this.member.ageRestriction;\n }\n\n updateRoleSelection(roles: Array) {\n this.selectedRoles = roles;\n }\n\n updateRestrictionSelection(restriction: AgeRestriction) {\n this.selectedRestriction = restriction;\n }\n\n updateLibrarySelection(libraries: Array) {\n this.selectedLibraries = libraries.map(l => l.id);\n }\n\n close() {\n this.modal.close(false);\n }\n\n save() {\n const model = this.userForm.getRawValue();\n model.userId = this.member.id;\n model.roles = this.selectedRoles;\n model.libraries = this.selectedLibraries;\n model.ageRestriction = this.selectedRestriction;\n this.accountService.update(model).subscribe(() => {\n this.modal.close(true);\n });\n }\n\n}\n","\n\n\n
\n
\n

{{t('title')}}

\n
\n
\n\n
    \n
  • \n
    \n

    \n {{member.username | titlecase}} \n \n \n {{t('you-alt')}}\n \n {{t('pending-title')}}\n
    \n \n \n\n \n \n \n
    \n

    \n
    \n
    {{t('last-active-title')}}\n {{member.lastActive | date: 'short' | defaultDate}} \n
    \n
    {{t('sharing-title')}} {{formatLibraries(member)}}
    \n
    \n
    \n {{t('roles-title')}} {{t('none')}}\n \n {{role}}\n \n
    \n
    \n
    \n
    \n
  • \n
  • \n
    \n {{t('loading')}}\n
    \n
  • \n
  • \n {{t('no-data')}}\n
  • \n
\n
\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit} from '@angular/core';\nimport {NgbModal, NgbTooltip} from '@ng-bootstrap/ng-bootstrap';\nimport {take} from 'rxjs/operators';\nimport {MemberService} from 'src/app/_services/member.service';\nimport {Member} from 'src/app/_models/auth/member';\nimport {AccountService} from 'src/app/_services/account.service';\nimport {ToastrService} from 'ngx-toastr';\nimport {ResetPasswordModalComponent} from '../_modals/reset-password-modal/reset-password-modal.component';\nimport {ConfirmService} from 'src/app/shared/confirm.service';\nimport {MessageHubService} from 'src/app/_services/message-hub.service';\nimport {InviteUserComponent} from '../invite-user/invite-user.component';\nimport {EditUserComponent} from '../edit-user/edit-user.component';\nimport {ServerService} from 'src/app/_services/server.service';\nimport {Router} from '@angular/router';\nimport {TagBadgeComponent} from '../../shared/tag-badge/tag-badge.component';\nimport {AsyncPipe, DatePipe, NgFor, NgIf, TitleCasePipe} from '@angular/common';\nimport {TranslocoModule, TranslocoService} from \"@ngneat/transloco\";\nimport {DefaultDatePipe} from \"../../pipe/default-date.pipe\";\n\n@Component({\n selector: 'app-manage-users',\n templateUrl: './manage-users.component.html',\n styleUrls: ['./manage-users.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgFor, NgIf, NgbTooltip, TagBadgeComponent, AsyncPipe, TitleCasePipe, DatePipe, TranslocoModule, DefaultDatePipe]\n})\nexport class ManageUsersComponent implements OnInit {\n\n members: Member[] = [];\n loggedInUsername = '';\n loadingMembers = false;\n\n translocoService = inject(TranslocoService);\n cdRef = inject(ChangeDetectorRef);\n\n constructor(private memberService: MemberService,\n private accountService: AccountService,\n private modalService: NgbModal,\n private toastr: ToastrService,\n private confirmService: ConfirmService,\n public messageHub: MessageHubService,\n private serverService: ServerService,\n private router: Router) {\n this.accountService.currentUser$.pipe(take(1)).subscribe((user) => {\n if (user) {\n this.loggedInUsername = user.username;\n this.cdRef.markForCheck();\n }\n });\n\n }\n\n ngOnInit(): void {\n this.loadMembers();\n }\n\n\n loadMembers() {\n this.loadingMembers = true;\n this.cdRef.markForCheck();\n this.memberService.getMembers(true).subscribe(members => {\n this.members = members;\n // Show logged-in user at the top of the list\n this.members.sort((a: Member, b: Member) => {\n if (a.username === this.loggedInUsername) return 1;\n if (b.username === this.loggedInUsername) return 1;\n\n const nameA = a.username.toUpperCase();\n const nameB = b.username.toUpperCase();\n if (nameA < nameB) return -1;\n if (nameA > nameB) return 1;\n return 0;\n })\n this.loadingMembers = false;\n this.cdRef.markForCheck();\n });\n }\n\n canEditMember(member: Member): boolean {\n return this.loggedInUsername !== member.username;\n }\n\n openEditUser(member: Member) {\n const modalRef = this.modalService.open(EditUserComponent, {size: 'lg'});\n modalRef.componentInstance.member = member;\n modalRef.closed.subscribe(() => {\n this.loadMembers();\n });\n }\n\n\n async deleteUser(member: Member) {\n if (await this.confirmService.confirm(this.translocoService.translate('toasts.confirm-delete-user'))) {\n this.memberService.deleteMember(member.username).subscribe(() => {\n setTimeout(() => {\n this.loadMembers();\n this.toastr.success(this.translocoService.translate('toasts.user-deleted', {user: member.username}));\n }, 30); // SetTimeout because I've noticed this can run superfast and not give enough time for data to flush\n });\n }\n }\n\n inviteUser() {\n const modalRef = this.modalService.open(InviteUserComponent, {size: 'lg'});\n modalRef.closed.subscribe((successful: boolean) => {\n this.loadMembers();\n });\n }\n\n resendEmail(member: Member) {\n this.serverService.isServerAccessible().subscribe(canAccess => {\n this.accountService.resendConfirmationEmail(member.id).subscribe(async (email) => {\n if (canAccess) {\n this.toastr.info(this.translocoService.translate('toasts.email-sent-to-user', {user: member.username}));\n return;\n }\n await this.confirmService.alert(\n this.translocoService.translate('toasts.click-email-link') + '
' + email + '');\n });\n });\n }\n\n setup(member: Member) {\n this.accountService.getInviteUrl(member.id, false).subscribe(url => {\n if (url) {\n this.router.navigateByUrl(url);\n }\n });\n }\n\n updatePassword(member: Member) {\n const modalRef = this.modalService.open(ResetPasswordModalComponent);\n modalRef.componentInstance.member = member;\n }\n\n formatLibraries(member: Member) {\n if (member.libraries.length === 0) {\n return this.translocoService.translate('manage-users.none');\n }\n\n return member.libraries.map(item => item.name).join(', ');\n }\n\n hasAdminRole(member: Member) {\n return member.roles.indexOf('Admin') >= 0;\n }\n\n getRoles(member: Member) {\n return member.roles.filter(item => item != 'Pleb');\n }\n\n}\n","export enum EncodeFormat {\n PNG = 0,\n WebP = 1,\n AVIF = 2\n}\n\nexport const EncodeFormats = [{value: EncodeFormat.PNG, title: 'PNG'}, {value: EncodeFormat.WebP, title: 'WebP'}, {value: EncodeFormat.AVIF, title: 'AVIF'}];","\n

{{t('description')}}

\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 {{t('series-header')}}\n \n {{t('created-header')}}\n \n {{t('comment-header')}}\n \n {{t('edit-header')}}\n
No issues
\n {{item.details}}\n \n {{item.createdUtc | translocoDate: {dateStyle: 'short', timeStyle: 'medium' } | defaultValue }}\n \n {{item.comment}}\n \n \n
\n\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n EventEmitter,\n inject,\n OnInit,\n Output,\n QueryList,\n ViewChildren\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormControl, FormGroup, ReactiveFormsModule} from \"@angular/forms\";\nimport {compare, SortableHeader, SortEvent} from \"../../_single-module/table/_directives/sortable-header.directive\";\nimport {KavitaMediaError} from \"../_models/media-error\";\nimport {EVENTS, MessageHubService} from \"../../_services/message-hub.service\";\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {BehaviorSubject, filter, Observable, shareReplay} from \"rxjs\";\nimport {ScrobblingService} from \"../../_services/scrobbling.service\";\nimport {ScrobbleError} from \"../../_models/scrobbling/scrobble-error\";\n\nimport {SeriesService} from \"../../_services/series.service\";\nimport {EditSeriesModalComponent} from \"../../cards/_modals/edit-series-modal/edit-series-modal.component\";\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {FilterPipe} from \"../../pipe/filter.pipe\";\nimport {LoadingComponent} from \"../../shared/loading/loading.component\";\nimport {TranslocoModule} from \"@ngneat/transloco\";\nimport {DefaultDatePipe} from \"../../pipe/default-date.pipe\";\nimport {DefaultValuePipe} from \"../../pipe/default-value.pipe\";\nimport {TranslocoLocaleModule} from \"@ngneat/transloco-locale\";\n\n@Component({\n selector: 'app-manage-scrobble-errors',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, FilterPipe, LoadingComponent, SortableHeader, TranslocoModule, DefaultDatePipe, DefaultValuePipe, TranslocoLocaleModule],\n templateUrl: './manage-scrobble-errors.component.html',\n styleUrls: ['./manage-scrobble-errors.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ManageScrobbleErrorsComponent implements OnInit {\n @Output() scrobbleCount = new EventEmitter();\n @ViewChildren(SortableHeader) headers!: QueryList>;\n private readonly scrobbleService = inject(ScrobblingService);\n private readonly messageHub = inject(MessageHubService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly seriesService = inject(SeriesService);\n private readonly modalService = inject(NgbModal);\n\n messageHubUpdate$ = this.messageHub.messages$.pipe(takeUntilDestroyed(this.destroyRef), filter(m => m.event === EVENTS.ScanSeries), shareReplay());\n currentSort = new BehaviorSubject>({column: 'created', direction: 'asc'});\n currentSort$: Observable> = this.currentSort.asObservable();\n\n data: Array = [];\n isLoading = true;\n formGroup = new FormGroup({\n filter: new FormControl('', [])\n });\n\n\n constructor() {}\n\n ngOnInit() {\n\n this.loadData();\n\n this.messageHubUpdate$.subscribe(_ => this.loadData());\n\n this.currentSort$.subscribe(sortConfig => {\n this.data = (sortConfig.column) ? this.data.sort((a: ScrobbleError, b: ScrobbleError) => {\n if (sortConfig.column === '') return 0;\n const res = compare(a[sortConfig.column], b[sortConfig.column]);\n return sortConfig.direction === 'asc' ? res : -res;\n }) : this.data;\n this.cdRef.markForCheck();\n });\n }\n\n onSort(evt: any) {\n //SortEvent\n this.currentSort.next(evt);\n\n // Must clear out headers here\n this.headers.forEach((header) => {\n if (header.sortable !== evt.column) {\n header.direction = '';\n }\n });\n }\n\n loadData() {\n this.isLoading = true;\n this.cdRef.markForCheck();\n this.scrobbleService.getScrobbleErrors().subscribe(d => {\n this.data = d;\n this.isLoading = false;\n this.scrobbleCount.emit(d.length);\n this.cdRef.detectChanges();\n });\n }\n\n clear() {\n this.scrobbleService.clearScrobbleErrors().subscribe(_ => this.loadData());\n }\n\n filterList = (listItem: ScrobbleError) => {\n const query = (this.formGroup.get('filter')?.value || '').toLowerCase();\n return listItem.comment.toLowerCase().indexOf(query) >= 0 || listItem.details.toLowerCase().indexOf(query) >= 0;\n }\n\n editSeries(seriesId: number) {\n this.seriesService.getSeries(seriesId).subscribe(series => {\n const modalRef = this.modalService.open(EditSeriesModalComponent, { size: 'xl' });\n modalRef.componentInstance.series = series;\n });\n }\n}\n","\n

{{t('description-part-1')}} {{t('description-part-2')}}

\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 {{t('extension-header')}}\n \n {{t('file-header')}}\n \n {{t('comment-header')}}\n \n {{t('details-header')}}\n
No issues
\n {{item.extension}}\n \n {{item.filePath}}\n \n {{item.comment}}\n \n {{item.details}}\n
\n\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n inject,\n DestroyRef\n} from '@angular/core';\nimport { BehaviorSubject, Observable, filter, shareReplay } from 'rxjs';\nimport { SortEvent, SortableHeader, compare } from 'src/app/_single-module/table/_directives/sortable-header.directive';\nimport { KavitaMediaError } from '../_models/media-error';\nimport { ServerService } from 'src/app/_services/server.service';\nimport { EVENTS, MessageHubService } from 'src/app/_services/message-hub.service';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport { FilterPipe } from '../../pipe/filter.pipe';\nimport { LoadingComponent } from '../../shared/loading/loading.component';\nimport { NgIf, NgFor } from '@angular/common';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-manage-alerts',\n templateUrl: './manage-alerts.component.html',\n styleUrls: ['./manage-alerts.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ReactiveFormsModule, NgIf, LoadingComponent, NgFor, FilterPipe, SortableHeader, TranslocoDirective]\n})\nexport class ManageAlertsComponent implements OnInit {\n\n @Output() alertCount = new EventEmitter();\n @ViewChildren(SortableHeader) headers!: QueryList>;\n private readonly serverService = inject(ServerService);\n private readonly messageHub = inject(MessageHubService);\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n\n messageHubUpdate$ = this.messageHub.messages$.pipe(takeUntilDestroyed(this.destroyRef), filter(m => m.event === EVENTS.ScanSeries), shareReplay());\n currentSort = new BehaviorSubject>({column: 'extension', direction: 'asc'});\n currentSort$: Observable> = this.currentSort.asObservable();\n\n data: Array = [];\n isLoading = true;\n formGroup = new FormGroup({\n filter: new FormControl('', [])\n });\n\n\n constructor() {}\n\n ngOnInit(): void {\n\n this.loadData();\n\n this.messageHubUpdate$.subscribe(_ => this.loadData());\n\n this.currentSort$.subscribe(sortConfig => {\n this.data = (sortConfig.column) ? this.data.sort((a: KavitaMediaError, b: KavitaMediaError) => {\n if (sortConfig.column === '') return 0;\n const res = compare(a[sortConfig.column], b[sortConfig.column]);\n return sortConfig.direction === 'asc' ? res : -res;\n }) : this.data;\n this.cdRef.markForCheck();\n });\n }\n\n onSort(evt: any) {\n //SortEvent\n this.currentSort.next(evt);\n\n // Must clear out headers here\n this.headers.forEach((header) => {\n if (header.sortable !== evt.column) {\n header.direction = '';\n }\n });\n }\n\n loadData() {\n this.isLoading = true;\n this.cdRef.markForCheck();\n this.serverService.getMediaErrors().subscribe(d => {\n this.data = d;\n this.isLoading = false;\n this.alertCount.emit(d.length);\n this.cdRef.detectChanges();\n });\n }\n\n clear() {\n this.serverService.clearMediaAlerts().subscribe(_ => this.loadData());\n }\n\n filterList = (listItem: KavitaMediaError) => {\n const query = (this.formGroup.get('filter')?.value || '').toLowerCase();\n return listItem.comment.toLowerCase().indexOf(query) >= 0 || listItem.filePath.toLowerCase().indexOf(query) >= 0 || listItem.details.indexOf(query) >= 0;\n }\n}\n","export enum CoverImageSize {\n Default = 1,\n Medium = 2,\n Large = 3,\n XLarge = 4\n}\n\nexport const CoverImageSizes =\n [\n {value: CoverImageSize.Default, title: 'cover-image-size.default'},\n {value: CoverImageSize.Medium, title: 'cover-image-size.medium'},\n {value: CoverImageSize.Large, title: 'cover-image-size.large'},\n {value: CoverImageSize.XLarge, title: 'cover-image-size.xlarge'}\n ];\n","\n
\n
\n\n
\n

{{t('encode-as-description-part-1')}} {{t('encode-as-description-part-2')}}/{{t('encode-as-description-part-3')}}\n
{{t('encode-as-warning')}}\n

\n
{{t('media-warning')}}
\n
\n \n \n {{t('encode-as-tooltip')}}\n \n \n
\n\n
\n \n \n {{t('cover-image-size-tooltip')}}\n \n \n
\n
\n\n
\n
\n \n {{t('bookmark-dir-tooltip')}}\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, inject, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {ToastrService} from 'ngx-toastr';\nimport {take} from 'rxjs';\nimport {SettingsService} from '../settings.service';\nimport {ServerSettings} from '../_models/server-settings';\nimport {DirectoryPickerComponent, DirectoryPickerResult} from '../_modals/directory-picker/directory-picker.component';\nimport {\n NgbAccordionBody,\n NgbAccordionButton,\n NgbAccordionCollapse,\n NgbAccordionDirective,\n NgbAccordionHeader,\n NgbAccordionItem,\n NgbAccordionToggle,\n NgbCollapse,\n NgbModal,\n NgbTooltip\n} from '@ng-bootstrap/ng-bootstrap';\nimport {EncodeFormats} from '../_models/encode-format';\nimport {ManageScrobbleErrorsComponent} from '../manage-scrobble-errors/manage-scrobble-errors.component';\nimport {ManageAlertsComponent} from '../manage-alerts/manage-alerts.component';\nimport {NgFor, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {translate, TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\nimport { CoverImageSizes } from '../_models/cover-image-size';\n\n@Component({\n selector: 'app-manage-media-settings',\n templateUrl: './manage-media-settings.component.html',\n styleUrls: ['./manage-media-settings.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, ReactiveFormsModule, NgbTooltip, NgTemplateOutlet, NgFor, NgbAccordionDirective, NgbAccordionItem, NgbAccordionHeader, NgbAccordionToggle, NgbAccordionButton, NgbCollapse, NgbAccordionCollapse, NgbAccordionBody, ManageAlertsComponent, ManageScrobbleErrorsComponent, TranslocoDirective]\n})\nexport class ManageMediaSettingsComponent implements OnInit {\n\n serverSettings!: ServerSettings;\n settingsForm: FormGroup = new FormGroup({});\n\n alertCount: number = 0;\n scrobbleCount: number = 0;\n coverImageSizes = CoverImageSizes.map(o => {\n const newObj = {...o};\n newObj.title = translate(o.title);\n return newObj;\n })\n\n private readonly translocoService = inject(TranslocoService);\n private readonly cdRef = inject(ChangeDetectorRef);\n\n get EncodeFormats() { return EncodeFormats; }\n\n constructor(private settingsService: SettingsService, private toastr: ToastrService, private modalService: NgbModal, ) { }\n\n ngOnInit(): void {\n this.settingsService.getServerSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.settingsForm.addControl('encodeMediaAs', new FormControl(this.serverSettings.encodeMediaAs, [Validators.required]));\n this.settingsForm.addControl('bookmarksDirectory', new FormControl(this.serverSettings.bookmarksDirectory, [Validators.required]));\n this.settingsForm.addControl('coverImageSize', new FormControl(this.serverSettings.coverImageSize, [Validators.required]));\n this.cdRef.markForCheck();\n });\n }\n\n resetForm() {\n this.settingsForm.get('encodeMediaAs')?.setValue(this.serverSettings.encodeMediaAs);\n this.settingsForm.get('bookmarksDirectory')?.setValue(this.serverSettings.bookmarksDirectory);\n this.settingsForm.get('coverImageSize')?.setValue(this.serverSettings.coverImageSize);\n this.settingsForm.markAsPristine();\n this.cdRef.markForCheck();\n }\n\n saveSettings() {\n const modelSettings = Object.assign({}, this.serverSettings);\n modelSettings.encodeMediaAs = parseInt(this.settingsForm.get('encodeMediaAs')?.value, 10);\n modelSettings.bookmarksDirectory = this.settingsForm.get('bookmarksDirectory')?.value;\n modelSettings.coverImageSize = parseInt(this.settingsForm.get('coverImageSize')?.value, 10);\n\n this.settingsService.updateServerSettings(modelSettings).pipe(take(1)).subscribe(async (settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n resetToDefaults() {\n this.settingsService.resetServerSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n openDirectoryChooser(existingDirectory: string, formControl: string) {\n const modalRef = this.modalService.open(DirectoryPickerComponent, { scrollable: true, size: 'lg' });\n modalRef.componentInstance.startingFolder = existingDirectory || '';\n modalRef.componentInstance.helpUrl = '';\n modalRef.closed.subscribe((closeResult: DirectoryPickerResult) => {\n if (closeResult.success && closeResult.folderPath !== '') {\n this.settingsForm.get(formControl)?.setValue(closeResult.folderPath);\n this.settingsForm.markAsDirty();\n this.cdRef.markForCheck();\n }\n });\n }\n}\n","\n
\n
\n

{{t('title')}}

\n

\n {{t('send-to-warning')}}\n

\n
\n \n {{t('email-url-tooltip')}}\n \n
\n \n \n \n
\n
\n\n
\n \n {{t('host-name-tooltip')}}\n \n \n \n \n
\n
\n {{t('host-name-validation')}}\n
\n
\n
\n\n
\n \n \n \n
\n
\n
\n\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {ToastrService} from 'ngx-toastr';\nimport {take} from 'rxjs';\nimport {EmailTestResult, SettingsService} from '../settings.service';\nimport {ServerSettings} from '../_models/server-settings';\nimport {NgbTooltip} from '@ng-bootstrap/ng-bootstrap';\nimport {NgIf, NgTemplateOutlet} from '@angular/common';\nimport {TranslocoModule, TranslocoService} from \"@ngneat/transloco\";\nimport {SafeHtmlPipe} from \"../../pipe/safe-html.pipe\";\n\n@Component({\n selector: 'app-manage-email-settings',\n templateUrl: './manage-email-settings.component.html',\n styleUrls: ['./manage-email-settings.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf, ReactiveFormsModule, NgbTooltip, NgTemplateOutlet, TranslocoModule, SafeHtmlPipe]\n})\nexport class ManageEmailSettingsComponent implements OnInit {\n\n serverSettings!: ServerSettings;\n settingsForm: FormGroup = new FormGroup({});\n link = 'Kavita Email';\n private readonly cdRef = inject(ChangeDetectorRef);\n\n constructor(private settingsService: SettingsService, private toastr: ToastrService, private translocoService: TranslocoService) { }\n\n ngOnInit(): void {\n this.settingsService.getServerSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.settingsForm.addControl('emailServiceUrl', new FormControl(this.serverSettings.emailServiceUrl, [Validators.required]));\n this.settingsForm.addControl('hostName', new FormControl(this.serverSettings.hostName, []));\n this.cdRef.markForCheck();\n });\n }\n\n resetForm() {\n this.settingsForm.get('emailServiceUrl')?.setValue(this.serverSettings.emailServiceUrl);\n this.settingsForm.get('hostName')?.setValue(this.serverSettings.hostName);\n this.settingsForm.markAsPristine();\n this.cdRef.markForCheck();\n }\n\n async saveSettings() {\n const modelSettings = Object.assign({}, this.serverSettings);\n modelSettings.emailServiceUrl = this.settingsForm.get('emailServiceUrl')?.value;\n modelSettings.hostName = this.settingsForm.get('hostName')?.value;\n\n\n this.settingsService.updateServerSettings(modelSettings).pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n resetToDefaults() {\n this.settingsService.resetServerSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n resetEmailServiceUrl() {\n this.settingsService.resetEmailServerSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings.emailServiceUrl = settings.emailServiceUrl;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.email-service-reset'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n testEmailServiceUrl() {\n if (this.settingsForm.get('emailServiceUrl')?.value === '') return;\n this.settingsService.testEmailServerSettings(this.settingsForm.get('emailServiceUrl')?.value).pipe(take(1)).subscribe(async (result: EmailTestResult) => {\n if (result.successful) {\n this.toastr.success(this.translocoService.translate('toasts.email-service-reachable'));\n } else {\n this.toastr.error(this.translocoService.translate('toasts.email-service-unresponsive') + result.errorMessage);\n }\n\n }, (err: any) => {\n console.error('error: ', err);\n });\n\n }\n\n}\n","\n
\n
\n
\n {{t('notice')}} {{t('restart-required')}}\n
\n\n
\n \n {{t('base-url-tooltip')}}\n \n \n \n
\n \n \n
\n
\n
\n {{t('base-url-validation')}}\n
\n
\n
\n\n
\n
\n \n {{t('ip-address-tooltip')}}\n \n \n \n
\n \n \n
\n
\n
\n {{t('ip-address-validation')}}\n
\n
\n
\n\n
\n \n {{t('port-tooltip')}}\n \n \n \n = 48 && event.charCode <= 57\">\n
\n
\n\n
\n
\n \n {{t('backup-tooltip')}}.\n \n \n \n = 48 && event.charCode <= 57\"\n [class.is-invalid]=\"settingsForm.get('totalBackups')?.invalid && settingsForm.get('totalBackups')?.touched\">\n \n

\n {{t('min-backup-validation')}}\n

\n

\n {{t('max-backup-validation', {num: errors.max.max})}}\n

\n

\n {{t('field-required')}}\n

\n
\n
\n\n
\n \n {{t('log-tooltip')}}\n \n \n \n = 48 && event.charCode <= 57\"\n [class.is-invalid]=\"settingsForm.get('totalLogs')?.invalid && settingsForm.get('totalLogs')?.touched\">\n \n

\n {{t('min-log-validation')}}\n

\n

\n {{t('max-logs-validation', {num: errors.max.max})}}\n

\n

\n {{t('field-required')}}\n

\n
\n
\n\n
\n \n {{t('logging-level-tooltip')}}\n \n \n \n \n
\n
\n\n
\n
\n \n {{t('cache-size-tooltip')}}\n \n \n \n = 48 && event.charCode <= 57\"\n [class.is-invalid]=\"settingsForm.get('cacheSize')?.invalid && settingsForm.get('cacheSize')?.touched\">\n \n

\n {{t('min-cache-validation')}}\n

\n

\n {{t('field-required')}}\n

\n
\n
\n
\n \n {{t('on-deck-last-progress-tooltip')}}\n \n \n \n \n \n

\n {{t('min-days-validation')}}\n

\n

\n {{t('field-required')}}\n

\n
\n
\n
\n \n {{t('on-deck-last-chapter-add-tooltip')}}\n \n \n \n \n \n

\n {{t('min-days-validation')}}\n

\n

\n {{t('field-required')}}\n

\n
\n
\n
\n\n
\n \n

{{t('allow-stats-tooltip-part-1')}}wiki {{t('allow-stats-tooltip-part-2')}}

\n
\n \n \n
\n
\n\n
\n \n

{{t('opds-tooltip')}}

\n
\n \n \n
\n
\n\n
\n \n

{{t('folder-watching-tooltip')}}

\n
\n \n \n
\n
\n\n
\n \n \n \n
\n
\n
\n\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit} from '@angular/core';\nimport {FormControl, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';\nimport {ToastrService} from 'ngx-toastr';\nimport {take} from 'rxjs/operators';\nimport {ServerService} from 'src/app/_services/server.service';\nimport {SettingsService} from '../settings.service';\nimport {ServerSettings} from '../_models/server-settings';\nimport {NgbTooltip} from '@ng-bootstrap/ng-bootstrap';\nimport {NgFor, NgIf, NgTemplateOutlet, TitleCasePipe} from '@angular/common';\nimport {TranslocoModule, TranslocoService} from \"@ngneat/transloco\";\n\nconst ValidIpAddress = /^(\\s*((([12]?\\d{1,2}\\.){3}[12]?\\d{1,2})|(([\\da-f]{0,4}\\:){0,7}([\\da-f]{0,4})))\\s*\\,)*\\s*((([12]?\\d{1,2}\\.){3}[12]?\\d{1,2})|(([\\da-f]{0,4}\\:){0,7}([\\da-f]{0,4})))\\s*$/i;\n\n@Component({\n selector: 'app-manage-settings',\n templateUrl: './manage-settings.component.html',\n styleUrls: ['./manage-settings.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgIf, ReactiveFormsModule, NgbTooltip, NgFor, TitleCasePipe, TranslocoModule, NgTemplateOutlet]\n})\nexport class ManageSettingsComponent implements OnInit {\n\n serverSettings!: ServerSettings;\n settingsForm: FormGroup = new FormGroup({});\n taskFrequencies: Array = [];\n logLevels: Array = [];\n private readonly translocoService = inject(TranslocoService);\n private readonly cdRef = inject(ChangeDetectorRef);\n\n constructor(private settingsService: SettingsService, private toastr: ToastrService,\n private serverService: ServerService) { }\n\n ngOnInit(): void {\n this.settingsService.getTaskFrequencies().pipe(take(1)).subscribe(frequencies => {\n this.taskFrequencies = frequencies;\n this.cdRef.markForCheck();\n });\n this.settingsService.getLoggingLevels().pipe(take(1)).subscribe(levels => {\n this.logLevels = levels;\n this.cdRef.markForCheck();\n });\n this.settingsService.getServerSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.settingsForm.addControl('cacheDirectory', new FormControl(this.serverSettings.cacheDirectory, [Validators.required]));\n this.settingsForm.addControl('taskScan', new FormControl(this.serverSettings.taskScan, [Validators.required]));\n this.settingsForm.addControl('taskBackup', new FormControl(this.serverSettings.taskBackup, [Validators.required]));\n this.settingsForm.addControl('ipAddresses', new FormControl(this.serverSettings.ipAddresses, [Validators.required, Validators.pattern(ValidIpAddress)]));\n this.settingsForm.addControl('port', new FormControl(this.serverSettings.port, [Validators.required]));\n this.settingsForm.addControl('loggingLevel', new FormControl(this.serverSettings.loggingLevel, [Validators.required]));\n this.settingsForm.addControl('allowStatCollection', new FormControl(this.serverSettings.allowStatCollection, [Validators.required]));\n this.settingsForm.addControl('enableOpds', new FormControl(this.serverSettings.enableOpds, [Validators.required]));\n this.settingsForm.addControl('baseUrl', new FormControl(this.serverSettings.baseUrl, [Validators.pattern(/^(\\/[\\w-]+)*\\/$/)]));\n this.settingsForm.addControl('emailServiceUrl', new FormControl(this.serverSettings.emailServiceUrl, [Validators.required]));\n this.settingsForm.addControl('totalBackups', new FormControl(this.serverSettings.totalBackups, [Validators.required, Validators.min(1), Validators.max(30)]));\n this.settingsForm.addControl('cacheSize', new FormControl(this.serverSettings.cacheSize, [Validators.required, Validators.min(50)]));\n this.settingsForm.addControl('totalLogs', new FormControl(this.serverSettings.totalLogs, [Validators.required, Validators.min(1), Validators.max(30)]));\n this.settingsForm.addControl('enableFolderWatching', new FormControl(this.serverSettings.enableFolderWatching, [Validators.required]));\n this.settingsForm.addControl('encodeMediaAs', new FormControl(this.serverSettings.encodeMediaAs, []));\n this.settingsForm.addControl('hostName', new FormControl(this.serverSettings.hostName, [Validators.pattern(/^(http:|https:)+[^\\s]+[\\w]$/)]));\n this.settingsForm.addControl('onDeckProgressDays', new FormControl(this.serverSettings.onDeckProgressDays, [Validators.required]));\n this.settingsForm.addControl('onDeckUpdateDays', new FormControl(this.serverSettings.onDeckUpdateDays, [Validators.required]));\n\n this.serverService.getServerInfo().subscribe(info => {\n if (info.isDocker) {\n this.settingsForm.get('ipAddresses')?.disable();\n this.settingsForm.get('port')?.disable();\n this.cdRef.markForCheck();\n }\n });\n this.cdRef.markForCheck();\n });\n this.cdRef.markForCheck();\n }\n\n resetForm() {\n this.settingsForm.get('cacheDirectory')?.setValue(this.serverSettings.cacheDirectory);\n this.settingsForm.get('scanTask')?.setValue(this.serverSettings.taskScan);\n this.settingsForm.get('taskBackup')?.setValue(this.serverSettings.taskBackup);\n this.settingsForm.get('ipAddresses')?.setValue(this.serverSettings.ipAddresses);\n this.settingsForm.get('port')?.setValue(this.serverSettings.port);\n this.settingsForm.get('loggingLevel')?.setValue(this.serverSettings.loggingLevel);\n this.settingsForm.get('allowStatCollection')?.setValue(this.serverSettings.allowStatCollection);\n this.settingsForm.get('enableOpds')?.setValue(this.serverSettings.enableOpds);\n this.settingsForm.get('baseUrl')?.setValue(this.serverSettings.baseUrl);\n this.settingsForm.get('emailServiceUrl')?.setValue(this.serverSettings.emailServiceUrl);\n this.settingsForm.get('totalBackups')?.setValue(this.serverSettings.totalBackups);\n this.settingsForm.get('totalLogs')?.setValue(this.serverSettings.totalLogs);\n this.settingsForm.get('enableFolderWatching')?.setValue(this.serverSettings.enableFolderWatching);\n this.settingsForm.get('encodeMediaAs')?.setValue(this.serverSettings.encodeMediaAs);\n this.settingsForm.get('hostName')?.setValue(this.serverSettings.hostName);\n this.settingsForm.get('cacheSize')?.setValue(this.serverSettings.cacheSize);\n this.settingsForm.get('onDeckProgressDays')?.setValue(this.serverSettings.onDeckProgressDays);\n this.settingsForm.get('onDeckUpdateDays')?.setValue(this.serverSettings.onDeckUpdateDays);\n this.settingsForm.markAsPristine();\n this.cdRef.markForCheck();\n }\n\n async saveSettings() {\n const modelSettings = this.settingsForm.value;\n modelSettings.bookmarksDirectory = this.serverSettings.bookmarksDirectory;\n this.settingsService.updateServerSettings(modelSettings).pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n resetToDefaults() {\n this.settingsService.resetServerSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings = settings;\n this.resetForm();\n this.toastr.success(this.translocoService.translate('toasts.server-settings-updated'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n resetIPAddresses() {\n this.settingsService.resetIPAddressesSettings().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings.ipAddresses = settings.ipAddresses;\n this.settingsForm.get('ipAddresses')?.setValue(this.serverSettings.ipAddresses);\n this.toastr.success(this.translocoService.translate('toasts.reset-ip-address'));\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n\n resetBaseUrl() {\n this.settingsService.resetBaseUrl().pipe(take(1)).subscribe((settings: ServerSettings) => {\n this.serverSettings.baseUrl = settings.baseUrl;\n this.settingsForm.get('baseUrl')?.setValue(this.serverSettings.baseUrl);\n this.toastr.success(this.translocoService.translate('toasts.reset-base-url'));\n this.cdRef.markForCheck();\n }, (err: any) => {\n console.error('error: ', err);\n });\n }\n}\n","\n \n

\n {{t('title')}}\n

\n
\n
\n \n
\n\n
\n\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, OnInit} from '@angular/core';\nimport {ActivatedRoute, RouterLink} from '@angular/router';\nimport {ToastrService} from 'ngx-toastr';\nimport {ServerService} from 'src/app/_services/server.service';\nimport {Title} from '@angular/platform-browser';\nimport {NavService} from '../../_services/nav.service';\nimport {SentenceCasePipe} from '../../pipe/sentence-case.pipe';\nimport {LicenseComponent} from '../license/license.component';\nimport {ManageTasksSettingsComponent} from '../manage-tasks-settings/manage-tasks-settings.component';\nimport {ServerStatsComponent} from '../../statistics/_components/server-stats/server-stats.component';\nimport {ManageSystemComponent} from '../manage-system/manage-system.component';\nimport {ManageLogsComponent} from '../manage-logs/manage-logs.component';\nimport {ManageLibraryComponent} from '../manage-library/manage-library.component';\nimport {ManageUsersComponent} from '../manage-users/manage-users.component';\nimport {ManageMediaSettingsComponent} from '../manage-media-settings/manage-media-settings.component';\nimport {ManageEmailSettingsComponent} from '../manage-email-settings/manage-email-settings.component';\nimport {ManageSettingsComponent} from '../manage-settings/manage-settings.component';\nimport {NgFor, NgIf} from '@angular/common';\nimport {NgbNav, NgbNavContent, NgbNavItem, NgbNavItemRole, NgbNavLink, NgbNavOutlet} from '@ng-bootstrap/ng-bootstrap';\nimport {\n SideNavCompanionBarComponent\n} from '../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component';\nimport {TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\n\nenum TabID {\n General = '',\n Email = 'email',\n Media = 'media',\n Users = 'users',\n Libraries = 'libraries',\n System = 'system',\n Tasks = 'tasks',\n Logs = 'logs',\n Statistics = 'statistics',\n KavitaPlus = 'kavitaplus'\n}\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n standalone: true,\n imports: [SideNavCompanionBarComponent, NgbNav, NgFor, NgbNavItem, NgbNavItemRole, NgbNavLink, RouterLink, NgbNavContent, NgIf, ManageSettingsComponent, ManageEmailSettingsComponent, ManageMediaSettingsComponent, ManageUsersComponent, ManageLibraryComponent, ManageLogsComponent, ManageSystemComponent, ServerStatsComponent, ManageTasksSettingsComponent, LicenseComponent, NgbNavOutlet, SentenceCasePipe, TranslocoDirective],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DashboardComponent implements OnInit {\n\n tabs: Array<{title: string, fragment: string}> = [\n {title: 'general-tab', fragment: TabID.General},\n {title: 'users-tab', fragment: TabID.Users},\n {title: 'libraries-tab', fragment: TabID.Libraries},\n //{title: 'logs-tab', fragment: TabID.Logs},\n {title: 'media-tab', fragment: TabID.Media},\n {title: 'email-tab', fragment: TabID.Email},\n {title: 'tasks-tab', fragment: TabID.Tasks},\n {title: 'statistics-tab', fragment: TabID.Statistics},\n {title: 'system-tab', fragment: TabID.System},\n {title: 'kavita+-tab', fragment: TabID.KavitaPlus},\n ];\n active = this.tabs[0];\n\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly translocoService = inject(TranslocoService);\n\n get TabID() {\n return TabID;\n }\n\n constructor(public route: ActivatedRoute, private serverService: ServerService,\n private toastr: ToastrService, private titleService: Title, public navService: NavService) {\n this.route.fragment.subscribe(frag => {\n const tab = this.tabs.filter(item => item.fragment === frag);\n if (tab.length > 0) {\n this.active = tab[0];\n } else {\n this.active = this.tabs[0]; // Default to first tab\n }\n this.cdRef.markForCheck();\n });\n\n }\n\n ngOnInit() {\n this.titleService.setTitle('Kavita - ' + this.translocoService.translate('admin-dashboard.title'));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AdminGuard } from '../_guards/admin.guard';\nimport { DashboardComponent } from './dashboard/dashboard.component';\n\nconst routes: Routes = [\n {path: '**', component: DashboardComponent, pathMatch: 'full', canActivate: [AdminGuard]},\n {\n path: '',\n runGuardsAndResolvers: 'always',\n canActivate: [AdminGuard],\n children: [\n {path: 'dashboard', component: DashboardComponent},\n ]\n }\n];\n\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class AdminRoutingModule { }\n","\n\n
\n

{{t('title')}}

\n \n
\n
\n
\n
\n \n \n
\n
    \n
  • \n
    \n \n \n
    \n
  • \n
  • \n {{t('no-data')}}\n
  • \n
\n
\n
\n
\n \n \n \n
\n\n
\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit} from '@angular/core';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\nimport {Library} from 'src/app/_models/library';\nimport {Member} from 'src/app/_models/auth/member';\nimport {LibraryService} from 'src/app/_services/library.service';\nimport {SelectionModel} from 'src/app/typeahead/_components/typeahead.component';\nimport {NgFor, NgIf} from '@angular/common';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-library-access-modal',\n templateUrl: './library-access-modal.component.html',\n styleUrls: ['./library-access-modal.component.scss'],\n standalone: true,\n imports: [ReactiveFormsModule, FormsModule, NgFor, NgIf, TranslocoDirective],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LibraryAccessModalComponent implements OnInit {\n\n @Input() member: Member | undefined;\n allLibraries: Library[] = [];\n selectedLibraries: Array<{selected: boolean, data: Library}> = [];\n selections!: SelectionModel;\n selectAll: boolean = false;\n\n cdRef = inject(ChangeDetectorRef);\n\n get hasSomeSelected() {\n return this.selections != null && this.selections.hasSomeSelected();\n }\n\n constructor(public modal: NgbActiveModal, private libraryService: LibraryService) { }\n\n ngOnInit(): void {\n this.libraryService.getLibraries().subscribe(libs => {\n this.allLibraries = libs;\n this.setupSelections();\n });\n }\n\n close() {\n this.modal.dismiss();\n }\n\n save() {\n if (this.member?.username === undefined) {\n return;\n }\n\n const selectedLibraries = this.selections.selected();\n this.libraryService.updateLibrariesForMember(this.member?.username, selectedLibraries).subscribe(() => {\n this.modal.close(true);\n });\n }\n\n setupSelections() {\n this.selections = new SelectionModel(false, this.allLibraries);\n\n // If a member is passed in, then auto-select their libraries\n if (this.member !== undefined) {\n this.member.libraries.forEach(lib => {\n this.selections.toggle(lib, true, (a, b) => a.name === b.name);\n });\n this.selectAll = this.selections.selected().length === this.allLibraries.length;\n }\n this.cdRef.markForCheck();\n }\n\n reset() {\n this.setupSelections();\n }\n\n toggleAll() {\n this.selectAll = !this.selectAll;\n this.allLibraries.forEach(s => this.selections.toggle(s, this.selectAll));\n this.cdRef.markForCheck();\n }\n\n handleSelection(item: Library) {\n this.selections.toggle(item);\n const numberOfSelected = this.selections.selected().length;\n if (numberOfSelected == 0) {\n this.selectAll = false;\n } else if (numberOfSelected == this.selectedLibraries.length) {\n this.selectAll = true;\n }\n this.cdRef.markForCheck();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdminRoutingModule } from './admin-routing.module';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport {\n NgbAccordionModule,\n NgbCollapse,\n NgbDropdownModule,\n NgbNavModule,\n NgbTooltipModule,\n NgbTypeaheadModule\n} from '@ng-bootstrap/ng-bootstrap';\nimport { ManageLibraryComponent } from './manage-library/manage-library.component';\nimport { ManageUsersComponent } from './manage-users/manage-users.component';\nimport { LibraryAccessModalComponent } from './_modals/library-access-modal/library-access-modal.component';\nimport { DirectoryPickerComponent } from './_modals/directory-picker/directory-picker.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ResetPasswordModalComponent } from './_modals/reset-password-modal/reset-password-modal.component';\nimport { ManageSettingsComponent } from './manage-settings/manage-settings.component';\nimport { ManageSystemComponent } from './manage-system/manage-system.component';\nimport { InviteUserComponent } from './invite-user/invite-user.component';\nimport { RoleSelectorComponent } from './role-selector/role-selector.component';\nimport { LibrarySelectorComponent } from './library-selector/library-selector.component';\nimport { EditUserComponent } from './edit-user/edit-user.component';\nimport { UserSettingsModule } from '../user-settings/user-settings.module';\nimport { ManageMediaSettingsComponent } from './manage-media-settings/manage-media-settings.component';\nimport { ManageEmailSettingsComponent } from './manage-email-settings/manage-email-settings.component';\nimport { ManageTasksSettingsComponent } from './manage-tasks-settings/manage-tasks-settings.component';\nimport { ManageLogsComponent } from './manage-logs/manage-logs.component';\nimport { VirtualScrollerModule } from '@iharbeck/ngx-virtual-scroller';\n\nimport { ManageAlertsComponent } from './manage-alerts/manage-alerts.component';\nimport {ManageScrobbleErrorsComponent} from \"./manage-scrobble-errors/manage-scrobble-errors.component\";\nimport {DefaultValuePipe} from \"../pipe/default-value.pipe\";\nimport {LibraryTypePipe} from \"../pipe/library-type.pipe\";\nimport {TimeAgoPipe} from \"../pipe/time-ago.pipe\";\nimport {SentenceCasePipe} from \"../pipe/sentence-case.pipe\";\nimport {FilterPipe} from \"../pipe/filter.pipe\";\nimport {TagBadgeComponent} from \"../shared/tag-badge/tag-badge.component\";\nimport {LoadingComponent} from \"../shared/loading/loading.component\";\nimport {\n SideNavCompanionBarComponent\n} from \"../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component\";\nimport {RouterModule} from \"@angular/router\";\nimport {LicenseComponent} from \"./license/license.component\";\n\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n AdminRoutingModule,\n ReactiveFormsModule,\n RouterModule,\n FormsModule,\n NgbNavModule,\n NgbTooltipModule,\n NgbTypeaheadModule,\n NgbDropdownModule,\n NgbAccordionModule,\n UserSettingsModule,\n VirtualScrollerModule,\n ManageScrobbleErrorsComponent,\n DefaultValuePipe,\n LibraryTypePipe,\n TimeAgoPipe,\n SentenceCasePipe,\n FilterPipe,\n TagBadgeComponent,\n LoadingComponent,\n SideNavCompanionBarComponent,\n NgbCollapse,\n ManageUsersComponent,\n DashboardComponent,\n ManageLibraryComponent,\n LibraryAccessModalComponent,\n DirectoryPickerComponent,\n ResetPasswordModalComponent,\n ManageSettingsComponent,\n ManageSystemComponent,\n InviteUserComponent,\n RoleSelectorComponent,\n LibrarySelectorComponent,\n EditUserComponent,\n ManageMediaSettingsComponent,\n ManageEmailSettingsComponent,\n ManageTasksSettingsComponent,\n ManageLogsComponent,\n ManageAlertsComponent,\n LicenseComponent\n],\n providers: []\n})\nexport class AdminModule { }\n"],"x_google_ignoreList":[]}