{"version":3,"file":"217.fdcdb8dfe0821e1f.js","mappings":"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","names":["ToggleService","constructor","router","this","toggleState","toggleStateSource","ReplaySubject","toggleState$","asObservable","events","pipe","filter","event","NavigationStart","subscribe","next","toggle","take","state","set","t","i0","i1","_angular_core__WEBPACK_IMPORTED_MODULE_4__","Yz7","factory","ɵfac","providedIn","t_r1","indx_r4","update_r3","updateUrl","ChangelogComponent_ng_container_0_ng_container_7_span_5_Template","ChangelogComponent_ng_container_0_ng_container_7_span_6_Template","ChangelogComponent_ng_container_0_ng_container_7_a_14_Template","ChangelogComponent_ng_container_0_ng_container_7_a_15_Template","updateTitle","updateVersion","currentVersion","publishDate","updateBody","isDocker","ChangelogComponent_ng_container_0_ng_container_7_Template","_c0","ctx_r0","updates","isLoading","ChangelogComponent","serverService","ngOnInit","getChangelog","core","Xpm","selectors","standalone","features","decls","vars","consts","template","rf","ctx","ChangelogComponent_ng_container_0_Template","NgFor","NgIf","ReadMoreComponent","LoadingComponent","DatePipe","TranslocoDirective","styles","AnnouncementsComponent","AnnouncementsComponent_ng_container_0_Template","SideNavCompanionBarComponent","routes","path","component","pathMatch","canActivate","AuthGuard","AdminGuard","runGuardsAndResolvers","children","AnnouncementsRoutingModule","oAB","cJS","RouterModule","forChild","AnnouncementsModule","CommonModule","ctx_r3","size","ctx_r5","LoadingComponent_ng_container_0_ng_container_1_ng_container_1_Template","LoadingComponent_ng_container_0_ng_container_1_ng_template_2_Template","ctx_r2","absolute","_r4","LoadingComponent_ng_container_0_ng_container_1_Template","loading","message","_angular_core__WEBPACK_IMPORTED_MODULE_0__","inputs","LoadingComponent_ng_container_0_Template","changeDetection","_r5","ctx_r4","openExtrasDrawer","isExtrasOpen","_r8","ctx_r7","toggleService","filterActive","filterOpen","SideNavCompanionBarComponent_ng_container_0_button_8_Template","SideNavCompanionBarComponent_ng_container_0_button_9_Template","hasExtras","hasFilter","navService","utilityService","offcanvasService","EventEmitter","isFilterOpen","destroyRef","inject","DestroyRef","sideNavCollapsed$","takeUntilDestroyed","sideNavCollapsed","getActiveBreakpoint","Breakpoint","Tablet","emit","toggleFilter","undefined","extraDrawer","drawerRef","open","position","scroll","closed","dismissed","i2","i3","i4","_angular_core__WEBPACK_IMPORTED_MODULE_1__","outputs","ngContentSelectors","_c1","SideNavCompanionBarComponent_ng_container_0_Template","i5","NgbTooltip"],"sourceRoot":"webpack:///","sources":["./src/app/_services/toggle.service.ts","./src/app/announcements/_components/changelog/changelog.component.html","./src/app/announcements/_components/changelog/changelog.component.ts","./src/app/announcements/_components/announcements/announcements.component.html","./src/app/announcements/_components/announcements/announcements.component.ts","./src/app/announcements/announcements-routing.module.ts","./src/app/announcements/announcements.module.ts","./src/app/shared/loading/loading.component.html","./src/app/shared/loading/loading.component.ts","./src/app/sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component.html","./src/app/sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { NavigationStart, Router } from '@angular/router';\nimport { filter, ReplaySubject, take } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToggleService {\n\n toggleState: boolean = false;\n\n\n private toggleStateSource: ReplaySubject = new ReplaySubject(1);\n public toggleState$ = this.toggleStateSource.asObservable();\n\n constructor(router: Router) {\n router.events\n .pipe(filter(event => event instanceof NavigationStart))\n .subscribe((event) => {\n this.toggleState = false;\n this.toggleStateSource.next(this.toggleState);\n });\n this.toggleStateSource.next(false);\n }\n\n toggle() {\n this.toggleState = !this.toggleState;\n this.toggleStateSource.pipe(take(1)).subscribe(state => {\n this.toggleState = !state;\n this.toggleStateSource.next(this.toggleState);\n });\n \n }\n\n set(state: boolean) {\n this.toggleState = state;\n this.toggleStateSource.next(state);\n }\n}\n","\n
\n

\n {{t('description', {installed: ''})}}\n {{t('installed')}}\n {{t('description-continued', {installed: ''})}}\n

\n \n
\n
\n

{{update.updateTitle}} \n {{t('installed')}}\n update.currentVersion\">{{t('available')}}\n

\n
{{t('published-label')}}{{update.publishDate | date: 'short'}}
\n\n\n
\n            \n          
\n {{t('installed')}}\n {{t('download')}}\n
\n
\n
\n
\n\n\n \n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UpdateVersionEvent } from 'src/app/_models/events/update-version-event';\nimport { ServerService } from 'src/app/_services/server.service';\nimport { LoadingComponent } from '../../../shared/loading/loading.component';\nimport { ReadMoreComponent } from '../../../shared/read-more/read-more.component';\nimport { NgFor, NgIf, DatePipe } from '@angular/common';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-changelog',\n templateUrl: './changelog.component.html',\n styleUrls: ['./changelog.component.scss'],\n standalone: true,\n imports: [NgFor, NgIf, ReadMoreComponent, LoadingComponent, DatePipe, TranslocoDirective]\n})\nexport class ChangelogComponent implements OnInit {\n\n updates: Array = [];\n isLoading: boolean = true;\n\n constructor(private serverService: ServerService) { }\n\n ngOnInit(): void {\n\n this.serverService.getChangelog().subscribe(updates => {\n this.updates = updates;\n this.isLoading = false;\n });\n }\n}\n","\n \n

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

\n
\n\n \n
\n","import { Component } from '@angular/core';\nimport { ChangelogComponent } from '../changelog/changelog.component';\nimport { SideNavCompanionBarComponent } from '../../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component';\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-announcements',\n templateUrl: './announcements.component.html',\n styleUrls: ['./announcements.component.scss'],\n standalone: true,\n imports: [SideNavCompanionBarComponent, ChangelogComponent, TranslocoDirective]\n})\nexport class AnnouncementsComponent {\n\n constructor() { }\n\n}\n","import { NgModule } from \"@angular/core\";\nimport { Routes, RouterModule } from \"@angular/router\";\nimport { AdminGuard } from \"../_guards/admin.guard\";\nimport { AuthGuard } from \"../_guards/auth.guard\";\nimport { AnnouncementsComponent } from \"./_components/announcements/announcements.component\";\n\nconst routes: Routes = [\n {path: '**', component: AnnouncementsComponent, pathMatch: 'full', canActivate: [AuthGuard, AdminGuard]},\n {\n path: '',\n runGuardsAndResolvers: 'always',\n canActivate: [AuthGuard, AdminGuard],\n children: [\n {path: 'announcments', component: AnnouncementsComponent},\n ]\n }\n];\n\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class AnnouncementsRoutingModule { }","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AnnouncementsComponent } from './_components/announcements/announcements.component';\nimport { ChangelogComponent } from './_components/changelog/changelog.component';\nimport { AnnouncementsRoutingModule } from './announcements-routing.module';\nimport {ReadMoreComponent} from \"../shared/read-more/read-more.component\";\nimport {LoadingComponent} from \"../shared/loading/loading.component\";\nimport {\n SideNavCompanionBarComponent\n} from \"../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component\";\n\n\n\n@NgModule({\n imports: [\n CommonModule,\n AnnouncementsRoutingModule,\n ReadMoreComponent,\n LoadingComponent,\n SideNavCompanionBarComponent,\n AnnouncementsComponent,\n ChangelogComponent\n ]\n})\nexport class AnnouncementsModule { }\n","\n \n \n
\n
\n {{t('loading')}}\n
\n
\n
\n\n \n
\n
\n {{t('loading')}}\n
\n
\n
\n
\n\n
\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n@Component({\n selector: 'app-loading',\n standalone: true,\n imports: [CommonModule, TranslocoDirective],\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LoadingComponent {\n\n @Input() loading: boolean = false;\n @Input() message: string = '';\n @Input() size: '' | 'spinner-border-sm' = '';\n /**\n * Uses absolute positioning to ensure it loads over content\n */\n @Input() absolute: boolean = false;\n\n constructor() { }\n}\n","\n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n\n
\n
\n","import {\n Component,\n DestroyRef,\n EventEmitter,\n inject,\n Input,\n OnInit,\n Output,\n TemplateRef\n} from '@angular/core';\nimport {NgbOffcanvas, NgbTooltip} from '@ng-bootstrap/ng-bootstrap';\nimport { Breakpoint, UtilityService } from 'src/app/shared/_services/utility.service';\nimport { NavService } from 'src/app/_services/nav.service';\nimport { ToggleService } from 'src/app/_services/toggle.service';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport {CommonModule} from \"@angular/common\";\nimport {TranslocoDirective} from \"@ngneat/transloco\";\n\n/**\n * This should go on all pages which have the side nav present and is not Settings related.\n * Content inside [main] selector should not have any padding top or bottom, they are included in this component.\n */\n@Component({\n selector: 'app-side-nav-companion-bar',\n standalone: true,\n imports: [CommonModule, NgbTooltip, TranslocoDirective],\n templateUrl: './side-nav-companion-bar.component.html',\n styleUrls: ['./side-nav-companion-bar.component.scss']\n})\nexport class SideNavCompanionBarComponent implements OnInit {\n /**\n * If the page should show a filter\n */\n @Input() hasFilter: boolean = false;\n /**\n * If the page should show an extra section button\n */\n @Input() hasExtras: boolean = false;\n\n /**\n * This implies there is a filter in effect on the underlying page. Will show UI styles to imply this to the user.\n */\n @Input() filterActive: boolean = false;\n\n @Input() extraDrawer!: TemplateRef;\n\n\n @Output() filterOpen: EventEmitter = new EventEmitter();\n\n isFilterOpen = false;\n isExtrasOpen = false;\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(private navService: NavService, private utilityService: UtilityService, public toggleService: ToggleService,\n private offcanvasService: NgbOffcanvas) {\n }\n\n ngOnInit(): void {\n // If user opens side nav while filter is open on mobile, then collapse filter (as it doesn't render well) TODO: Change this when we have new drawer\n this.navService.sideNavCollapsed$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(sideNavCollapsed => {\n if (this.isFilterOpen && sideNavCollapsed && this.utilityService.getActiveBreakpoint() < Breakpoint.Tablet) {\n this.isFilterOpen = false;\n this.filterOpen.emit(this.isFilterOpen);\n }\n });\n }\n\n toggleFilter() {\n this.isFilterOpen = !this.isFilterOpen;\n this.filterOpen.emit(this.isFilterOpen);\n }\n\n openExtrasDrawer() {\n if (this.extraDrawer === undefined) return;\n\n this.isExtrasOpen = true;\n const drawerRef = this.offcanvasService.open(this.extraDrawer, {position: 'end', scroll: true});\n drawerRef.closed.subscribe(() => this.isExtrasOpen = false);\n drawerRef.dismissed.subscribe(() => this.isExtrasOpen = false);\n }\n\n}\n"],"x_google_ignoreList":[]}