{"version":3,"sources":["src/app/components/pages/desktop-menu/desktop-menu.component.ts","src/app/components/pages/desktop-menu/desktop-menu.component.html","src/app/components/pages/mobile-menu/mobile-full-menu/mobile-full-menu.component.ts","src/app/components/pages/mobile-menu/mobile-full-menu/mobile-full-menu.component.html","src/app/components/pages/mobile-menu/mobile-menu.component.ts","src/app/components/pages/mobile-menu/mobile-menu.component.html","src/app/components/pages/pages.component.ts","src/app/components/pages/pages.component.html","src/app/components/error-test/bakery.component.ts","src/app/components/error-test/bakery.component.html","src/app/components/statistics/insights-filter-sidebar/insights-filter-sidebar.component.ts","src/app/components/statistics/insights-filter-sidebar/insights-filter-sidebar.component.html","src/app/components/statistics/insights-filter-topbar/insights-filter-topbar.component.ts","src/app/components/statistics/insights-filter-topbar/insights-filter-topbar.component.html","src/app/components/statistics/statistics.component.ts","src/app/components/statistics/statistics.component.html","src/app/components/welcome-trial/quick-start-card/quick-start-card.component.ts","src/app/components/welcome-trial/quick-start-card/quick-start-card.component.html","src/app/components/welcome-trial/setup-line/setup-line.component.ts","src/app/components/welcome-trial/setup-line/setup-line.component.html","src/app/components/welcome-trial/empower-line/empower-line.component.ts","src/app/components/welcome-trial/empower-line/empower-line.component.html","src/app/components/welcome-trial/welcome-trial.component.ts","src/app/components/welcome-trial/welcome-trial.component.html","src/app/_guards/active-trial-only.guard.ts","src/app/_pipes/nan-fix.pipe.ts","src/app/components/home/home-crew-performance/performance-chart/performance-chart.component.ts","src/app/components/home/home-crew-performance/performance-chart/performance-chart.component.html","src/app/components/home/home-crew-performance/home-crew-performance.component.ts","src/app/components/home/home-crew-performance/home-crew-performance.component.html","node_modules/primeng/fesm2022/primeng-overlaypanel.mjs","src/app/_services/sorting-home.service.ts","src/app/components/home/home.component.ts","src/app/components/home/home.component.html","src/app/components/home/home-task-card/home-task-card.component.ts","src/app/components/home/home-task-card/home-task-card.component.html","src/app/components/home/home-task-list/home-task-list.component.ts","src/app/components/home/home-task-list/home-task-list.component.html","src/app/components/home/home-promotion-card/home-promotion-card.component.ts","src/app/components/home/home-promotion-card/home-promotion-card.component.html","src/app/components/home/home-promotion-list/home-promotion-list.component.ts","src/app/components/home/home-promotion-list/home-promotion-list.component.html","src/app/components/pages/pages.module.ts"],"sourcesContent":["import {\n    Component,\n    EventEmitter,\n    Inject,\n    Input,\n    OnInit,\n    Output,\n} from \"@angular/core\";\nimport { UserDm } from \"@/_models\";\nimport {\n    AuthenticationService,\n    USER_IS_AT_LEAST_ADMIN,\n    UserService,\n} from \"@/_services\";\nimport { MenuSection } from \"@/_models/menu-item\";\nimport { shareReplay } from \"rxjs/operators\";\nimport { Observable } from \"rxjs\";\nimport { MenuService } from \"@/_services/menu.service\";\nimport UserModel = UserDm.UserModel;\n\n@Component({\n    selector: \"app-desktop-menu\",\n    templateUrl: \"./desktop-menu.component.html\",\n    styleUrls: [\"./desktop-menu.component.scss\"],\n})\nexport class DesktopMenuComponent implements OnInit {\n    @Output() enterEdit: EventEmitter<void> = new EventEmitter<void>();\n    @Input() showAccountLink = false;\n\n    hasLinkedLogins = false;\n\n    currentUser$: Observable<UserModel>;\n    mainMenu$: Observable<MenuSection>;\n    formMenu$: Observable<MenuSection>;\n\n    showForms = true;\n\n    constructor(\n        private authenticationService: AuthenticationService,\n        private userService: UserService,\n        private menuService: MenuService,\n        @Inject(USER_IS_AT_LEAST_ADMIN)\n        public isAtLeastAdmin$: Observable<boolean>,\n    ) {\n        this.hasLinkedLogins = this.authenticationService.hasLinkedLogins();\n    }\n\n    ngOnInit() {\n        this.currentUser$ = this.userService\n            .getCurrentUserAsync()\n            .pipe(shareReplay());\n        this.mainMenu$ = this.menuService.createDesktopMenu();\n        this.formMenu$ = this.menuService.createFormMenu();\n    }\n\n    toggleCollapse() {\n        this.showForms = !this.showForms;\n    }\n}\n","<div class=\"app-sidebar\" *ngIf=\"currentUser$ | async as user\">\n    <div class=\"brand\" *appDesktop>\n        <a id=\"logo\" class=\"app-logo\" [routerLink]=\" ['/'] \">\n            <svg width=\"152\" height=\"27\" viewBox=\"0 0 152 27\">\n                <title>Logo Long</title>\n                <path d=\"M17.5787201,20.2299855 C16.8615662,20.2299855 16.280198,20.8070789 16.280198,21.5189596 C16.280198,21.7961558 16.3702198,22.0659675 16.5369072,22.2883639 L19.6215229,26.4038954 C19.8550199,26.71543 20.298726,26.7800837 20.6125682,26.5483036 C20.6677305,26.5075649 20.7166232,26.4590705 20.7577077,26.4043465 L25.3931618,20.2299855 L17.5787201,20.2299855 Z M0,0.312659335 L4.55034686,6.36005901 C5.12973397,7.13006304 6.04117127,7.58354977 7.00937164,7.58354977 L25.3039674,7.58354977 C26.0516732,7.58354977 26.6578085,8.18522817 26.6578085,8.92743609 C26.6578085,9.669644 26.0516732,10.2713224 25.3039674,10.2713224 L7.47890769,10.2713224 L12.0172348,16.3161285 C12.5964834,17.0876563 13.5088611,17.5422128 14.478209,17.5422128 L25.3214101,17.5422128 C30.1144629,17.5422128 34,13.6852459 34,8.92743609 C34,4.16962626 30.1144629,0.312659335 25.3214101,0.312659335 L0,0.312659335 Z\" class=\"logo-symbol\"></path>\n                <path d=\"M41.9889785,26.3463519 L42.7184266,26.3463519 L42.7184266,17.3917387 L46.7595689,23.3271155 L46.8179248,23.3271155 L50.8590671,17.3917387 L50.8590671,26.3463519 L51.6176931,26.3463519 L51.6176931,16.0367643 L50.902834,16.0367643 L46.8033358,22.1341489 L42.7038377,16.0367643 L41.9889785,16.0367643 L41.9889785,26.3463519 Z M58.363168,26.3463519 L59.121794,26.3463519 L59.121794,16.0367643 L58.363168,16.0367643 L58.363168,26.3463519 Z M68.6975274,26.3463519 L69.4561534,26.3463519 L69.4561534,16.7437074 L73.01586,16.7437074 L73.01586,16.0367643 L65.1378208,16.0367643 L65.1378208,16.7437074 L68.6975274,16.7437074 L68.6975274,26.3463519 Z M79.0318868,26.3463519 L79.7905128,26.3463519 L79.7905128,16.0367643 L79.0318868,16.0367643 L79.0318868,26.3463519 Z M91.2190443,26.5230877 C92.8821859,26.5230877 94.3119041,25.8014165 95.2310087,24.9766495 L95.2310087,21.0000943 L91.0877437,21.0000943 L91.0877437,21.7070375 L94.5015606,21.7070375 L94.5015606,24.6673619 C93.7575236,25.3006651 92.5466398,25.8456005 91.2482222,25.8456005 C88.5200865,25.8456005 86.8715338,23.8573229 86.8715338,21.1915581 L86.8715338,21.1621021 C86.8715338,18.6730731 88.6076202,16.5522437 91.0877437,16.5522437 C92.6341736,16.5522437 93.5678671,17.082451 94.37026,17.7893942 L94.8662847,17.2150029 C93.8450574,16.3607799 92.7946521,15.8600285 91.1315105,15.8600285 C88.0824176,15.8600285 86.0837299,18.4079694 86.0837299,21.1915581 L86.0837299,21.221014 C86.0837299,24.1224265 87.9948838,26.5230877 91.2190443,26.5230877 L91.2190443,26.5230877 Z M100.707244,26.3463519 L101.495048,26.3463519 L102.793465,23.4596673 L108.818707,23.4596673 L110.117124,26.3463519 L110.948695,26.3463519 L106.192693,15.9631244 L105.463245,15.9631244 L100.707244,26.3463519 Z M103.114423,22.7674522 L105.81338,16.8026194 L108.497749,22.7674522 L103.114423,22.7674522 Z M118.233961,26.3463519 L118.992587,26.3463519 L118.992587,16.7437074 L122.552294,16.7437074 L122.552294,16.0367643 L114.674255,16.0367643 L114.674255,16.7437074 L118.233961,16.7437074 L118.233961,26.3463519 Z M132.332273,26.5230877 C135.425133,26.5230877 137.482176,24.0046027 137.482176,21.1915581 L137.482176,21.1621021 C137.482176,18.3490575 135.454311,15.8600285 132.361451,15.8600285 C129.268591,15.8600285 127.211547,18.3785135 127.211547,21.1915581 L127.211547,21.221014 C127.211547,24.0340587 129.239413,26.5230877 132.332273,26.5230877 L132.332273,26.5230877 Z M132.361451,25.8308725 C129.83756,25.8308725 127.999351,23.739499 127.999351,21.1915581 L127.999351,21.1621021 C127.999351,18.6141612 129.808382,16.5522437 132.332273,16.5522437 C134.856163,16.5522437 136.694372,18.6436171 136.694372,21.1915581 L136.694372,21.221014 C136.694372,23.768955 134.885341,25.8308725 132.361451,25.8308725 L132.361451,25.8308725 Z M143.673271,26.3463519 L144.431897,26.3463519 L144.431897,22.075237 L147.772769,22.075237 L151.026107,26.3463519 L151.988979,26.3463519 L148.618928,21.9426852 C150.340426,21.7070375 151.609666,20.7202626 151.609666,18.9970887 L151.609666,18.9676328 C151.609666,18.2312336 151.317886,17.5390185 150.836451,17.0529951 C150.223714,16.4344198 149.217076,16.0367643 147.962425,16.0367643 L143.673271,16.0367643 L143.673271,26.3463519 Z M144.431897,21.3830218 L144.431897,16.7437074 L147.918658,16.7437074 C149.771456,16.7437074 150.85104,17.6126584 150.85104,18.9970887 L150.85104,19.0265447 C150.85104,20.5140709 149.5818,21.3830218 147.874891,21.3830218 L144.431897,21.3830218 Z\" id=\"Mitigators\" class=\"logo-preflight\"></path>\n                <path d=\"M41.9889785,12.3896045 L44.1091144,12.3896045 L44.1091144,8.47435024 L46.5050402,8.47435024 C49.1595192,8.47435024 51.3313656,7.04745759 51.3313656,4.3154802 L51.3313656,4.28067794 C51.3313656,1.82711863 49.5732042,0.208813558 46.7463565,0.208813558 L41.9889785,0.208813558 L41.9889785,12.3896045 Z M44.1091144,6.54282482 L44.1091144,2.1577401 L46.5739877,2.1577401 C48.1597803,2.1577401 49.1767561,2.90598868 49.1767561,4.33288133 L49.1767561,4.36768359 C49.1767561,5.63796607 48.1770172,6.54282482 46.5739877,6.54282482 L44.1091144,6.54282482 Z M54.9396184,12.3896045 L57.0597542,12.3896045 L57.0597542,8.14372877 L59.7142332,8.14372877 L62.678976,12.3896045 L65.1955599,12.3896045 L61.9377903,7.77830504 C63.6097673,7.29107341 64.7991118,6.09039545 64.7991118,4.08926551 L64.7991118,4.05446325 C64.7991118,2.99299433 64.4371374,2.08813558 63.7993729,1.42689265 C63.0237135,0.661242934 61.834369,0.208813558 60.3175239,0.208813558 L54.9396184,0.208813558 L54.9396184,12.3896045 Z M57.0597542,6.24700562 L57.0597542,2.1577401 L60.1451551,2.1577401 C61.7137109,2.1577401 62.6445022,2.87118642 62.6445022,4.17627116 L62.6445022,4.21107342 C62.6445022,5.44655364 61.6792371,6.24700562 60.162392,6.24700562 L57.0597542,6.24700562 Z M68.8382865,12.3896045 L77.8704098,12.3896045 L77.8704098,10.4754802 L70.9584223,10.4754802 L70.9584223,7.20406776 L77.0085659,7.20406776 L77.0085659,5.28994347 L70.9584223,5.28994347 L70.9584223,2.12293784 L77.7842254,2.12293784 L77.7842254,0.208813558 L68.8382865,0.208813558 L68.8382865,12.3896045 Z M81.8234001,12.3896045 L83.9435359,12.3896045 L83.9435359,7.43028245 L90.0281533,7.43028245 L90.0281533,5.4813559 L83.9435359,5.4813559 L83.9435359,2.1577401 L90.8038127,2.1577401 L90.8038127,0.208813558 L81.8234001,0.208813558 L81.8234001,12.3896045 Z M94.5671974,12.3896045 L103.030504,12.3896045 L103.030504,10.4406779 L96.6873332,10.4406779 L96.6873332,0.208813558 L94.5671974,0.208813558 L94.5671974,12.3896045 Z M106.793888,12.3896045 L108.914024,12.3896045 L108.914024,0.208813558 L106.793888,0.208813558 L106.793888,12.3896045 Z M119.296369,12.598418 C121.433742,12.598418 123.140193,11.7283615 124.329537,10.7016949 L124.329537,5.58576268 L119.192948,5.58576268 L119.192948,7.44768358 L122.278349,7.44768358 L122.278349,9.72723159 C121.537163,10.2840677 120.502951,10.6494915 119.365317,10.6494915 C116.900444,10.6494915 115.26294,8.8049717 115.26294,6.29920901 L115.26294,6.26440675 C115.26294,3.93265535 116.952154,1.96632767 119.175711,1.96632767 C120.709793,1.96632767 121.623348,2.47096044 122.554139,3.27141241 L123.898616,1.65310734 C122.65756,0.591638415 121.364795,0 119.261896,0 C115.624915,0 113.039383,2.88858755 113.039383,6.29920901 L113.039383,6.33401126 C113.039383,9.88384175 115.521494,12.598418 119.296369,12.598418 L119.296369,12.598418 Z M128.523844,12.3896045 L130.64398,12.3896045 L130.64398,7.25627115 L136.401097,7.25627115 L136.401097,12.3896045 L138.521232,12.3896045 L138.521232,0.208813558 L136.401097,0.208813558 L136.401097,5.27254234 L130.64398,5.27254234 L130.64398,0.208813558 L128.523844,0.208813558 L128.523844,12.3896045 Z M146.025019,12.3896045 L148.162392,12.3896045 L148.162392,2.19254236 L151.988979,2.19254236 L151.988979,0.208813558 L142.198433,0.208813558 L142.198433,2.19254236 L146.025019,2.19254236 L146.025019,12.3896045 Z\" id=\"Preflight\" class=\"logo-mitigator\"></path>\n            </svg>\n        </a>\n        <!--Trial Badge-->\n        <app-trial-badge></app-trial-badge>\n    </div>\n    <nav class=\"leftnav\">\n        <ul class=\"settings\">\n            @for (item of (mainMenu$ | async)?.items; track item) {\n                <li>\n                    <ng-container *featureFlag=\"item?.feature\">\n                        <a\n                            class=\"menu-item\"\n                            [routerLink]=\"item.routerLink\"\n                            [routerLinkActive]=\"'active'\"\n                            appFeatureHighlight\n                            [feature]=\"item.highlight\">\n                            <div>\n                                @if (item.icon) {\n                                    <img\n                                        class=\"menu-icon\"\n                                        [src]=\"item.icon\"\n                                        alt=\"icon\"/>\n                                }\n                                <div class=\"menu-text\">\n                                    <div class=\"menu-label\">{{ item.label }}</div>\n                                    @if (item?.hasNotification$ | async) {\n                                        <div class=\"notification\"></div>\n                                    }\n                                    <app-feature-highlight-badge></app-feature-highlight-badge>\n                                </div>\n                            </div>\n                        </a>\n                    </ng-container>\n                </li>\n            }\n            @if (formMenu$ | async; as formMenu) {\n                <li>\n                    <a class=\"menu-item section-label\">\n                        <div>\n                            <img\n                                class=\"menu-icon\"\n                                [src]=\"formMenu.icon\"\n                                alt=\"icon\" />\n                            <div class=\"menu-text\">\n                                <div class=\"menu-label\">{{formMenu.label}}</div>\n                                <span\n                                    class=\"menu-icon accordion\"\n                                    (click)=\"toggleCollapse()\">\n                                <app-custom-icon\n                                    [iconPath]=\"'assets/icons/general-icons.svg'\"\n                                    [imageName]=\"showForms ? 'chevron-up' :  'chevron-down'\">\n                                </app-custom-icon>\n                            </span>\n                            </div>\n                        </div>\n                        @if (isAtLeastAdmin$ | async) {\n                            <span\n                                class=\"menu-icon new-form\"\n                                [routerLink]=\"['/assessments', 'new']\"\n                                [routerLinkActive]=\"'new-form-active'\">\n                                <app-custom-icon\n                                    [iconPath]=\"'assets/icons/general-icons.svg'\"\n                                    [imageName]=\"'plus-small'\">\n                                </app-custom-icon>\n                            </span>\n                        }\n                    </a>\n                </li>\n                @if (showForms) {\n                    <!--TODO: add animations-->\n                    @for (item of formMenu.items; track item) {\n                        <li>\n                            <a\n                                class=\"menu-item\"\n                                [routerLink]=\"item.routerLink\"\n                                [routerLinkActive]=\"'active'\"\n                                appFeatureHighlight\n                                [feature]=\"item.highlight\"\n                                #link=\"routerLinkActive\">\n                                <div>\n                                    <app-list-icon\n                                        [isActive]=\"link.isActive\"></app-list-icon>\n                                    <div class=\"menu-text\">\n                                        <div class=\"menu-label\">{{ item.label }}</div>\n                                        <app-feature-highlight-badge></app-feature-highlight-badge>\n                                    </div>\n                                </div>\n                            </a>\n                        </li>\n                    }\n                }\n            }\n        </ul>\n    </nav>\n    <!--User Information-->\n    <div\n        id=\"user-info\"\n        class=\"card\"\n        [routerLink]=\"['/profile']\"\n        [routerLinkActive]=\"'active'\">\n        <div>\n            <h6>{{user.firstName}} {{user.lastName}}</h6>\n            <p>{{user.email}}</p>\n        </div>\n        <app-custom-icon\n            [iconPath]=\"'assets/icons/general-icons.svg'\"\n            [imageName]=\"'chevron-right'\">\n        </app-custom-icon>\n    </div>\n</div>\n","import { Component, EventEmitter, OnInit, Output } from \"@angular/core\";\nimport { MenuService } from \"app/_services/menu.service\";\nimport { Observable } from \"rxjs\";\nimport { MenuSection } from \"app/_models/menu-item\";\nimport { AuthenticationService } from \"app/_services\";\n\n@Component({\n    selector: \"app-mobile-full-menu\",\n    templateUrl: \"./mobile-full-menu.component.html\",\n    styleUrls: [\"./mobile-full-menu.component.scss\"],\n})\nexport class MobileFullMenuComponent implements OnInit {\n    mainMenu$: Observable<MenuSection>;\n    @Output() menuItemClickled: EventEmitter<void> = new EventEmitter<void>();\n\n    constructor(\n        private menuService: MenuService,\n        private authService: AuthenticationService,\n    ) {}\n\n    ngOnInit() {\n        this.mainMenu$ = this.menuService.createMobileSettingsMenu();\n    }\n\n    logout() {\n        this.authService.logout().subscribe();\n    }\n}\n","<div class=\"header\">\n    <span id=\"logo\" class=\"app-logo\">\n        <svg width=\"152\" height=\"27\" viewBox=\"0 0 152 27\">\n            <title>Logo Long</title>\n            <path d=\"M17.5787201,20.2299855 C16.8615662,20.2299855 16.280198,20.8070789 16.280198,21.5189596 C16.280198,21.7961558 16.3702198,22.0659675 16.5369072,22.2883639 L19.6215229,26.4038954 C19.8550199,26.71543 20.298726,26.7800837 20.6125682,26.5483036 C20.6677305,26.5075649 20.7166232,26.4590705 20.7577077,26.4043465 L25.3931618,20.2299855 L17.5787201,20.2299855 Z M0,0.312659335 L4.55034686,6.36005901 C5.12973397,7.13006304 6.04117127,7.58354977 7.00937164,7.58354977 L25.3039674,7.58354977 C26.0516732,7.58354977 26.6578085,8.18522817 26.6578085,8.92743609 C26.6578085,9.669644 26.0516732,10.2713224 25.3039674,10.2713224 L7.47890769,10.2713224 L12.0172348,16.3161285 C12.5964834,17.0876563 13.5088611,17.5422128 14.478209,17.5422128 L25.3214101,17.5422128 C30.1144629,17.5422128 34,13.6852459 34,8.92743609 C34,4.16962626 30.1144629,0.312659335 25.3214101,0.312659335 L0,0.312659335 Z\" class=\"logo-symbol\"></path>\n            <path d=\"M41.9889785,26.3463519 L42.7184266,26.3463519 L42.7184266,17.3917387 L46.7595689,23.3271155 L46.8179248,23.3271155 L50.8590671,17.3917387 L50.8590671,26.3463519 L51.6176931,26.3463519 L51.6176931,16.0367643 L50.902834,16.0367643 L46.8033358,22.1341489 L42.7038377,16.0367643 L41.9889785,16.0367643 L41.9889785,26.3463519 Z M58.363168,26.3463519 L59.121794,26.3463519 L59.121794,16.0367643 L58.363168,16.0367643 L58.363168,26.3463519 Z M68.6975274,26.3463519 L69.4561534,26.3463519 L69.4561534,16.7437074 L73.01586,16.7437074 L73.01586,16.0367643 L65.1378208,16.0367643 L65.1378208,16.7437074 L68.6975274,16.7437074 L68.6975274,26.3463519 Z M79.0318868,26.3463519 L79.7905128,26.3463519 L79.7905128,16.0367643 L79.0318868,16.0367643 L79.0318868,26.3463519 Z M91.2190443,26.5230877 C92.8821859,26.5230877 94.3119041,25.8014165 95.2310087,24.9766495 L95.2310087,21.0000943 L91.0877437,21.0000943 L91.0877437,21.7070375 L94.5015606,21.7070375 L94.5015606,24.6673619 C93.7575236,25.3006651 92.5466398,25.8456005 91.2482222,25.8456005 C88.5200865,25.8456005 86.8715338,23.8573229 86.8715338,21.1915581 L86.8715338,21.1621021 C86.8715338,18.6730731 88.6076202,16.5522437 91.0877437,16.5522437 C92.6341736,16.5522437 93.5678671,17.082451 94.37026,17.7893942 L94.8662847,17.2150029 C93.8450574,16.3607799 92.7946521,15.8600285 91.1315105,15.8600285 C88.0824176,15.8600285 86.0837299,18.4079694 86.0837299,21.1915581 L86.0837299,21.221014 C86.0837299,24.1224265 87.9948838,26.5230877 91.2190443,26.5230877 L91.2190443,26.5230877 Z M100.707244,26.3463519 L101.495048,26.3463519 L102.793465,23.4596673 L108.818707,23.4596673 L110.117124,26.3463519 L110.948695,26.3463519 L106.192693,15.9631244 L105.463245,15.9631244 L100.707244,26.3463519 Z M103.114423,22.7674522 L105.81338,16.8026194 L108.497749,22.7674522 L103.114423,22.7674522 Z M118.233961,26.3463519 L118.992587,26.3463519 L118.992587,16.7437074 L122.552294,16.7437074 L122.552294,16.0367643 L114.674255,16.0367643 L114.674255,16.7437074 L118.233961,16.7437074 L118.233961,26.3463519 Z M132.332273,26.5230877 C135.425133,26.5230877 137.482176,24.0046027 137.482176,21.1915581 L137.482176,21.1621021 C137.482176,18.3490575 135.454311,15.8600285 132.361451,15.8600285 C129.268591,15.8600285 127.211547,18.3785135 127.211547,21.1915581 L127.211547,21.221014 C127.211547,24.0340587 129.239413,26.5230877 132.332273,26.5230877 L132.332273,26.5230877 Z M132.361451,25.8308725 C129.83756,25.8308725 127.999351,23.739499 127.999351,21.1915581 L127.999351,21.1621021 C127.999351,18.6141612 129.808382,16.5522437 132.332273,16.5522437 C134.856163,16.5522437 136.694372,18.6436171 136.694372,21.1915581 L136.694372,21.221014 C136.694372,23.768955 134.885341,25.8308725 132.361451,25.8308725 L132.361451,25.8308725 Z M143.673271,26.3463519 L144.431897,26.3463519 L144.431897,22.075237 L147.772769,22.075237 L151.026107,26.3463519 L151.988979,26.3463519 L148.618928,21.9426852 C150.340426,21.7070375 151.609666,20.7202626 151.609666,18.9970887 L151.609666,18.9676328 C151.609666,18.2312336 151.317886,17.5390185 150.836451,17.0529951 C150.223714,16.4344198 149.217076,16.0367643 147.962425,16.0367643 L143.673271,16.0367643 L143.673271,26.3463519 Z M144.431897,21.3830218 L144.431897,16.7437074 L147.918658,16.7437074 C149.771456,16.7437074 150.85104,17.6126584 150.85104,18.9970887 L150.85104,19.0265447 C150.85104,20.5140709 149.5818,21.3830218 147.874891,21.3830218 L144.431897,21.3830218 Z\" id=\"Mitigators\" class=\"logo-preflight\"></path>\n            <path d=\"M41.9889785,12.3896045 L44.1091144,12.3896045 L44.1091144,8.47435024 L46.5050402,8.47435024 C49.1595192,8.47435024 51.3313656,7.04745759 51.3313656,4.3154802 L51.3313656,4.28067794 C51.3313656,1.82711863 49.5732042,0.208813558 46.7463565,0.208813558 L41.9889785,0.208813558 L41.9889785,12.3896045 Z M44.1091144,6.54282482 L44.1091144,2.1577401 L46.5739877,2.1577401 C48.1597803,2.1577401 49.1767561,2.90598868 49.1767561,4.33288133 L49.1767561,4.36768359 C49.1767561,5.63796607 48.1770172,6.54282482 46.5739877,6.54282482 L44.1091144,6.54282482 Z M54.9396184,12.3896045 L57.0597542,12.3896045 L57.0597542,8.14372877 L59.7142332,8.14372877 L62.678976,12.3896045 L65.1955599,12.3896045 L61.9377903,7.77830504 C63.6097673,7.29107341 64.7991118,6.09039545 64.7991118,4.08926551 L64.7991118,4.05446325 C64.7991118,2.99299433 64.4371374,2.08813558 63.7993729,1.42689265 C63.0237135,0.661242934 61.834369,0.208813558 60.3175239,0.208813558 L54.9396184,0.208813558 L54.9396184,12.3896045 Z M57.0597542,6.24700562 L57.0597542,2.1577401 L60.1451551,2.1577401 C61.7137109,2.1577401 62.6445022,2.87118642 62.6445022,4.17627116 L62.6445022,4.21107342 C62.6445022,5.44655364 61.6792371,6.24700562 60.162392,6.24700562 L57.0597542,6.24700562 Z M68.8382865,12.3896045 L77.8704098,12.3896045 L77.8704098,10.4754802 L70.9584223,10.4754802 L70.9584223,7.20406776 L77.0085659,7.20406776 L77.0085659,5.28994347 L70.9584223,5.28994347 L70.9584223,2.12293784 L77.7842254,2.12293784 L77.7842254,0.208813558 L68.8382865,0.208813558 L68.8382865,12.3896045 Z M81.8234001,12.3896045 L83.9435359,12.3896045 L83.9435359,7.43028245 L90.0281533,7.43028245 L90.0281533,5.4813559 L83.9435359,5.4813559 L83.9435359,2.1577401 L90.8038127,2.1577401 L90.8038127,0.208813558 L81.8234001,0.208813558 L81.8234001,12.3896045 Z M94.5671974,12.3896045 L103.030504,12.3896045 L103.030504,10.4406779 L96.6873332,10.4406779 L96.6873332,0.208813558 L94.5671974,0.208813558 L94.5671974,12.3896045 Z M106.793888,12.3896045 L108.914024,12.3896045 L108.914024,0.208813558 L106.793888,0.208813558 L106.793888,12.3896045 Z M119.296369,12.598418 C121.433742,12.598418 123.140193,11.7283615 124.329537,10.7016949 L124.329537,5.58576268 L119.192948,5.58576268 L119.192948,7.44768358 L122.278349,7.44768358 L122.278349,9.72723159 C121.537163,10.2840677 120.502951,10.6494915 119.365317,10.6494915 C116.900444,10.6494915 115.26294,8.8049717 115.26294,6.29920901 L115.26294,6.26440675 C115.26294,3.93265535 116.952154,1.96632767 119.175711,1.96632767 C120.709793,1.96632767 121.623348,2.47096044 122.554139,3.27141241 L123.898616,1.65310734 C122.65756,0.591638415 121.364795,0 119.261896,0 C115.624915,0 113.039383,2.88858755 113.039383,6.29920901 L113.039383,6.33401126 C113.039383,9.88384175 115.521494,12.598418 119.296369,12.598418 L119.296369,12.598418 Z M128.523844,12.3896045 L130.64398,12.3896045 L130.64398,7.25627115 L136.401097,7.25627115 L136.401097,12.3896045 L138.521232,12.3896045 L138.521232,0.208813558 L136.401097,0.208813558 L136.401097,5.27254234 L130.64398,5.27254234 L130.64398,0.208813558 L128.523844,0.208813558 L128.523844,12.3896045 Z M146.025019,12.3896045 L148.162392,12.3896045 L148.162392,2.19254236 L151.988979,2.19254236 L151.988979,0.208813558 L142.198433,0.208813558 L142.198433,2.19254236 L146.025019,2.19254236 L146.025019,12.3896045 Z\" id=\"Preflight\" class=\"logo-mitigator\"></path>\n        </svg>\n    </span>\n\n    <div class=\"logout\" (click)=\"logout()\">\n        <app-custom-icon\n            [iconPath]=\"'assets/icons/general-icons.svg'\"\n            [imageName]=\"'icon-signout'\">\n        </app-custom-icon>\n        <span>Sign Out</span>\n    </div>\n</div>\n<ng-container *ngFor=\"let item of (mainMenu$ | async)?.items\">\n    <a\n        *featureFlag=\"item.feature\"\n        class=\"item\"\n        [routerLink]=\"item.routerLink\"\n        [queryParams]=\"item.params\"\n        (click)=\"menuItemClickled.emit()\">\n        <img alt=\"icon\" [src]=\"item.icon\" />\n        <span>{{item.label}}</span>\n    </a>\n</ng-container>\n","import { Component, OnInit } from \"@angular/core\";\nimport { settingsMenuAnimations } from \"@/_utility/animations\";\n\n@Component({\n    selector: \"app-mobile-menu\",\n    templateUrl: \"./mobile-menu.component.html\",\n    styleUrls: [\"./mobile-menu.component.scss\"],\n    animations: settingsMenuAnimations,\n})\nexport class MobileMenuComponent implements OnInit {\n    isMenuOpened: boolean;\n\n    constructor() {}\n\n    ngOnInit() {}\n\n    toggleMenu(state: boolean) {\n        this.isMenuOpened = state;\n    }\n}\n","<div class=\"left-corner-control black\">\n    <a class=\"menu\"\n        *ngIf=\"!isMenuOpened; else menu\"\n        (click)=\"$event.stopPropagation(); toggleMenu(true)\">\n        <app-custom-icon\n            [iconPath]=\"'assets/icons/general-icons.svg'\"\n            [imageName]=\"'icon-menu'\">\n        </app-custom-icon>\n    </a>\n    <ng-template #menu>\n        <a class=\"close\" (click)=\"toggleMenu(false)\">\n            <div class=\"menu-icon\">\n                <app-custom-icon\n                    [iconPath]=\"'assets/icons/general-icons.svg'\"\n                    [imageName]=\"'icon-close'\">\n                </app-custom-icon>\n            </div>\n        </a>\n    </ng-template>\n</div>\n\n<app-mobile-full-menu *ngIf=\"isMenuOpened\" (menuItemClickled)=\"toggleMenu(false)\">\n</app-mobile-full-menu>\n","import { Component, OnInit } from \"@angular/core\";\nimport {\n    ActivatedRoute,\n    ActivatedRouteSnapshot,\n    NavigationEnd,\n    Router,\n} from \"@angular/router\";\nimport { Observable } from \"rxjs\";\nimport { filter, map, shareReplay, startWith } from \"rxjs/operators\";\nimport { LastScrollDirection } from \"@/_directives/scroll-state.directive\";\n\n@Component({\n    selector: \"app-pages\",\n    templateUrl: \"./pages.component.html\",\n    styleUrls: [\"./pages.component.scss\"],\n})\nexport class PagesComponent implements OnInit {\n    hideMenu$: Observable<{\n        hideDesktopMenu: boolean;\n        hideMobileMenu: boolean;\n    }>;\n\n    constructor(\n        private router: Router,\n        private activatedRoute: ActivatedRoute,\n    ) {}\n\n    ngOnInit() {\n        this.hideMenu$ = this.router.events.pipe(\n            filter((e) => e instanceof NavigationEnd),\n            startWith(this.router),\n            map(() =>\n                this.childrenCheck(this.activatedRoute.snapshot.firstChild),\n            ),\n            shareReplay(),\n        );\n    }\n\n    childrenCheck(snapshot: ActivatedRouteSnapshot): {\n        hideDesktopMenu: boolean;\n        hideMobileMenu: boolean;\n    } {\n        if (\n            snapshot.data.hasOwnProperty(\"hideDesktopMenu\") ||\n            snapshot.data.hasOwnProperty(\"hideMobileMenu\")\n        ) {\n            return {\n                hideDesktopMenu: snapshot.data[\"hideDesktopMenu\"] || false,\n                hideMobileMenu: snapshot.data[\"hideMobileMenu\"] || false,\n            };\n        }\n\n        if (snapshot.children.length) {\n            return this.childrenCheck(snapshot.firstChild);\n        }\n\n        return { hideDesktopMenu: false, hideMobileMenu: false };\n    }\n}\n","<div class=\"app-container settings\">\n    <ng-container *ngIf=\"!(hideMenu$ | async)?.hideDesktopMenu\">\n        <app-desktop-menu *appDesktop></app-desktop-menu>\n    </ng-container>\n\n    <div class=\"settings app-main\">\n        <router-outlet></router-outlet>\n    </div>\n\n    <ng-container *ngIf=\"!(hideMenu$ | async)?.hideMobileMenu\">\n        <app-mobile-menu *appMobile></app-mobile-menu>\n    </ng-container>\n</div>\n","import { Component, OnInit } from \"@angular/core\";\nimport { IndividualConfig, ToastrService } from \"ngx-toastr\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { UntypedFormBuilder, UntypedFormGroup } from \"@angular/forms\";\n\n@Component({\n    selector: \"app-bakery\",\n    templateUrl: \"./bakery.component.html\",\n    styleUrls: [\"./bakery.component.scss\"],\n})\nexport class BakeryComponent implements OnInit {\n    closeButtonOptions: RadioOption[] = [\n        {\n            label: \"Yes\",\n            value: true,\n        },\n        {\n            label: \"No\",\n            value: false,\n        },\n    ];\n    toastForm: UntypedFormGroup;\n\n    constructor(\n        private toastService: ToastrService,\n        private formBuilder: UntypedFormBuilder,\n    ) {}\n\n    ngOnInit() {\n        this.toastForm = this.formBuilder.group({\n            type: this.formBuilder.control(\"success\"),\n            closeButton: this.formBuilder.control(true),\n            title: this.formBuilder.control(\"\"),\n            message: this.formBuilder.control(\"\"),\n        });\n    }\n\n    selectCloseButton($event: any) {\n        this.toastForm.get(\"closeButton\").patchValue($event);\n    }\n\n    makeToast() {\n        const params = this.toastForm.value;\n        const options: Partial<IndividualConfig> = {\n            disableTimeOut: true,\n        };\n        options.closeButton = params.closeButton;\n\n        this.toastService[params.type](params.message, params.title, options);\n    }\n\n    closeToast() {\n        this.toastService.clear();\n    }\n}\n","<div class=\"container\" [formGroup]=\"toastForm\">\n    <label for=\"toast-type\">ToastType</label>\n\n    <select id=\"toast-type\" formControlName=\"type\">\n        <option [value]=\"'success'\">Success</option>\n        <option [value]=\"'error'\">Error</option>\n    </select>\n\n    <label>Show close button</label>\n    <app-radio-list\n        [currentSelection]=\"true\"\n        [options]=\"closeButtonOptions\"\n        (onChange)=\"selectCloseButton($event)\"></app-radio-list>\n\n    <label for=\"title\">Title</label>\n    <input type=\"text\" id=\"title\" formControlName=\"title\" />\n\n    <label for=\"message\">Message</label>\n    <input type=\"text\" id=\"message\" formControlName=\"message\" />\n\n    <button class=\"btn btn-primary\" (click)=\"makeToast()\">Make toast</button>\n\n    <button class=\"btn btn-secondary\" (click)=\"closeToast()\">\n        Close toast\n    </button>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { UntypedFormControl, UntypedFormGroup } from \"@angular/forms\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { DateRangeFilterModalComponent } from \"@/components/shared/modals/date-range-filter-modal/date-range-filter-modal.component\";\nimport { from, tap } from \"rxjs\";\n\n@Component({\n    selector: \"app-insights-filter-sidebar\",\n    templateUrl: \"./insights-filter-sidebar.component.html\",\n    styleUrls: [\"./insights-filter-sidebar.component.scss\"],\n})\nexport class InsightsFilterSidebarComponent implements OnInit {\n    @Input() filterForm: UntypedFormGroup;\n    @Output() closeButtonClicked: EventEmitter<void> = new EventEmitter<void>();\n\n    @Input() userList: RadioOption[];\n    @Input() timeFrameList: RadioOption[];\n    @Input() aircraftList: RadioOption[];\n    @Input() formList: RadioOption[];\n\n    constructor(private modalService: NgbModal) {}\n\n    ngOnInit() {}\n\n    setDateRangeValue(control: UntypedFormControl, value: any) {\n        control.setValue(value);\n        if (value === \"\") {\n            return this.filterForm.get(\"flightDate\").setValue(\"\");\n        }\n        if (value === \"custom\") {\n            const filterModal = this.modalService.open(\n                DateRangeFilterModalComponent,\n            );\n            const component =\n                filterModal.componentInstance as DateRangeFilterModalComponent;\n            component.control = this.filterForm.get(\n                \"flightDate\",\n            ) as UntypedFormControl;\n\n            from(filterModal.result)\n                .pipe(\n                    tap(() => {\n                        if (!this.filterForm.get(\"flightDate\").value.length) {\n                            this.setDateRangeValue(control, \"\");\n                            control.setValue(\"\");\n                        }\n                    }),\n                )\n                .subscribe();\n        } else {\n            const currentDate = new Date();\n            const targetDate = new Date();\n            targetDate.setDate(currentDate.getDate() + value);\n            const currentDateString = currentDate\n                .toISOString()\n                .substring(0, 10);\n            const targetDateString = targetDate.toISOString().substring(0, 10);\n            return this.filterForm\n                .get(\"flightDate\")\n                .setValue(\n                    value >= 0\n                        ? [currentDateString, targetDateString]\n                        : [targetDateString, currentDateString],\n                );\n        }\n    }\n\n    close() {\n        this.closeButtonClicked.emit();\n    }\n}\n","<div class=\"app-content filter\">\n    <div class=\"filter-header\">\n        <h2>Filter</h2>\n        <span (click)=\"close()\">\n            <app-custom-icon\n                [iconPath]=\"'assets/icons/general-icons.svg'\"\n                [imageName]=\"'icon-close'\">\n            </app-custom-icon>\n        </span>\n    </div>\n    <mat-accordion>\n        <app-sidebar-filter-panel\n            *ngIf=\"filterForm | formControl:'responsiblePilot' as control\"\n            [title]=\"'Individual'\"\n            [controls]=\"[control]\"\n            [isEmpty]=\"!control.value\">\n            <app-select\n                [control]=\"control\"\n                [optionList]=\"userList\"\n                [placeholder]=\"'Select Pilot'\"></app-select>\n        </app-sidebar-filter-panel>\n\n        <app-sidebar-filter-panel\n            *ngIf=\"filterForm | formControl:'timeFrame' as control\"\n            [title]=\"'Time Frame (UTC)'\"\n            [controls]=\"[control, filterForm | formControl:'flightDate']\"\n            [isEmpty]=\"!control.value\">\n            <app-radio-list\n                [options]=\"timeFrameList\"\n                [view]=\"'button-view'\"\n                [direction]=\"'list-column'\"\n                [currentSelection]=\"control.value\"\n                (onChange)=\"setDateRangeValue(control, $event)\"></app-radio-list>\n        </app-sidebar-filter-panel>\n\n        <app-sidebar-filter-panel\n            *ngIf=\"filterForm | formControl:'aircraft' as control\"\n            [title]=\"'Aircraft'\"\n            [controls]=\"[control]\"\n            [isEmpty]=\"!control.value\">\n            <app-select\n                [control]=\"control\"\n                [optionList]=\"aircraftList\"\n                [placeholder]=\"'Select Aircraft'\"></app-select>\n        </app-sidebar-filter-panel>\n\n        <app-sidebar-filter-panel\n            *ngIf=\"filterForm | formControl:'airport' as control\"\n            [title]=\"'Airport'\"\n            [controls]=\"[control]\"\n            [isEmpty]=\"!control.value?.icao_code\">\n            <airport-picker [control]=\"control\" [height]=\"40\"></airport-picker>\n        </app-sidebar-filter-panel>\n\n        <app-sidebar-filter-panel\n            *ngIf=\"filterForm | formControl:'assessment' as control\"\n            [title]=\"'Form'\"\n            [controls]=\"[control]\"\n            [isEmpty]=\"!control.value\">\n            <app-radio-list\n                [options]=\"formList\"\n                [view]=\"'button-view'\"\n                [direction]=\"'list-column'\"\n                [currentSelection]=\"control.value\"\n                (onChange)=\"control.setValue($event)\"></app-radio-list>\n        </app-sidebar-filter-panel>\n    </mat-accordion>\n</div>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    OnInit,\n    Output,\n} from \"@angular/core\";\nimport { UntypedFormGroup } from \"@angular/forms\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\n\n@Component({\n    selector: \"app-insights-filter-topbar\",\n    templateUrl: \"./insights-filter-topbar.component.html\",\n    styleUrls: [\"./insights-filter-topbar.component.scss\"],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InsightsFilterTopbarComponent implements OnInit {\n    @Input() filterForm: UntypedFormGroup;\n    @Input() currentFilters;\n    @Output() filterButtonClicked: EventEmitter<void> =\n        new EventEmitter<void>();\n\n    @Input() timeFrameList: RadioOption[];\n    @Input() userList: RadioOption[];\n    @Input() aircraftList: RadioOption[];\n    @Input() formList: RadioOption[];\n\n    constructor() {}\n\n    ngOnInit() {}\n\n    openFilterMenu() {\n        this.filterButtonClicked.emit();\n    }\n\n    isDisplayable(filter) {\n        if (filter.key === \"airport\" && filter.value._id) {\n            return true;\n        }\n\n        if (filter.key === \"airport\" && !filter.value._id) {\n            return false;\n        }\n\n        return filter.value.length;\n    }\n\n    resetFilter(filterKey: string) {\n        if (filterKey === \"flightDate\") {\n            return this.filterForm.get(filterKey).setValue([]);\n        }\n        return this.filterForm.get(filterKey).setValue(\"\");\n    }\n}\n","<div class=\"table-filters\">\n    <div class=\"filter-button\" (click)=\"openFilterMenu()\">\n        <app-custom-icon\n            [iconPath]=\"'assets/icons/general-icons.svg'\"\n            [imageName]=\"'filter'\"\n            [imageSize]=\"'18'\">\n        </app-custom-icon>\n        <span>Filter</span>\n    </div>\n    <ng-container *ngFor=\"let filter of currentFilters | keyvalue\">\n        <ng-container *ngIf=\"isDisplayable(filter)\" [ngSwitch]=\"filter.key\">\n            <app-topbar-filter-button\n                *ngSwitchCase=\"'responsiblePilot'\"\n                [filter]=\"filter\"\n                [dataToDisplay]=\"'Individual: ' + (filter.value | findInList:userList)?.label\"\n                (resetClicked)=\"resetFilter(filter.key)\"></app-topbar-filter-button>\n            <app-topbar-filter-button\n                *ngSwitchCase=\"'flightDate'\"\n                [filter]=\"filter\"\n                [dataToDisplay]=\"filter.value | dateIntervalToString\"\n                (resetClicked)=\"resetFilter(filter.key); resetFilter('timeFrame')\"></app-topbar-filter-button>\n            <app-topbar-filter-button\n                *ngSwitchCase=\"'aircraft'\"\n                [filter]=\"filter\"\n                [dataToDisplay]=\"'Aircraft: ' + (filter.value | findInList:aircraftList)?.label\"\n                (resetClicked)=\"resetFilter(filter.key)\"></app-topbar-filter-button>\n            <app-topbar-filter-button\n                *ngSwitchCase=\"'airport'\"\n                [filter]=\"filter\"\n                [dataToDisplay]=\"'Airport: ' + filter.value.icao_code + ' ' + filter.value.name\"\n                (resetClicked)=\"resetFilter(filter.key)\"></app-topbar-filter-button>\n            <app-topbar-filter-button\n                *ngSwitchCase=\"'assessment'\"\n                [filter]=\"filter\"\n                [dataToDisplay]=\"'Form: ' + (filter.value | findInList:formList)?.label\"\n                (resetClicked)=\"resetFilter(filter.key)\"></app-topbar-filter-button>\n            <ng-container *ngSwitchDefault></ng-container>\n        </ng-container>\n    </ng-container>\n</div>\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { MitigationStats, StatsResult } from \"@/_models\";\nimport { AircraftService, AssessmentService, UserService } from \"@/_services\";\nimport { from, Observable, Subscription } from \"rxjs\";\nimport {\n    debounceTime,\n    filter,\n    map,\n    shareReplay,\n    switchMap,\n    take,\n    tap,\n} from \"rxjs/operators\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { PdfConfirmExportComponent } from \"@/components/shared/modals/pdf-confirm-export/pdf-confirm-export.component\";\nimport { LoadingModalComponent } from \"@/components/shared/loading-modal/loading-modal.component\";\nimport { ReportExportResultDto } from \"@/_models/stats-export-response\";\nimport { expandingFabAnimations } from \"@/_utility/animations\";\nimport { UntypedFormBuilder, UntypedFormGroup } from \"@angular/forms\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { FilterService } from \"@/_services/filter.service\";\n\n@Component({\n    templateUrl: \"./statistics.component.html\",\n    styleUrls: [\"./statistics.component.scss\"],\n    animations: [expandingFabAnimations],\n})\nexport class StatisticsComponent implements OnInit, OnDestroy {\n    stats$: Observable<StatsResult>;\n    statsData$: Observable<MitigationStats>;\n\n    filterForm: UntypedFormGroup;\n    filterFormSubscription: Subscription;\n    currentFilters;\n\n    timeFrameList: RadioOption[] = [\n        { label: \"All\", value: \"\" },\n        { label: \"Next 30 days\", value: 30 },\n        { label: \"Next 7 days\", value: 7 },\n        { label: \"Tomorrow\", value: 1 },\n        { label: \"Today\", value: 0 },\n        { label: \"Yesterday\", value: -1 },\n        { label: \"Past 7 Days\", value: -7 },\n        { label: \"Past 30 Days\", value: -30 },\n        { label: \"Past Year\", value: -365 },\n        { label: \"Custom Time\", value: \"custom\" },\n    ];\n    userList$: Observable<RadioOption[]>;\n    aircraftList$: Observable<RadioOption[]>;\n    formList$: Observable<RadioOption[]>;\n\n    constructor(\n        private userService: UserService,\n        private aircraftService: AircraftService,\n        private modalService: NgbModal,\n        private toastService: ToastrService,\n        private formBuilder: UntypedFormBuilder,\n        private assessmentService: AssessmentService,\n        private filterService: FilterService,\n    ) {}\n\n    ngOnInit(): void {\n        this.buildFilterForm();\n\n        this.userList$ = this.userService.getUsers().pipe(\n            map((users) =>\n                users.map((user) => {\n                    return { label: user.fullName, value: user._id };\n                }),\n            ),\n            shareReplay(),\n        );\n\n        this.aircraftList$ = this.aircraftService.listAircraft().pipe(\n            map((aircrafts) =>\n                aircrafts.map((aircraft) => {\n                    return { label: aircraft.designation, value: aircraft._id };\n                }),\n            ),\n            shareReplay(),\n        );\n\n        this.formList$ = this.assessmentService\n            .getAssessmentsByType(\"assessment\")\n            .pipe(\n                map((assessments) => [\n                    { label: \"All\", value: \"\" },\n                    ...assessments.map((assessment) => {\n                        return {\n                            label: assessment.title,\n                            value: assessment._id,\n                        };\n                    }),\n                ]),\n                shareReplay(),\n            );\n    }\n\n    ngOnDestroy(): void {\n        if (this.filterFormSubscription) {\n            this.filterFormSubscription.unsubscribe();\n        }\n    }\n\n    buildFilterForm() {\n        this.filterForm = this.formBuilder.group({\n            responsiblePilot: [\"\"],\n            timeFrame: [\"\"],\n            flightDate: [[]],\n            aircraft: [\"\"],\n            airport: [\"\"],\n            assessment: [\"\"],\n        });\n\n        this.filterFormSubscription = this.filterForm.valueChanges\n            .pipe(\n                debounceTime(500),\n                tap((changes) =>\n                    localStorage.setItem(\n                        \"insight-list-filters\",\n                        JSON.stringify(changes),\n                    ),\n                ),\n                tap((changes) => (this.currentFilters = { ...changes })),\n                tap(() => this.updateFlightList()),\n            )\n            .subscribe();\n\n        if (!!localStorage.getItem(\"insight-list-filters\")) {\n            const filters = JSON.parse(\n                localStorage.getItem(\"insight-list-filters\"),\n            );\n            this.filterForm.patchValue(filters, {\n                emitEvent: false,\n                onlySelf: true,\n            });\n            this.currentFilters = { ...filters };\n            this.updateFlightList();\n        } else {\n            this.updateFlightList();\n        }\n    }\n\n    buildFilterQuery() {\n        return this.filterService.buildFilterQuery(this.filterForm);\n    }\n\n    updateFlightList() {\n        this.stats$ = this.userService\n            .getUserStats(this.buildFilterQuery())\n            .pipe(shareReplay());\n        this.statsData$ = this.stats$.pipe(\n            map((stats) => stats.data),\n            shareReplay(),\n        );\n    }\n\n    exportPDF() {\n        const confirmationModal = this.modalService.open(\n            PdfConfirmExportComponent,\n        );\n        const component =\n            confirmationModal.componentInstance as PdfConfirmExportComponent;\n        component.currentFilters = this.currentFilters;\n        component.userList$ = this.userList$;\n        component.aircraftList$ = this.aircraftList$;\n        component.formList$ = this.formList$;\n\n        from(confirmationModal.result)\n            .pipe(\n                take(1),\n                filter((result) => !!result),\n                map((result) => result as \"pdf\" | \"csv\"),\n                switchMap((result: \"pdf\" | \"csv\") => {\n                    const loading = this.modalService.open(\n                        LoadingModalComponent,\n                    );\n                    const loadingComponent =\n                        loading.componentInstance as LoadingModalComponent;\n                    loadingComponent.message = \"Generating PDF\";\n\n                    return this.userService\n                        .exportStats(this.buildFilterQuery(), result)\n                        .pipe(\n                            map((response: ReportExportResultDto) => {\n                                const link = document.createElement(\"a\");\n                                link.href = window.URL.createObjectURL(\n                                    response.data,\n                                );\n                                link.download = response.filename;\n                                link.setAttribute(\"target\", \"_blank\");\n                                return link;\n                            }),\n                            tap(\n                                (next) => {\n                                    loading.close();\n                                },\n                                (error) => {\n                                    loading.close();\n                                },\n                            ),\n                        );\n                }),\n            )\n            .subscribe({\n                next: (link) => {\n                    link.click();\n                    confirmationModal.close();\n                    link.remove();\n                },\n                error: (err) => {\n                    confirmationModal.close();\n                    this.toastService.error(err, \"Unable to generate PDF\");\n                },\n            });\n    }\n}\n","<app-page-topbar [title]=\"'Performance'\">\n    <div *appDesktop class=\"button\" (click)=\"exportPDF()\">\n        <span>Export Insights</span>\n        <!-- <img src=\"/assets/icon/icon-export-pdf-arrow.svg\" alt=\"Export\" /> -->\n    </div>\n</app-page-topbar>\n\n<mat-drawer-container [hasBackdrop]=\"true\">\n    <mat-drawer #sidenav [mode]=\"'over'\">\n        <app-insights-filter-sidebar\n            [filterForm]=\"filterForm\"\n            (closeButtonClicked)=\"sidenav.close()\"\n            [userList]=\"userList$ | async\"\n            [timeFrameList]=\"timeFrameList\"\n            [aircraftList]=\"aircraftList$ | async\"\n            [formList]=\"formList$ | async\"></app-insights-filter-sidebar>\n    </mat-drawer>\n    <mat-drawer-content class=\"app-content listings\">\n        <app-insights-filter-topbar\n            [filterForm]=\"filterForm\"\n            [currentFilters]=\"currentFilters\"\n            (filterButtonClicked)=\"sidenav.open()\"\n            [userList]=\"userList$ | async\"\n            [timeFrameList]=\"timeFrameList\"\n            [aircraftList]=\"aircraftList$ | async\"\n            [formList]=\"formList$ | async\"></app-insights-filter-topbar>\n\n        <app-loading-indicator\n            *ngIf=\"!(stats$ | async); else content\"></app-loading-indicator>\n\n        <ng-template #content>\n            <div *ngIf=\"!(stats$ | async)?.meta?.results; else stats\">\n                <div class=\"empty-state\">\n                    <img\n                        class=\"no-assessment\"\n                        id=\"img-empty-insights\"\n                        src=\"/assets/img/empty-insights.svg\"\n                        alt=\"No Stats to Display\" />\n                    <h2>No Statistics to Display</h2>\n                    <p>\n                        Change the filters to view different\n                        <br />\n                        trends and insights.\n                    </p>\n                    <a\n                        class=\"open-filters\"\n                        (click)=\"sidenav.open(); $event.stopPropagation()\">\n                        Change Filtered View\n                    </a>\n                </div>\n            </div>\n\n            <ng-template #stats>\n                <pilot-stats\n                    *ngIf=\"statsData$ | async\"\n                    [stats$]=\"statsData$\"></pilot-stats>\n            </ng-template>\n\n            <div\n                class=\"footer-links\"\n                *ngIf=\"(stats$ | async)?.meta?.results > 0\">\n                <p>Looking for different statistics? Let us know!</p>\n                <a\n                    class=\"request\"\n                    target=\"_blank\"\n                    href=\"https://preflightmitigator.com/feature-request.html\">\n                    Request Specific Statistics\n                </a>\n            </div>\n        </ng-template>\n\n        <div class=\"right-corner-control blue\" *appMobile>\n            <a (click)=\"exportPDF()\">\n                <span>Export Insights</span>\n            </a>\n        </div>\n    </mat-drawer-content>\n</mat-drawer-container>\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n    selector: \"app-quick-start-card\",\n    templateUrl: \"./quick-start-card.component.html\",\n    styleUrl: \"./quick-start-card.component.scss\",\n})\nexport class QuickStartCardComponent {\n    @Input() iconSrc: string;\n    @Input() iconId: string;\n    @Input() title: string;\n    @Input() description: string;\n}\n","<app-card [noMargin]=\"true\" [noPadding]=\"true\" [showHeader]=\"false\">\n    <div card-body class=\"quick-start-card flex flex-column gap-10px\">\n        <img [src]=\"iconSrc\" height=\"80\" [id]=\"iconId\" alt=\"\">\n        <div class=\"flex flex-column\">\n            <h3>{{title}}</h3>\n            <span>{{description}}</span>\n        </div>\n        <ng-content></ng-content>\n    </div>\n</app-card>\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n    selector: \"app-setup-line\",\n    templateUrl: \"./setup-line.component.html\",\n    styleUrl: \"./setup-line.component.scss\",\n})\nexport class SetupLineComponent {\n    @Input() action: {\n        icon: string;\n        title: string;\n        description: string;\n        link: string;\n    };\n}\n","<div class=\"setup-line\" [routerLink]=\"action.link\">\n    <img [src]=\"action.icon\" [alt]=\"action.title\">\n    <div class=\"flex flex-column\">\n        <h3>{{action.title}}</h3>\n        <span>{{action.description}}</span>\n    </div>\n    <a class=\"link\">\n        <app-custom-icon\n            [iconPath]=\"'assets/icons/general-icons.svg'\"\n            [imageName]=\"'icon-chevron-right'\">\n        </app-custom-icon>\n    </a>\n</div>\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n    selector: \"app-empower-line\",\n    templateUrl: \"./empower-line.component.html\",\n    styleUrl: \"./empower-line.component.scss\",\n})\nexport class EmpowerLineComponent {\n    @Input() iconSrc: string;\n    @Input() title: string;\n    @Input() description: string;\n}\n","<div class=\"empower-line flex gap-20px\">\n    <img [src]=\"iconSrc\" height=\"50\" alt=\"\">\n    <div class=\"flex flex-column gap-5px\">\n        <h3>{{title}}</h3>\n        <span>{{description}}</span>\n        <ng-content></ng-content>\n    </div>\n</div>\n","import { Component, inject, OnInit } from \"@angular/core\";\nimport { map, Observable, tap } from \"rxjs\";\nimport {\n    AssessmentService,\n    USER_IS_AT_LEAST_ADMIN,\n    UserService,\n} from \"@/_services\";\nimport { AssessmentDto, UserDm } from \"@/_models\";\nimport UserModel = UserDm.UserModel;\nimport { PromotionService } from \"@/_services/promotion.service\";\nimport { Router } from \"@angular/router\";\nimport { Promotion } from \"@/_models/promotion.interface\";\nimport { IssueService } from \"@/_services/issue.service\";\nimport { Issue } from \"@/_models/issue.interface\";\n\n@Component({\n    selector: \"app-welcome-trial\",\n    templateUrl: \"./welcome-trial.component.html\",\n    styleUrl: \"./welcome-trial.component.scss\",\n})\nexport class WelcomeTrialComponent implements OnInit {\n    private userService = inject(UserService);\n    private formService = inject(AssessmentService);\n    private issueService = inject(IssueService);\n    private promotionService = inject(PromotionService);\n    private router = inject(Router);\n\n    currentDate: Date;\n    currentUser$: Observable<UserModel>;\n    isAtLeastAdmin$: Observable<boolean> = inject(USER_IS_AT_LEAST_ADMIN);\n\n    setupActionList: any[] = [\n        {\n            icon: \"/assets/img/welcome-trial/setup-aircraft.svg\",\n            title: \"Add Aircraft\",\n            description:\n                \"Enter your aircraft type and identifiers to use in risk assessments.\",\n            link: \"/profile/aircraft\",\n        },\n        {\n            icon: \"/assets/img/welcome-trial/setup-members.svg\",\n            title: \"Add Crew Members\",\n            description: \"Invite colleagues to join your safety journey.\",\n            link: \"/profile/users\",\n        },\n        {\n            icon: \"/assets/img/welcome-trial/setup-integrations.svg\",\n            title: \"Integrate Scheduling\",\n            description:\n                \"Generate risk assessments and share risk data automatically.\",\n            link: \"/profile/integrations\",\n        },\n        {\n            icon: \"/assets/img/welcome-trial/setup-manuals.svg\",\n            title: \"Upload Your Manuals\",\n            description:\n                \"Explore and add different form starter templates to your account.\",\n            link: \"/policies/manuals\",\n        },\n        {\n            icon: \"/assets/img/welcome-trial/setup-templates.svg\",\n            title: \"Explore Form Templates\",\n            description: \"Clone and customize various starter form templates.\",\n            link: \"/assessments/new\",\n        },\n    ];\n\n    ngOnInit(): void {\n        this.currentDate = new Date();\n        this.currentUser$ = this.userService.getCurrentUserAsync();\n    }\n\n    takeAssessment() {\n        this.formService\n            .listAssessments()\n            .pipe(\n                map(\n                    (assessments) =>\n                        assessments.find((asmt) => asmt.isDefault) ||\n                        assessments[0],\n                ),\n                tap((redirectAssessment: AssessmentDto) =>\n                    this.router.navigate([\"tasks\", \"createFlight\"], {\n                        queryParams: { assessmentId: redirectAssessment._id },\n                    }),\n                ),\n            )\n            .subscribe();\n    }\n\n    submitHazard() {\n        this.router.navigateByUrl(\"/tasks/createFlight\");\n    }\n\n    mitigateRisk() {\n        this.issueService\n            .createIssue()\n            .pipe(\n                tap((issue: Issue) =>\n                    this.router.navigateByUrl(\n                        `/assurance/registry/${issue._id}`,\n                    ),\n                ),\n            )\n            .subscribe();\n    }\n\n    sendPromotion() {\n        this.promotionService\n            .createPromotion()\n            .pipe(\n                tap((promotion: Promotion) =>\n                    this.router.navigateByUrl(`/promotions/${promotion._id}`),\n                ),\n            )\n            .subscribe();\n    }\n\n    requestManual() {\n        window.open(\n            \"https://preflightmitigator.com/manual-request.html\",\n            \"_blank\",\n        );\n    }\n\n    integrateScheduling() {\n        this.router.navigateByUrl(\"/profile/integrations\");\n    }\n\n    modifyRiskForm() {\n        this.formService\n            .listAssessments()\n            .pipe(\n                map(\n                    (assessments) =>\n                        assessments.find((asmt) => asmt.isDefault) ||\n                        assessments[0],\n                ),\n                tap((redirectAssessment: AssessmentDto) =>\n                    this.router.navigateByUrl(\n                        `/assessments/${redirectAssessment._id}/edit/questionnaire`,\n                    ),\n                ),\n            )\n            .subscribe();\n    }\n}\n","<div class=\"welcome-container\">\n    <div class=\"container flex flex-column\" [style.grid-column]=\"'span 2'\">\n        <h4 class=\"date-line\">{{currentDate | date:'MMMM d, y':'UTC'}}</h4>\n        <span class=\"welcome-line-1\">\n            Hello {{ (currentUser$ | async)?.firstName }}\n            <img ngSrc=\"/assets/icons/welcome.svg\" height=\"30\" width=\"30\" alt=\"Welcome\">\n        </span>\n        <span class=\"welcome-line-2\">Welcome to Preflight Mitigator.</span>\n    </div>\n\n    <div class=\"container container-3 flex flex-column gap-20px\" [style.grid-column]=\"'span 3'\">\n        <div class=\"step-header\">\n            <h2>Quick Start</h2>\n            <p>Get familiar with how everything works by testing out a few key actions.</p>\n        </div>\n\n        <div class=\"quick-start-grid\">\n            <app-quick-start-card\n                [iconSrc]=\"'/assets/img/welcome-trial/risk-assessment.svg'\"\n                [iconId]=\"'img-risk-assessment'\"\n                [title]=\"'Risk Assessment'\"\n                [description]=\"'Test out the default IS-BAO risk assessment form.'\">\n                <button class=\"btn-secondary\" [style.padding]=\"'5px 15px'\" (click)=\"takeAssessment()\">\n                    Take Assessment\n                </button>\n            </app-quick-start-card>\n\n            <app-quick-start-card\n                [iconSrc]=\"'/assets/img/welcome-trial/hazard-report.svg'\"\n                [iconId]=\"'img-hazard-report'\"\n                [title]=\"'Hazard Report'\"\n                [description]=\"'Try submitting a test hazard or incident report for review.'\">\n                <button class=\"btn-secondary\" [style.padding]=\"'5px 15px'\" (click)=\"submitHazard()\">\n                    Submit Hazard\n                </button>\n            </app-quick-start-card>\n\n            <app-quick-start-card\n                [iconSrc]=\"'/assets/img/welcome-trial/risk-mitigation.svg'\"\n                [iconId]=\"'img-risk-mitigation'\"\n                [title]=\"'Risk Mitigation'\"\n                [description]=\"'Fill out a root cause analysis and create a corrective action plan.'\">\n                <button class=\"btn-secondary\" [style.padding]=\"'5px 15px'\" (click)=\"mitigateRisk()\">\n                    Mitigate Risk\n                </button>\n            </app-quick-start-card>\n\n            <app-quick-start-card\n                [iconSrc]=\"'/assets/img/welcome-trial/safety-promotion.svg'\"\n                [iconId]=\"'img-safety-promotion'\"\n                [title]=\"'Safety Promotion'\"\n                [description]=\"'Build a safety announcement and send it out to the crew.'\">\n                <button class=\"btn-secondary\" [style.padding]=\"'5px 15px'\" (click)=\"sendPromotion()\">\n                    Send Promotion\n                </button>\n            </app-quick-start-card>\n        </div>\n    </div>\n\n    <div *ngIf=\"isAtLeastAdmin$ | async\" class=\"container container-2 flex flex-column gap-20px\">\n        <div class=\"step-header\">\n            <h2>Setup Essentials</h2>\n            <p>Unlock the power of Preflight Mitigator by completing your account setup.</p>\n        </div>\n        <app-card [noMargin]=\"true\" [noPadding]=\"true\" [showHeader]=\"false\">\n            <div card-body class=\"setup-container\">\n                <app-setup-line *ngFor=\"let action of setupActionList\" [action]=\"action\">\n                </app-setup-line>\n            </div>\n        </app-card>\n    </div>\n\n    <div *ngIf=\"isAtLeastAdmin$ | async\" class=\"container flex flex-column gap-20px\">\n        <div class=\"step-header\">\n            <h2>Empower Your SMS</h2>\n            <p>Establish an effective SMS with these tips.</p>\n        </div>\n\n        <div class=\"flex flex-column gap-20px\">\n            <app-empower-line\n                [iconSrc]=\"'/assets/img/welcome-trial/empower-manual.svg'\"\n                [title]=\"'Leverage a Custom SMS Manual'\"\n                [description]=\"'Our FAA Part 5 / ICAO SMS manual by Aviation Safety Solutions will streamline your FAA Part 5 approval.'\">\n                <button class=\"btn-secondary-simple\" [style.padding]=\"'0'\" (click)=\"requestManual()\">\n                    Request Manual\n                    <app-custom-icon\n                        [iconPath]=\"'assets/icons/general-icons.svg'\"\n                        [imageName]=\"'icon-chevron-right'\">\n                    </app-custom-icon>\n                </button>\n            </app-empower-line>\n\n            <app-empower-line\n                [iconSrc]=\"'/assets/img/welcome-trial/empower-scheduling.svg'\"\n                [title]=\"'Integrate Your Flight Scheduling'\"\n                [description]=\"'Ensure a risk assessment is completed for every trip by automating the setup process for your pilots.'\">\n                <button class=\"btn-secondary-simple\" [style.padding]=\"'0'\" (click)=\"integrateScheduling()\">\n                    Integrate Scheduling\n                    <app-custom-icon\n                        [iconPath]=\"'assets/icons/general-icons.svg'\"\n                        [imageName]=\"'icon-chevron-right'\">\n                    </app-custom-icon>\n                </button>\n            </app-empower-line>\n\n            <app-empower-line\n                [iconSrc]=\"'/assets/img/welcome-trial/empower-risk-form.svg'\"\n                [title]=\"'Customize Your Risk Form'\"\n                [description]=\"'Adjust the risk assessment to track and evaluate the specific risk factors relevant to your operations.'\">\n                <button class=\"btn-secondary-simple\" [style.padding]=\"'0'\" (click)=\"modifyRiskForm()\">\n                    Modify Risk Form\n                    <app-custom-icon\n                        [iconPath]=\"'assets/icons/general-icons.svg'\"\n                        [imageName]=\"'icon-chevron-right'\">\n                    </app-custom-icon>\n                </button>\n            </app-empower-line>\n        </div>\n    </div>\n</div>\n","import { CanActivateFn, Router } from \"@angular/router\";\nimport { inject } from \"@angular/core\";\nimport { SubscriptionService } from \"@/_services\";\nimport { ISubscription } from \"@/_models\";\nimport { map } from \"rxjs/operators\";\n\nexport const activeTrialOnlyGuard: CanActivateFn = (route, state) => {\n    const subscriptionService = inject(SubscriptionService);\n    const router = inject(Router);\n\n    return subscriptionService.subscriptionData().pipe(\n        map((subscription: ISubscription) => {\n            if (!subscription.isTrialActive()) {\n                router.navigateByUrl(\"/home\");\n                return false;\n            }\n            return true;\n        }),\n    );\n};\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n    name: \"percentChange\",\n    standalone: true,\n})\nexport class PercentChangePipe implements PipeTransform {\n    transform(value: number | string): unknown {\n        if (typeof value === \"string\") {\n            const floatValue = parseFloat(value);\n            if (isNaN(floatValue) || !isFinite(floatValue)) {\n                return \"--\";\n            }\n\n            if (floatValue > 0) {\n                return `+${floatValue}`;\n            }\n        }\n        return value;\n    }\n}\n","import {\n    AfterViewInit,\n    Component,\n    ElementRef,\n    Input,\n    OnChanges,\n    OnInit,\n    SimpleChanges,\n    ViewChild,\n} from \"@angular/core\";\nimport { Chart, ChartData, ChartOptions } from \"chart.js\";\n\n@Component({\n    selector: \"app-performance-chart\",\n    standalone: true,\n    imports: [],\n    templateUrl: \"./performance-chart.component.html\",\n    styleUrl: \"./performance-chart.component.scss\",\n})\nexport class PerformanceChartComponent\n    implements OnInit, AfterViewInit, OnChanges\n{\n    private chart: Chart;\n\n    @Input() options: ChartOptions;\n    @Input() data: ChartData;\n\n    @ViewChild(\"chartCanvas\", { static: true }) chartCanvas: ElementRef;\n\n    ngOnInit(): void {}\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (this.chart) {\n            if (changes.data.currentValue) {\n                this.chart.data = changes.data.currentValue;\n                this.chart.update();\n            }\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.chart = new Chart(this.chartCanvas.nativeElement, {\n            type: \"line\",\n            options: this.options,\n            data: this.data,\n        });\n    }\n}\n","    <canvas #chartCanvas></canvas>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    inject,\n    Input,\n    OnDestroy,\n    OnInit,\n} from \"@angular/core\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { RadioOption } from \"@/components/shared/radio-list/radio-list.component\";\nimport { FormControl, FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { FlightService } from \"@/_services\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { AsyncPipe, DatePipe, NgTemplateOutlet } from \"@angular/common\";\nimport { DateTimeFormat } from \"@/_utility/DateTimeFormat\";\nimport { map, shareReplay, startWith, switchMap } from \"rxjs/operators\";\nimport { ChartData } from \"chart.js\";\nimport { Options } from \"chartjs-plugin-datalabels/types/options\";\nimport { PercentChangePipe } from \"@/_pipes/nan-fix.pipe\";\nimport { UntilDestroy, untilDestroyed } from \"@ngneat/until-destroy\";\nimport { PerformanceChartComponent } from \"@/components/home/home-crew-performance/performance-chart/performance-chart.component\";\n\nconst lightChartLabelColor = \"var(--chart-text)\";\n\nconst labelOptions: Options = {\n    color: lightChartLabelColor,\n    font: {\n        weight: \"bold\",\n        size: 14,\n    },\n    display: (context) => {\n        const point = context.dataset.data[context.dataIndex] as number;\n        return point > 0;\n    },\n};\n\n@UntilDestroy()\n@Component({\n    selector: \"app-home-crew-performance\",\n    standalone: true,\n    imports: [\n        SharedComponentsModule,\n        DropdownModule,\n        FormsModule,\n        ReactiveFormsModule,\n        AsyncPipe,\n        DatePipe,\n        NgTemplateOutlet,\n        PercentChangePipe,\n        PerformanceChartComponent,\n    ],\n    templateUrl: \"./home-crew-performance.component.html\",\n    styleUrl: \"./home-crew-performance.component.scss\",\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HomeCrewPerformanceComponent implements OnInit, OnDestroy {\n    private flightService = inject(FlightService);\n\n    @Input() isAdmin: boolean = false;\n\n    readonly DateTimeFormat = DateTimeFormat;\n    timeFrameList: RadioOption[] = [\n        { label: \"Past 7 Days\", value: 7 },\n        { label: \"Past 30 Days\", value: 30 },\n        { label: \"Past 60 Days\", value: 60 },\n        { label: \"Past 90 Days\", value: 90 },\n        { label: \"Past Year\", value: 365 },\n    ];\n    timeFrameControl: FormControl<number> = new FormControl<number>(30);\n    timeFrameSubscription: Subscription;\n\n    stats$: Observable<any>;\n\n    readonly averageChartOptions = {\n        type: \"line\",\n        plugins: {\n            datalabels: labelOptions,\n        },\n        legend: { display: false },\n        aspectRatio: 20,\n        responsive: true,\n        maintainAspectRatio: false,\n        scales: {\n            yAxes: [\n                {\n                    ticks: {\n                        display: false,\n                        beginAtZero: true,\n                        stepSize: 5,\n                        autoSkip: false,\n                    },\n                },\n            ],\n            xAxes: [\n                {\n                    ticks: { display: false },\n                },\n            ],\n        },\n    };\n\n    readonly completionChartOptions = {\n        type: \"line\",\n        plugins: {\n            datalabels: labelOptions,\n        },\n        legend: { display: false },\n        aspectRatio: 20,\n        responsive: true,\n        maintainAspectRatio: false,\n        scales: {\n            yAxes: [\n                {\n                    ticks: {\n                        display: false,\n                        beginAtZero: true,\n                        stepSize: 1,\n                        autoSkip: false,\n                    },\n                },\n            ],\n            xAxes: [\n                {\n                    ticks: { display: false },\n                },\n            ],\n        },\n    };\n    averageScoreDataSet$: Observable<ChartData>;\n    completionDataset$: Observable<ChartData>;\n\n    ngOnInit() {\n        this.stats$ = this.timeFrameControl.valueChanges.pipe(\n            untilDestroyed(this),\n            startWith(this.timeFrameControl.value),\n            switchMap((value) => {\n                return this.flightService.getStats(value);\n            }),\n            shareReplay(),\n        );\n\n        this.averageScoreDataSet$ = this.stats$.pipe(\n            map((stats) => {\n                return {\n                    labels: [0, 1, 2, 3], // TODO: replace with date interval\n                    datasets: [\n                        {\n                            borderColor: \"#1987CB\",\n                            fill: false,\n                            data: stats.averageScores.currentPeriodValues,\n                            label: \"Current Period\",\n                        },\n                        {\n                            borderColor: \"#A4B3CB\",\n                            fill: false,\n                            data: stats.averageScores.previousPeriodValues,\n                            label: \"Previous Period\",\n                        },\n                    ],\n                };\n            }),\n        );\n\n        this.completionDataset$ = this.stats$.pipe(\n            map((stats) => {\n                return {\n                    labels: [0, 1, 2, 3], // TODO: replace with date interval\n                    datasets: [\n                        {\n                            borderColor: \"#1987CB\",\n                            fill: false,\n                            data: stats.completionRate.currentPeriodValues,\n                            label: \"Current Period\",\n                        },\n                        {\n                            borderColor: \"#A4B3CB\",\n                            fill: false,\n                            data: stats.completionRate.previousPeriodValues,\n                            label: \"Previous Period\",\n                        },\n                    ],\n                };\n            }),\n        );\n    }\n\n    ngOnDestroy() {\n        this.timeFrameSubscription?.unsubscribe();\n    }\n}\n","<div class=\"flex flex-column gap-20px\">\n    <h2 class=\"m-0\">{{ isAdmin ? 'Crew' : 'Your' }} Performance</h2>\n\n    <p-dropdown\n        styleClass=\"dropdown-rounded\"\n        [autoDisplayFirst]=\"false\"\n        [options]=\"timeFrameList\"\n        [formControl]=\"timeFrameControl\">\n    </p-dropdown>\n\n    @if (stats$ | async; as stats) {\n        @if (stats.averageScores; as averageScores) {\n            <app-card [showHeader]=\"false\" [noMargin]=\"true\">\n                <div card-body class=\"flex flex-column performance-card\">\n                    <div class=\"flex justify-content-between align-items-center\">\n                        <h3 class=\"m-0\">Average Score</h3>\n                        <div class=\"diff blue\">\n                            {{averageScores.percentChange | percentChange }}%\n                        </div>\n                    </div>\n\n                    <div class=\"flex justify-content-between align-items-center\">\n                        <div class=\"flex flex-column\">\n                            <h1 class=\"m-0\">{{averageScores.currentPeriodAvg}}</h1>\n                            <p class=\"timeframe\">\n                                {{stats.meta.currentPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - today\n                            </p>\n                        </div>\n\n                        <div class=\"flex flex-column align-items-end\">\n                            <h1 class=\"m-0 prev\">{{averageScores.previousPeriodAvg}}</h1>\n                            <p class=\"timeframe text-right\">\n                                {{stats.meta.previousPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - {{stats.meta.previousPeriodEnd | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}}\n                            </p>\n                        </div>\n                    </div>\n\n                    @if(averageScoreDataSet$|async; as dataset) {\n                        <div class=\"chart-wrapper\">\n                            <app-performance-chart class=w-full [options]=\"averageChartOptions\" [data]=\"dataset\"></app-performance-chart>\n                        </div>\n                    }\n                </div>\n            </app-card>\n        }\n\n        @if (stats.completionRate; as completionRate) {\n            <app-card [showHeader]=\"false\" [noMargin]=\"true\">\n                <div card-body class=\"flex flex-column performance-card\">\n                    <div class=\"flex justify-content-between align-items-center\">\n                        <h3 class=\"m-0\">Completion Rate</h3>\n                        <div class=\"diff blue\">\n                            {{completionRate.percentChange |percentChange}}%\n                        </div>\n                    </div>\n\n                    <div class=\"flex justify-content-between align-items-center\">\n                        <div class=\"flex flex-column\">\n                            <div class=\"flex gap-5px\">\n                                <h1 class=\"m-0\">{{ completionRate.currentPeriodCompletedPercent | percentChange }}%</h1>\n                                <h5 class=\"m-0\">({{completionRate.currentPeriodCompleted}}/{{completionRate.currentPeriodTotal}})</h5>\n                            </div>\n                            <p class=\"timeframe\">\n                                {{stats.meta.currentPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - today\n                            </p>\n                        </div>\n\n                        <div class=\"flex flex-column align-items-end\">\n                            <div class=\"flex gap-5px\">\n                                <h5 class=\"m-0 prev\">({{completionRate.previousPeriodCompleted}}/{{completionRate.previousPeriodTotal}})</h5>\n                                <h1 class=\"m-0 prev\">{{ completionRate.previousPeriodCompletedPercent | percentChange }}%</h1>\n                            </div>\n                            <p class=\"timeframe text-right\">\n                                {{stats.meta.previousPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - {{stats.meta.previousPeriodEnd | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}}\n                            </p>\n                        </div>\n                    </div>\n\n                    @if(completionDataset$|async; as dataset) {\n                        <div class=\"chart-wrapper\">\n                            <app-performance-chart class=w-full [options]=\"completionChartOptions\" [data]=\"dataset\"></app-performance-chart>\n                        </div>\n                    }\n                </div>\n            </app-card>\n        }\n\n        <ng-container *ngTemplateOutlet=\"specificScores; context: { title: 'Severe Scores', stats: stats, scores: stats.severeScores }\">\n        </ng-container>\n\n        <ng-container *ngTemplateOutlet=\"specificScores; context: { title: 'Moderate Scores', stats: stats, scores: stats.moderateScores }\">\n        </ng-container>\n\n        <ng-container *ngTemplateOutlet=\"specificScores; context: { title: 'Mild Scores', stats: stats, scores: stats.mildScores }\">\n        </ng-container>\n    }\n</div>\n\n<ng-template #specificScores let-title=title let-stats=stats let-scores=scores>\n    <app-card [showHeader]=\"false\" [noMargin]=\"true\">\n        <div card-body class=\"flex flex-column performance-card\">\n            <div class=\"flex justify-content-between align-items-center\">\n                <h3 class=\"m-0\">{{ title }}</h3>\n                <div class=\"diff blue\">\n                    {{scores.percentChange |percentChange}}%\n                </div>\n            </div>\n\n            <div class=\"flex justify-content-between align-items-center\">\n                <div class=\"flex flex-column\">\n                    <h1 class=\"m-0\">{{scores.currentPeriod}}</h1>\n                    <p class=\"timeframe\">\n                        {{stats.meta?.currentPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - today\n                    </p>\n                </div>\n\n                <div class=\"flex flex-column align-items-end\">\n                    <h1 class=\"m-0 prev\">{{scores.previousPeriod}}</h1>\n                    <p class=\"timeframe text-right\">\n                        {{stats.meta?.previousPeriodStart | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}} - {{stats.meta?.previousPeriodEnd | date:DateTimeFormat.NG_DATE_FORMAT_WITH_YEAR}}\n                    </p>\n                </div>\n            </div>\n        </div>\n    </app-card>\n</ng-template>\n","import { trigger, state, style, transition, animate } from '@angular/animations';\nimport * as i2 from '@angular/common';\nimport { isPlatformBrowser, DOCUMENT, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { EventEmitter, PLATFORM_ID, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, ContentChildren, HostListener, NgModule } from '@angular/core';\nimport * as i1 from 'primeng/api';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { TimesIcon } from 'primeng/icons/times';\nimport * as i3 from 'primeng/ripple';\nimport { RippleModule } from 'primeng/ripple';\nimport { ZIndexUtils } from 'primeng/utils';\n\n/**\n * OverlayPanel is a container component positioned as connected to its target.\n * @group Components\n */\nconst _c0 = [\"*\"];\nconst _c1 = (a0, a1) => ({\n  showTransitionParams: a0,\n  hideTransitionParams: a1\n});\nconst _c2 = (a0, a1) => ({\n  value: a0,\n  params: a1\n});\nfunction OverlayPanel_div_0_ng_container_3_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementContainer(0);\n  }\n}\nfunction OverlayPanel_div_0_button_4_TimesIcon_1_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelement(0, \"TimesIcon\", 8);\n  }\n  if (rf & 2) {\n    i0.ɵɵproperty(\"styleClass\", \"p-overlaypanel-close-icon\");\n  }\n}\nfunction OverlayPanel_div_0_button_4_span_2_1_ng_template_0_Template(rf, ctx) {}\nfunction OverlayPanel_div_0_button_4_span_2_1_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵtemplate(0, OverlayPanel_div_0_button_4_span_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n  }\n}\nfunction OverlayPanel_div_0_button_4_span_2_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"span\", 9);\n    i0.ɵɵtemplate(1, OverlayPanel_div_0_button_4_span_2_1_Template, 1, 0, null, 3);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const ctx_r1 = i0.ɵɵnextContext(3);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.closeIconTemplate);\n  }\n}\nfunction OverlayPanel_div_0_button_4_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r3 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"button\", 5);\n    i0.ɵɵlistener(\"click\", function OverlayPanel_div_0_button_4_Template_button_click_0_listener($event) {\n      i0.ɵɵrestoreView(_r3);\n      const ctx_r1 = i0.ɵɵnextContext(2);\n      return i0.ɵɵresetView(ctx_r1.onCloseClick($event));\n    })(\"keydown.enter\", function OverlayPanel_div_0_button_4_Template_button_keydown_enter_0_listener() {\n      i0.ɵɵrestoreView(_r3);\n      const ctx_r1 = i0.ɵɵnextContext(2);\n      return i0.ɵɵresetView(ctx_r1.hide());\n    });\n    i0.ɵɵtemplate(1, OverlayPanel_div_0_button_4_TimesIcon_1_Template, 1, 1, \"TimesIcon\", 6)(2, OverlayPanel_div_0_button_4_span_2_Template, 2, 1, \"span\", 7);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const ctx_r1 = i0.ɵɵnextContext(2);\n    i0.ɵɵattribute(\"aria-label\", ctx_r1.ariaCloseLabel);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngIf\", !ctx_r1.closeIconTemplate);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngIf\", ctx_r1.closeIconTemplate);\n  }\n}\nfunction OverlayPanel_div_0_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r1 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"div\", 1);\n    i0.ɵɵlistener(\"click\", function OverlayPanel_div_0_Template_div_click_0_listener($event) {\n      i0.ɵɵrestoreView(_r1);\n      const ctx_r1 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r1.onOverlayClick($event));\n    })(\"@animation.start\", function OverlayPanel_div_0_Template_div_animation_animation_start_0_listener($event) {\n      i0.ɵɵrestoreView(_r1);\n      const ctx_r1 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r1.onAnimationStart($event));\n    })(\"@animation.done\", function OverlayPanel_div_0_Template_div_animation_animation_done_0_listener($event) {\n      i0.ɵɵrestoreView(_r1);\n      const ctx_r1 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r1.onAnimationEnd($event));\n    });\n    i0.ɵɵelementStart(1, \"div\", 2);\n    i0.ɵɵlistener(\"click\", function OverlayPanel_div_0_Template_div_click_1_listener($event) {\n      i0.ɵɵrestoreView(_r1);\n      const ctx_r1 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r1.onContentClick($event));\n    })(\"mousedown\", function OverlayPanel_div_0_Template_div_mousedown_1_listener($event) {\n      i0.ɵɵrestoreView(_r1);\n      const ctx_r1 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r1.onContentClick($event));\n    });\n    i0.ɵɵprojection(2);\n    i0.ɵɵtemplate(3, OverlayPanel_div_0_ng_container_3_Template, 1, 0, \"ng-container\", 3);\n    i0.ɵɵelementEnd();\n    i0.ɵɵtemplate(4, OverlayPanel_div_0_button_4_Template, 3, 3, \"button\", 4);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const ctx_r1 = i0.ɵɵnextContext();\n    i0.ɵɵclassMap(ctx_r1.styleClass);\n    i0.ɵɵproperty(\"ngClass\", \"p-overlaypanel p-component\")(\"ngStyle\", ctx_r1.style)(\"@animation\", i0.ɵɵpureFunction2(13, _c2, ctx_r1.overlayVisible ? \"open\" : \"close\", i0.ɵɵpureFunction2(10, _c1, ctx_r1.showTransitionOptions, ctx_r1.hideTransitionOptions)));\n    i0.ɵɵattribute(\"aria-modal\", ctx_r1.overlayVisible)(\"aria-label\", ctx_r1.ariaLabel)(\"aria-labelledBy\", ctx_r1.ariaLabelledBy);\n    i0.ɵɵadvance(3);\n    i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.contentTemplate);\n    i0.ɵɵadvance();\n    i0.ɵɵproperty(\"ngIf\", ctx_r1.showCloseIcon);\n  }\n}\nlet OverlayPanel = /*#__PURE__*/(() => {\n  class OverlayPanel {\n    document;\n    platformId;\n    el;\n    renderer;\n    cd;\n    zone;\n    config;\n    overlayService;\n    /**\n     * Defines a string that labels the input for accessibility.\n     * @group Props\n     */\n    ariaLabel;\n    /**\n     * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n     * @group Props\n     */\n    ariaLabelledBy;\n    /**\n     * Enables to hide the overlay when outside is clicked.\n     * @group Props\n     */\n    dismissable = true;\n    /**\n     * When enabled, displays a close icon at top right corner.\n     * @group Props\n     */\n    showCloseIcon;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    style;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    styleClass;\n    /**\n     *  Target element to attach the panel, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n     * @group Props\n     */\n    appendTo = 'body';\n    /**\n     * Whether to automatically manage layering.\n     * @group Props\n     */\n    autoZIndex = true;\n    /**\n     * Aria label of the close icon.\n     * @group Props\n     */\n    ariaCloseLabel;\n    /**\n     * Base zIndex value to use in layering.\n     * @group Props\n     */\n    baseZIndex = 0;\n    /**\n     * When enabled, first button receives focus on show.\n     * @group Props\n     */\n    focusOnShow = true;\n    /**\n     * Transition options of the show animation.\n     * @group Props\n     */\n    showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';\n    /**\n     * Transition options of the hide animation.\n     * @group Props\n     */\n    hideTransitionOptions = '.1s linear';\n    /**\n     * Callback to invoke when an overlay becomes visible.\n     * @group Emits\n     */\n    onShow = new EventEmitter();\n    /**\n     * Callback to invoke when an overlay gets hidden.\n     * @group Emits\n     */\n    onHide = new EventEmitter();\n    templates;\n    container;\n    overlayVisible = false;\n    render = false;\n    isOverlayAnimationInProgress = false;\n    selfClick = false;\n    documentClickListener;\n    target;\n    willHide;\n    scrollHandler;\n    documentResizeListener;\n    contentTemplate;\n    closeIconTemplate;\n    destroyCallback;\n    overlayEventListener;\n    overlaySubscription;\n    constructor(document, platformId, el, renderer, cd, zone, config, overlayService) {\n      this.document = document;\n      this.platformId = platformId;\n      this.el = el;\n      this.renderer = renderer;\n      this.cd = cd;\n      this.zone = zone;\n      this.config = config;\n      this.overlayService = overlayService;\n    }\n    ngAfterContentInit() {\n      this.templates?.forEach(item => {\n        switch (item.getType()) {\n          case 'content':\n            this.contentTemplate = item.template;\n            break;\n          case 'closeicon':\n            this.closeIconTemplate = item.template;\n            break;\n          default:\n            this.contentTemplate = item.template;\n            break;\n        }\n        this.cd.markForCheck();\n      });\n    }\n    bindDocumentClickListener() {\n      if (isPlatformBrowser(this.platformId)) {\n        if (!this.documentClickListener && this.dismissable) {\n          let documentEvent = DomHandler.isIOS() ? 'touchstart' : 'click';\n          const documentTarget = this.el ? this.el.nativeElement.ownerDocument : this.document;\n          this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, event => {\n            if (!this.container?.contains(event.target) && this.target !== event.target && !this.target.contains(event.target) && !this.selfClick) {\n              this.hide();\n            }\n            this.selfClick = false;\n            this.cd.markForCheck();\n          });\n        }\n      }\n    }\n    unbindDocumentClickListener() {\n      if (this.documentClickListener) {\n        this.documentClickListener();\n        this.documentClickListener = null;\n        this.selfClick = false;\n      }\n    }\n    /**\n     * Toggles the visibility of the panel.\n     * @param {Event} event - Browser event\n     * @param {Target} target - Target element.\n     * @group Method\n     */\n    toggle(event, target) {\n      if (this.isOverlayAnimationInProgress) {\n        return;\n      }\n      if (this.overlayVisible) {\n        if (this.hasTargetChanged(event, target)) {\n          this.destroyCallback = () => {\n            this.show(null, target || event.currentTarget || event.target);\n          };\n        }\n        this.hide();\n      } else {\n        this.show(event, target);\n      }\n    }\n    /**\n     * Displays the panel.\n     * @param {Event} event - Browser event\n     * @param {Target} target - Target element.\n     * @group Method\n     */\n    show(event, target) {\n      target && event && event.stopPropagation();\n      if (this.isOverlayAnimationInProgress) {\n        return;\n      }\n      this.target = target || event.currentTarget || event.target;\n      this.overlayVisible = true;\n      this.render = true;\n      this.cd.markForCheck();\n    }\n    onOverlayClick(event) {\n      this.overlayService.add({\n        originalEvent: event,\n        target: this.el.nativeElement\n      });\n      this.selfClick = true;\n    }\n    onContentClick(event) {\n      const targetElement = event.target;\n      this.selfClick = event.offsetX < targetElement.clientWidth && event.offsetY < targetElement.clientHeight;\n    }\n    hasTargetChanged(event, target) {\n      return this.target != null && this.target !== (target || event.currentTarget || event.target);\n    }\n    appendContainer() {\n      if (this.appendTo) {\n        if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);else DomHandler.appendChild(this.container, this.appendTo);\n      }\n    }\n    restoreAppend() {\n      if (this.container && this.appendTo) {\n        this.renderer.appendChild(this.el.nativeElement, this.container);\n      }\n    }\n    align() {\n      if (this.autoZIndex) {\n        ZIndexUtils.set('overlay', this.container, this.baseZIndex + this.config.zIndex.overlay);\n      }\n      DomHandler.absolutePosition(this.container, this.target, false);\n      const containerOffset = DomHandler.getOffset(this.container);\n      const targetOffset = DomHandler.getOffset(this.target);\n      const borderRadius = this.document.defaultView?.getComputedStyle(this.container).getPropertyValue('border-radius');\n      let arrowLeft = 0;\n      if (containerOffset.left < targetOffset.left) {\n        arrowLeft = targetOffset.left - containerOffset.left - parseFloat(borderRadius) * 2;\n      }\n      this.container?.style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);\n      if (containerOffset.top < targetOffset.top) {\n        DomHandler.addClass(this.container, 'p-overlaypanel-flipped');\n        if (this.showCloseIcon) {\n          this.renderer.setStyle(this.container, 'margin-top', '-30px');\n        }\n      }\n    }\n    onAnimationStart(event) {\n      if (event.toState === 'open') {\n        this.container = event.element;\n        this.appendContainer();\n        this.align();\n        this.bindDocumentClickListener();\n        this.bindDocumentResizeListener();\n        this.bindScrollListener();\n        if (this.focusOnShow) {\n          this.focus();\n        }\n        this.overlayEventListener = e => {\n          if (this.container && this.container.contains(e.target)) {\n            this.selfClick = true;\n          }\n        };\n        this.overlaySubscription = this.overlayService.clickObservable.subscribe(this.overlayEventListener);\n        this.onShow.emit(null);\n      }\n      this.isOverlayAnimationInProgress = true;\n    }\n    onAnimationEnd(event) {\n      switch (event.toState) {\n        case 'void':\n          if (this.destroyCallback) {\n            this.destroyCallback();\n            this.destroyCallback = null;\n          }\n          if (this.overlaySubscription) {\n            this.overlaySubscription.unsubscribe();\n          }\n          break;\n        case 'close':\n          if (this.autoZIndex) {\n            ZIndexUtils.clear(this.container);\n          }\n          if (this.overlaySubscription) {\n            this.overlaySubscription.unsubscribe();\n          }\n          this.onContainerDestroy();\n          this.onHide.emit({});\n          this.render = false;\n          break;\n      }\n      this.isOverlayAnimationInProgress = false;\n    }\n    focus() {\n      let focusable = DomHandler.findSingle(this.container, '[autofocus]');\n      if (focusable) {\n        this.zone.runOutsideAngular(() => {\n          setTimeout(() => focusable.focus(), 5);\n        });\n      }\n    }\n    /**\n     * Hides the panel.\n     * @group Method\n     */\n    hide() {\n      this.overlayVisible = false;\n      this.cd.markForCheck();\n    }\n    onCloseClick(event) {\n      this.hide();\n      event.preventDefault();\n    }\n    onEscapeKeydown(event) {\n      this.hide();\n    }\n    onWindowResize() {\n      if (this.overlayVisible && !DomHandler.isTouchDevice()) {\n        this.hide();\n      }\n    }\n    bindDocumentResizeListener() {\n      if (isPlatformBrowser(this.platformId)) {\n        if (!this.documentResizeListener) {\n          const window = this.document.defaultView;\n          this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));\n        }\n      }\n    }\n    unbindDocumentResizeListener() {\n      if (this.documentResizeListener) {\n        this.documentResizeListener();\n        this.documentResizeListener = null;\n      }\n    }\n    bindScrollListener() {\n      if (isPlatformBrowser(this.platformId)) {\n        if (!this.scrollHandler) {\n          this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n            if (this.overlayVisible) {\n              this.hide();\n            }\n          });\n        }\n        this.scrollHandler.bindScrollListener();\n      }\n    }\n    unbindScrollListener() {\n      if (this.scrollHandler) {\n        this.scrollHandler.unbindScrollListener();\n      }\n    }\n    onContainerDestroy() {\n      if (!this.cd.destroyed) {\n        this.target = null;\n      }\n      this.unbindDocumentClickListener();\n      this.unbindDocumentResizeListener();\n      this.unbindScrollListener();\n    }\n    ngOnDestroy() {\n      if (this.scrollHandler) {\n        this.scrollHandler.destroy();\n        this.scrollHandler = null;\n      }\n      if (this.container && this.autoZIndex) {\n        ZIndexUtils.clear(this.container);\n      }\n      if (!this.cd.destroyed) {\n        this.target = null;\n      }\n      this.destroyCallback = null;\n      if (this.container) {\n        this.restoreAppend();\n        this.onContainerDestroy();\n      }\n      if (this.overlaySubscription) {\n        this.overlaySubscription.unsubscribe();\n      }\n    }\n    static ɵfac = function OverlayPanel_Factory(t) {\n      return new (t || OverlayPanel)(i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.PrimeNGConfig), i0.ɵɵdirectiveInject(i1.OverlayService));\n    };\n    static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n      type: OverlayPanel,\n      selectors: [[\"p-overlayPanel\"]],\n      contentQueries: function OverlayPanel_ContentQueries(rf, ctx, dirIndex) {\n        if (rf & 1) {\n          i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n        }\n        if (rf & 2) {\n          let _t;\n          i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n        }\n      },\n      hostAttrs: [1, \"p-element\"],\n      hostBindings: function OverlayPanel_HostBindings(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵlistener(\"keydown.escape\", function OverlayPanel_keydown_escape_HostBindingHandler($event) {\n            return ctx.onEscapeKeydown($event);\n          }, false, i0.ɵɵresolveDocument);\n        }\n      },\n      inputs: {\n        ariaLabel: \"ariaLabel\",\n        ariaLabelledBy: \"ariaLabelledBy\",\n        dismissable: [2, \"dismissable\", \"dismissable\", booleanAttribute],\n        showCloseIcon: [2, \"showCloseIcon\", \"showCloseIcon\", booleanAttribute],\n        style: \"style\",\n        styleClass: \"styleClass\",\n        appendTo: \"appendTo\",\n        autoZIndex: [2, \"autoZIndex\", \"autoZIndex\", booleanAttribute],\n        ariaCloseLabel: \"ariaCloseLabel\",\n        baseZIndex: [2, \"baseZIndex\", \"baseZIndex\", numberAttribute],\n        focusOnShow: [2, \"focusOnShow\", \"focusOnShow\", booleanAttribute],\n        showTransitionOptions: \"showTransitionOptions\",\n        hideTransitionOptions: \"hideTransitionOptions\"\n      },\n      outputs: {\n        onShow: \"onShow\",\n        onHide: \"onHide\"\n      },\n      features: [i0.ɵɵInputTransformsFeature],\n      ngContentSelectors: _c0,\n      decls: 1,\n      vars: 1,\n      consts: [[\"role\", \"dialog\", 3, \"ngClass\", \"ngStyle\", \"class\", \"click\", 4, \"ngIf\"], [\"role\", \"dialog\", 3, \"click\", \"ngClass\", \"ngStyle\"], [1, \"p-overlaypanel-content\", 3, \"click\", \"mousedown\"], [4, \"ngTemplateOutlet\"], [\"type\", \"button\", \"class\", \"p-overlaypanel-close p-link\", \"pRipple\", \"\", 3, \"click\", \"keydown.enter\", 4, \"ngIf\"], [\"type\", \"button\", \"pRipple\", \"\", 1, \"p-overlaypanel-close\", \"p-link\", 3, \"click\", \"keydown.enter\"], [3, \"styleClass\", 4, \"ngIf\"], [\"class\", \"p-overlaypanel-close-icon\", 4, \"ngIf\"], [3, \"styleClass\"], [1, \"p-overlaypanel-close-icon\"]],\n      template: function OverlayPanel_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵprojectionDef();\n          i0.ɵɵtemplate(0, OverlayPanel_div_0_Template, 5, 16, \"div\", 0);\n        }\n        if (rf & 2) {\n          i0.ɵɵproperty(\"ngIf\", ctx.render);\n        }\n      },\n      dependencies: () => [i2.NgClass, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle, i3.Ripple, TimesIcon],\n      styles: [\"@layer primeng{.p-overlaypanel{position:absolute;margin-top:10px;top:0;left:0}.p-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.p-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-overlaypanel:after,.p-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:\\\" \\\";height:0;width:0;position:absolute;pointer-events:none}.p-overlaypanel:after{border-width:8px;margin-left:-8px}.p-overlaypanel:before{border-width:10px;margin-left:-10px}.p-overlaypanel-shifted:after,.p-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.p-overlaypanel-flipped:after,.p-overlaypanel-flipped:before{bottom:auto;top:100%}.p-overlaypanel.p-overlaypanel-flipped:after{border-bottom-color:transparent}.p-overlaypanel.p-overlaypanel-flipped:before{border-bottom-color:transparent}}\\n\"],\n      encapsulation: 2,\n      data: {\n        animation: [trigger('animation', [state('void', style({\n          transform: 'scaleY(0.8)',\n          opacity: 0\n        })), state('close', style({\n          opacity: 0\n        })), state('open', style({\n          transform: 'translateY(0)',\n          opacity: 1\n        })), transition('void => open', animate('{{showTransitionParams}}')), transition('open => close', animate('{{hideTransitionParams}}'))])]\n      },\n      changeDetection: 0\n    });\n  }\n  return OverlayPanel;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet OverlayPanelModule = /*#__PURE__*/(() => {\n  class OverlayPanelModule {\n    static ɵfac = function OverlayPanelModule_Factory(t) {\n      return new (t || OverlayPanelModule)();\n    };\n    static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n      type: OverlayPanelModule\n    });\n    static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n      imports: [CommonModule, RippleModule, SharedModule, TimesIcon, SharedModule]\n    });\n  }\n  return OverlayPanelModule;\n})();\n(() => {\n  (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { OverlayPanel, OverlayPanelModule };\n","// sorting.service.ts\nimport { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({\n    providedIn: \"root\",\n})\nexport class SortingHomeService {\n    private sortingSubject = new BehaviorSubject<{\n        key: string;\n        value: string;\n    }>({ key: \"flightDate\", value: \"desc\" });\n    currentSorting$ = this.sortingSubject.asObservable();\n\n    updateSorting(sorting: { key: string; value: string }) {\n        this.sortingSubject.next(sorting);\n    }\n}\n","import { Component, Inject, inject, OnInit } from \"@angular/core\";\nimport {\n    AsyncPipe,\n    DatePipe,\n    NgOptimizedImage,\n    NgTemplateOutlet,\n} from \"@angular/common\";\nimport { Observable } from \"rxjs\";\nimport { UserDm } from \"@/_models\";\nimport UserModel = UserDm.UserModel;\nimport { USER_IS_AT_LEAST_ADMIN, UserService } from \"@/_services\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { Router, RouterOutlet } from \"@angular/router\";\nimport { HomeCrewPerformanceComponent } from \"@/components/home/home-crew-performance/home-crew-performance.component\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { FormControl, FormsModule } from \"@angular/forms\";\nimport { AddonFeature } from \"@/_models/addon-features\";\nimport { filter, switchMap, tap } from \"rxjs/operators\";\nimport { AccountService } from \"@/_services/account.service\";\nimport { IssueService } from \"@/_services/issue.service\";\nimport { PromotionService } from \"@/_services/promotion.service\";\nimport { Issue } from \"@/_models/issue.interface\";\nimport { Promotion } from \"@/_models/promotion.interface\";\nimport { OverlayPanelModule } from \"primeng/overlaypanel\";\nimport { RadioOption } from \"../shared/radio-list/radio-list.component\";\nimport { SortingHomeService } from \"@/_services/sorting-home.service\";\n\n@Component({\n    selector: \"app-home\",\n    standalone: true,\n    imports: [\n        AsyncPipe,\n        DatePipe,\n        NgOptimizedImage,\n        SharedComponentsModule,\n        RouterOutlet,\n        HomeCrewPerformanceComponent,\n        DropdownModule,\n        FormsModule,\n        OverlayPanelModule,\n        NgTemplateOutlet,\n    ],\n    templateUrl: \"./home.component.html\",\n    styleUrl: \"./home.component.scss\",\n})\nexport class HomeComponent implements OnInit {\n    private userService = inject(UserService);\n    private router = inject(Router);\n    private accountService = inject(AccountService);\n    private issueService = inject(IssueService);\n    private promoService = inject(PromotionService);\n\n    currentDate: Date;\n    currentUser$: Observable<UserModel>;\n    isTasksRoute = false;\n\n    currentQuote: string = \"\";\n    quoteList: string[] = [\n        \"Safety isn't a rulebook, it's a mindset.\",\n        \"Safety first is safety always.\",\n        \"The safest risk is the one you've planned for.\",\n        \"You can't manage what you don't measure.\",\n        \"The best safety tool is a well-trained mind.\",\n        \"Awareness is the first step toward accident prevention.\",\n        \"Risk management is the art of staying in control.\",\n        \"A culture of safety starts with leadership.\",\n        \"Good safety habits are built one decision at a time.\",\n        \"Consistent safety practices prevent costly mistakes.\",\n        \"Plan ahead—accidents don't give warnings.\",\n        \"Better a thousand safety checks than one fatal mistake.\",\n        \"Predict the risk, prevent the loss.\",\n        \"Protect what matters—your life, your team, your future.\",\n        \"Near misses are warnings—heed them.\",\n        \"Complacency is the enemy of safety.\",\n        \"Safety is not just a priority—it's a core value.\",\n        \"Every risk ignored is a hazard waiting to happen.\",\n        \"Vigilance today prevents disasters tomorrow.\",\n        \"The best defense against risk is preparation.\",\n    ];\n\n    timeFrameList = [\n        { label: \"Newest First\", value: \"desc\" },\n        { label: \"Oldest First\", value: \"asc\" },\n    ];\n    timeFrameControl: FormControl<number> = new FormControl<number>(30);\n    quickActionList = [\n        { label: \"File Report\", onClick: () => this.fileReport() },\n        {\n            label: \"Start Corrective Action\",\n            onClick: () => this.startCorrectiveAction(),\n        },\n        { label: \"Send Promotion\", onClick: () => this.sendPromotion() },\n        {\n            label: \"Manage Safety Objectives\",\n            onClick: () => this.manageSafetyObjectives(),\n        },\n        {\n            label: \"Manage Crew Members\",\n            onClick: () => this.manageCrewMembers(),\n        },\n    ];\n\n    navTabList = [\n        { label: \"Tasks\", link: \"tasks\" },\n        /*{ label: \"Mentions\", link: \"mentions\" },*/\n        { label: \"Promotions\", link: \"promotions\" },\n    ];\n\n    constructor(\n        @Inject(USER_IS_AT_LEAST_ADMIN) public isAdmin$: Observable<boolean>,\n        private sortingService: SortingHomeService,\n    ) {}\n\n    ngOnInit(): void {\n        this.currentDate = new Date();\n        this.currentUser$ = this.userService.getCurrentUserAsync();\n        this.currentQuote =\n            this.quoteList[Math.floor(Math.random() * this.quoteList.length)];\n\n        this.isTasksRoute = this.router.url.includes(\"/home/tasks\");\n\n        // Subscribe to route changes to update the flag dynamically\n        this.router.events.subscribe(() => {\n            this.isTasksRoute = this.router.url.includes(\"/home/tasks\");\n        });\n    }\n\n    submitAssessment() {\n        this.router.navigateByUrl(\"/tasks/createFlight?formFilter=assessments\");\n    }\n\n    fileReport() {\n        this.accountService\n            .checkFormFeature(AddonFeature.SAFETY_ASSURANCE)\n            .pipe(\n                filter((result) => result),\n                tap(() =>\n                    this.router.navigateByUrl(\n                        \"/tasks/createFlight?formFilter=not-assessments\",\n                    ),\n                ),\n            )\n            .subscribe();\n    }\n\n    startCorrectiveAction() {\n        this.accountService\n            .checkFormFeature(AddonFeature.SAFETY_ASSURANCE)\n            .pipe(\n                filter((result) => result),\n                switchMap(() => this.issueService.createIssue()),\n                tap((issue: Issue) =>\n                    this.router.navigateByUrl(`/mitigations/${issue._id}`),\n                ),\n            )\n            .subscribe();\n    }\n\n    sendPromotion() {\n        this.accountService\n            .checkFormFeature(AddonFeature.SAFETY_PROMOTION)\n            .pipe(\n                filter((result) => result),\n                switchMap(() => this.promoService.createPromotion()),\n                tap((promotion: Promotion) =>\n                    this.router.navigateByUrl(`/promotions/${promotion._id}`),\n                ),\n            )\n            .subscribe();\n    }\n\n    manageSafetyObjectives() {\n        this.accountService\n            .checkFormFeature(AddonFeature.SAFETY_POLICY)\n            .pipe(\n                filter((result) => result),\n                tap(() => this.router.navigateByUrl(\"/policies/objectives\")),\n            )\n            .subscribe();\n    }\n\n    manageCrewMembers() {\n        this.router.navigateByUrl(\"/profile/users\");\n    }\n\n    onSortChange(event: any) {\n        const sorting = { key: \"flightDate\", value: event.value };\n        this.sortingService.updateSorting(sorting);\n    }\n\n    q(event) {\n        console.log(event);\n    }\n}\n","<div class=\"flex flex-column gap-20px\">\n    <div class=\"flex flex-column\">\n        <h4 class=\"m-0 date-line\">{{currentDate | date:'MMMM d, y':'UTC'}}</h4>\n        <div class=\"flex flex-row align-items-center justify-content-between\">\n            <span class=\"welcome-line-1\">\n                    Welcome back, {{ (currentUser$ | async)?.firstName }}\n                <img class=\"m-0\" ngSrc=\"/assets/icons/welcome.svg\" height=\"30\" width=\"30\" alt=\"Welcome\">\n            </span>\n\n            <div class=\"flex-row gap-20px quick-actions-container\">\n                <ng-container *ngTemplateOutlet=\"quickActions\"></ng-container>\n            </div>\n        </div>\n        <span class=\"welcome-line-2\">{{ currentQuote }}</span>\n    </div>\n\n    <div class=\"quick-actions-container-mobile flex-column\">\n        <ng-container *ngTemplateOutlet=\"quickActions\"></ng-container>\n    </div>\n\n    <div class=\"content-container\">\n        <div class=\"flex flex-column gap-20px w-full\">\n            <h2 class=\"m-0\">Recent Activity</h2>\n            <div class=\"flex justify-content-between\">\n            <app-nav-tabs [navTabs]=\"navTabList\"></app-nav-tabs>\n            @if (isTasksRoute) {\n                <p-dropdown\n                    styleClass=\"dropdown-rounded\"\n                    [autoDisplayFirst]=\"false\"\n                    [options]=\"timeFrameList\"\n                    [placeholder]=\"'Newest First'\"\n                    (onChange)=\"onSortChange($event)\">\n                </p-dropdown>\n            }\n           \n            </div>\n            \n\n            \n\n            <div>\n                <router-outlet></router-outlet>\n            </div>\n        </div>\n\n        <app-home-crew-performance\n            class=\"w-full\"\n            [isAdmin]=\"isAdmin$ | async\">\n        </app-home-crew-performance>\n    </div>\n</div>\n\n<ng-template #quickActions>\n    <button class=\"btn-primary\" (click)=\"submitAssessment()\">Submit Assessment</button>\n\n    @if (!(isAdmin$ | async)) {\n        <button class=\"btn-secondary\" (click)=\"fileReport()\">File Report</button>\n    } @else {\n        <p-dropdown\n            [styleClass]=\"'btn-secondary dropdown'\"\n            [options]=\"quickActionList\"\n            [placeholder]=\"'Manage'\"\n            appendTo=\"body\">\n            <ng-template pTemplate=\"selectedItem\">\n                Manage\n            </ng-template>\n            <ng-template let-item pTemplate=\"item\">\n                <div (click)=\"item.onClick()\">\n                    <span>{{ item.label }}</span>\n                </div>\n            </ng-template>\n        </p-dropdown>\n    }\n</ng-template>\n","import { Component, Input } from \"@angular/core\";\nimport { UserService } from \"@/_services\";\nimport { CtaState, FlightCtaService } from \"@/_services/flight-cta.service\";\nimport { UserDm } from \"@/_models\";\nimport User = UserDm.User;\nimport { FlightModel } from \"@/_models/flight/flight.model\";\nimport { SharedComponentsModule } from \"../../shared/shared-components.module\";\nimport { FieldExcludesFilterPipe } from \"@/_pipes/field-excludes-filter.pipe\";\nimport { NgClass } from \"@angular/common\";\n\n@Component({\n    selector: \"app-home-task-card\",\n    standalone: true,\n    imports: [SharedComponentsModule, FieldExcludesFilterPipe, NgClass],\n    templateUrl: \"./home-task-card.component.html\",\n    styleUrl: \"./home-task-card.component.scss\",\n})\nexport class HomeTaskCardComponent {\n    @Input() flight: FlightModel;\n    @Input() showEdit: boolean = false;\n    @Input() isLast: boolean = false;\n\n    ctaState: CtaState;\n    currentUser: User;\n\n    constructor(\n        private userService: UserService,\n        private flightCtaService: FlightCtaService,\n    ) {\n        this.currentUser = this.userService.getCurrentUser();\n    }\n\n    ngOnInit(): void {\n        if (this.flight) {\n            this.ctaState = this.flightCtaService.getCtaState(\n                this.flight,\n                this.currentUser,\n            );\n        }\n    }\n}\n","<div class=\"desktop-container\"\n     [ngClass]=\"{'last': isLast}\"\n     (click)=\"$event.stopPropagation()\">\n    <div>\n        <span class=\"intro\">\n            @if (flight | getFormTitle:true; as title) {\n                @switch (title.type) {\n                    @case ('title') {\n                        {{title.value}}\n                    }\n                    @case ('date') {\n                        {{title.value}}\n                    }\n                    @case ('airports') {\n                        {{title.value[0]}}\n                        <app-custom-icon\n                            [iconPath]=\"'assets/icons/general-icons.svg'\"\n                            [imageName]=\"'icon-chevron-right'\">\n                            </app-custom-icon>\n                        {{title.value[1]}}\n                    }\n                }\n            }\n        </span>\n        <p [innerHTML]=\"flight | taskDetails:(flight | getFormTitle:true)?.fields\"></p>\n    </div>\n\n    <div class=\"form-type archived\">\n        @if (flight.assessment?.formTypeSettings?.type === 'generalForm') {\n            General\n        } @else {\n            {{flight.assessment?.formTypeSettings?.type}}\n        }\n    </div>\n\n    <app-frat-status [flight]=\"flight\"></app-frat-status>\n\n    <app-flight-card-cta [flight]=\"flight\" [isEditable]=\"showEdit\" [canBeArchived]=\"true\"></app-flight-card-cta>\n</div>\n\n<div class=\"mobile-container\" (click)=\"$event.stopPropagation()\">\n    <app-flight-card-mobile [content]=\"'flex'\">\n        <ng-container title>\n            @if (flight | getFormTitle:true; as title) {\n                @switch (title.type) {\n                    @case ('title') {\n                        {{title.value}}\n                    }\n                    @case ('date') {\n                        {{title.value}}\n                    }\n                    @case ('airports') {\n                        {{title.value[0]}}\n                        <app-custom-icon\n                            [iconPath]=\"'assets/icons/general-icons.svg'\"\n                            [imageName]=\"'icon-chevron-right'\">\n                        </app-custom-icon>\n                        {{title.value[1]}}\n                    }\n                }\n            }\n        </ng-container>\n        <ng-container status>\n            <app-frat-status [flight]=\"flight\"></app-frat-status>\n        </ng-container>\n        <ng-container subtitle>\n            <div class=\"form-type archived mt-3\">\n                @if (flight.assessment?.formTypeSettings?.type === 'generalForm') {\n                    General\n                } @else {\n                    {{flight.assessment?.formTypeSettings?.type}}\n                }\n            </div>\n        </ng-container>\n        <ng-container content>\n            @for (field of flight.fields; track field) {\n                @if (field | fieldExcludesFilter:'fieldName':(flight | getFormTitle:true)?.fields) {\n                    @if ((flight | flightField:field.fieldName); as value) {\n                        <div class=\"data-field\">\n                            <span>{{field.label}}: <span class=\"font-bold\">{{value}}</span></span>\n                        </div>\n                    }\n                }\n            }\n        </ng-container>\n        <app-flight-card-cta actions [flight]=\"flight\" [isEditable]=\"showEdit\" [canBeArchived]=\"true\"></app-flight-card-cta>\n    </app-flight-card-mobile>\n</div>\n","import {\n    Component,\n    ElementRef,\n    EventEmitter,\n    OnInit,\n    Output,\n    ViewChild,\n} from \"@angular/core\";\nimport {\n    BehaviorSubject,\n    combineLatest,\n    Observable,\n    shareReplay,\n    tap,\n} from \"rxjs\";\nimport { FlightModel } from \"@/_models/flight/flight.model\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { FlightService } from \"@/_services\";\nimport { FilterService } from \"@/_services/filter.service\";\nimport { map, startWith, switchMap } from \"rxjs/operators\";\nimport { Flight, MitigationState, UserDm } from \"@/_models\";\nimport { expandingFabAnimations } from \"@/_utility/animations\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { AsyncPipe, NgClass } from \"@angular/common\";\nimport { PaginatorModule } from \"primeng/paginator\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { HomeTaskCardComponent } from \"@/components/home/home-task-card/home-task-card.component\";\nimport { SortingHomeService } from \"@/_services/sorting-home.service\";\n\n@Component({\n    selector: \"app-home-task-list\",\n    standalone: true,\n    imports: [\n        AsyncPipe,\n        PaginatorModule,\n        SharedComponentsModule,\n        HomeTaskCardComponent,\n        NgClass,\n    ],\n    templateUrl: \"./home-task-list.component.html\",\n    styleUrls: [\"./home-task-list.component.scss\"],\n    animations: [expandingFabAnimations],\n})\nexport class HomeTaskListComponent implements OnInit {\n    @Output() onFilterMenuToggle = new EventEmitter<void>();\n    @ViewChild(\"taskArea\") taskArea: ElementRef;\n\n    taskList$: Observable<FlightModel[]>;\n\n    filterForm: FormGroup;\n\n    private page$: BehaviorSubject<number> = new BehaviorSubject<number>(0);\n    pageSize: number = 10;\n    total: number = 0;\n\n    constructor(\n        private flightService: FlightService,\n        private formBuilder: FormBuilder,\n        private filterService: FilterService,\n        private route: ActivatedRoute,\n        private sortingService: SortingHomeService,\n    ) {}\n\n    ngOnInit() {\n        this.filterForm = this.formBuilder.group({\n            responsiblePilot: [\"\"],\n        });\n\n        this.taskList$ = this.accumulateFlightList();\n    }\n\n    accumulateFlightList() {\n        const currentUser = this.route.snapshot.data[\n            \"user\"\n        ] as UserDm.UserModel;\n\n        // Set the responsiblePilot filter value (unchanged)\n        this.filterForm\n            .get(\"responsiblePilot\")\n            .setValue(currentUser._id, { emitEvent: false });\n\n        // Use combineLatest to react to changes in both page$ and sorting\n        return combineLatest([\n            this.page$,\n            this.sortingService.currentSorting$,\n            this.flightService.flightChanges.pipe(startWith(null)),\n        ]).pipe(\n            switchMap(([page, sorting]) => {\n                const filterParams = this.buildFilterQuery();\n                const sortParams = this.buildSortQuery(sorting);\n                return this.flightService.getFlights(\n                    filterParams,\n                    sortParams,\n                    page,\n                    this.pageSize,\n                );\n            }),\n            tap((list) => (this.total = list.meta[\"total\"])),\n            map((list) => list.data),\n            shareReplay(),\n        );\n    }\n\n    buildFilterQuery() {\n        return this.filterService.buildFilterQuery(this.filterForm);\n    }\n\n    buildSortQuery(sorting: { key: string; value: string }) {\n        const sortQuery = new URLSearchParams();\n        if (sorting.key) {\n            sortQuery.append(sorting.key, sorting.value);\n        }\n        return sortQuery;\n    }\n\n    public getFlightClass(flight: Flight) {\n        const state = flight.frat && flight.frat.mitigationState;\n        switch (state) {\n            case MitigationState.approved:\n                return \"approved\";\n            case MitigationState.needsMitigation:\n                return \"needs-mitigation\";\n            case MitigationState.submittedForApproval:\n                return \"waiting-approval\";\n            default:\n                return \"\";\n        }\n    }\n\n    onPageChange(event: any) {\n        this.page$.next(event.page);\n    }\n}\n","@if (!(taskList$ | async)) {\n    <app-loading-indicator></app-loading-indicator>\n} @else {\n    @if ((taskList$ | async)?.length === 0) {\n        <app-card [noMargin]=\"true\" [showHeader]=\"false\">\n            <div card-body class=\"table-empty-state h-auto mb-5\">\n                <img id=\"img-empty-tasks\" class=\"empty\" alt=\"Empty\" src=\"/assets/img/empty-tasks.svg\" />\n                <h2>You’re All Caught Up</h2>\n                <p>\n                    Take a load off, there are no remaining\n                    <br />\n                    tasks for you to complete.\n                </p>\n            </div>\n        </app-card>\n    } @else {\n        <div class=\"flights-list-wrapper\">\n            @for (flight of taskList$ | async; track flight._id; let index = $index) {\n                <app-home-task-card\n                    [flight]=\"flight\"\n                    [showEdit]=\"false\"\n                    [isLast]=\"index + 1 === (taskList$ | async)?.length\"\n                    [ngClass]=\"getFlightClass(flight)\">\n                </app-home-task-card>\n            }\n        </div>\n\n        @if (total >= pageSize) {\n            <p-paginator\n                (onPageChange)=\"onPageChange($event)\"\n                [first]=\"1\"\n                [rows]=\"10\"\n                [totalRecords]=\"total\"\n                [showCurrentPageReport]=\"false\"\n                [showPageLinks]=\"false\"\n                [showJumpToPageDropdown]=\"true\">\n            </p-paginator>\n        }\n    }\n}\n","import { Component, inject, Input } from \"@angular/core\";\nimport { Promotion } from \"@/_models/promotion.interface\";\nimport { Router } from \"@angular/router\";\nimport { FieldExcludesFilterPipe } from \"@/_pipes/field-excludes-filter.pipe\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { DateTimeFormat } from \"@/_utility/DateTimeFormat\";\nimport { DatePipe, NgClass } from \"@angular/common\";\n\n@Component({\n    selector: \"app-home-promotion-card\",\n    standalone: true,\n    imports: [\n        FieldExcludesFilterPipe,\n        SharedComponentsModule,\n        DatePipe,\n        NgClass,\n    ],\n    templateUrl: \"./home-promotion-card.component.html\",\n    styleUrl: \"./home-promotion-card.component.scss\",\n})\nexport class HomePromotionCardComponent {\n    private router = inject(Router);\n\n    @Input() promo: Promotion;\n    @Input() isLast: boolean = false;\n    protected readonly DateTimeFormat = DateTimeFormat;\n\n    openPromotion(promoId: string) {\n        return this.router.navigateByUrl(`/promotions/${promoId}`);\n    }\n}\n","<div class=\"desktop-container\"\n     [ngClass]=\"{'last': isLast}\"\n     (click)=\"$event.stopPropagation()\">\n    <div>\n        <span class=\"intro\">{{promo.title || \"--\"}}</span>\n        <p>{{promo.creator.abbreviatedName}} sent you a safety promotion on {{promo.sentDate | date:DateTimeFormat.NG_DATE_FORMAT:'UTC'}}</p>\n    </div>\n\n    <div class=\"promotion-type archived\">\n        Promotion\n    </div>\n\n    <div class=\"status-field {{promo.status}}\">\n        {{promo.status}}\n    </div>\n\n    <button class=\"btn-primary\" (click)=\"openPromotion(promo._id)\">\n        Open\n    </button>\n</div>\n\n<div class=\"mobile-container\" (click)=\"$event.stopPropagation()\">\n    <app-flight-card-mobile [content]=\"'flex'\">\n        <ng-container title>\n            {{promo.title}}\n        </ng-container>\n        <ng-container status>\n            <div class=\"status-field {{promo.status}}\">\n                {{promo.status}}\n            </div>\n        </ng-container>\n        <ng-container subtitle>\n            <div class=\"promotion-type archived mt-3\">\n                Promotion\n            </div>\n        </ng-container>\n        <ng-container content>\n            <span>{{promo.creator.abbreviatedName}} sent you a safety promotion on {{promo.sentDate | date:DateTimeFormat.NG_DATE_FORMAT:'UTC'}}</span>\n        </ng-container>\n        <ng-container actions>\n            <button class=\"btn-primary\" (click)=\"openPromotion(promo._id)\">\n                Open\n            </button>\n        </ng-container>\n    </app-flight-card-mobile>\n</div>\n","import { Component, inject, OnInit } from \"@angular/core\";\nimport { PromotionService } from \"@/_services/promotion.service\";\nimport {\n    BehaviorSubject,\n    concat,\n    Observable,\n    of,\n    shareReplay,\n    tap,\n} from \"rxjs\";\nimport { Promotion, PromotionStatus } from \"@/_models/promotion.interface\";\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { UserDm } from \"@/_models\";\nimport { debounceTime, map, switchMap } from \"rxjs/operators\";\nimport UserRoles = UserDm.UserRoles;\nimport { FilterService } from \"@/_services/filter.service\";\nimport { AsyncPipe } from \"@angular/common\";\nimport { PaginatorModule } from \"primeng/paginator\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { HomePromotionCardComponent } from \"@/components/home/home-promotion-card/home-promotion-card.component\";\n\n@Component({\n    selector: \"app-home-promotion-list\",\n    standalone: true,\n    imports: [\n        AsyncPipe,\n        PaginatorModule,\n        SharedComponentsModule,\n        HomePromotionCardComponent,\n    ],\n    templateUrl: \"./home-promotion-list.component.html\",\n    styleUrl: \"./home-promotion-list.component.scss\",\n})\nexport class HomePromotionListComponent implements OnInit {\n    private formBuilder = inject(FormBuilder);\n    private promoService = inject(PromotionService);\n    private filterService = inject(FilterService);\n    private activatedRoute = inject(ActivatedRoute);\n\n    promoList$: Observable<Promotion[]>;\n\n    private page$: BehaviorSubject<number> = new BehaviorSubject<number>(0);\n    pageSize: number = 10;\n    total: number = 0;\n\n    filterForm: FormGroup;\n    currentSorting: { key: string; value: string } = {\n        key: \"createdAt\",\n        value: \"desc\",\n    };\n\n    constructor() {}\n\n    ngOnInit() {\n        this.filterForm = this.formBuilder.group({\n            status: [[PromotionStatus.Sent, PromotionStatus.Overdue]],\n        });\n\n        this.promoList$ = this.accumulatePromoList();\n    }\n\n    accumulatePromoList() {\n        return concat(\n            of(null), // reset the scroll container between filter changes\n            this.page$.pipe(\n                debounceTime(500),\n                switchMap((page) => {\n                    const filterParams = this.buildFilterQuery();\n                    const sortParams = this.buildSortQuery();\n                    return this.promoService.getPromotionList(\n                        filterParams,\n                        sortParams,\n                        page,\n                        this.pageSize,\n                    );\n                }),\n                tap((list) => (this.total = list.meta[\"total\"])),\n                map((list) => list.data),\n                shareReplay(),\n            ),\n        );\n    }\n\n    buildFilterQuery() {\n        return this.filterService.buildFilterQuery(this.filterForm);\n    }\n\n    buildSortQuery() {\n        const sortQuery = new URLSearchParams();\n        if (this.currentSorting.key) {\n            sortQuery.append(\n                this.currentSorting.key,\n                this.currentSorting.value,\n            );\n        }\n        return sortQuery;\n    }\n\n    onPageChange(event: any) {\n        this.page$.next(event.page);\n    }\n}\n","@if (!(promoList$ | async)) {\n    <app-loading-indicator></app-loading-indicator>\n} @else {\n    @if ((promoList$ | async)?.length === 0) {\n        <app-card [noMargin]=\"true\" [showHeader]=\"false\">\n            <div card-body class=\"table-empty-state h-auto mb-5\">\n                <img id=\"img-empty-promotions\" class=\"empty\" alt=\"Empty\" src=\"/assets/img/empty-promotions.svg\" />\n                <h2>No Safety Messages</h2>\n                <p>\n                    You're all clear! No new safety updates\n                    <br />\n                    have landed in your inbox.\n                </p>\n            </div>\n        </app-card>\n    } @else {\n        <div class=\"list-wrapper\">\n            @for (promo of promoList$ | async; track promo; let index = $index) {\n                <app-home-promotion-card\n                    [promo]=\"promo\"\n                    [isLast]=\"index + 1 === (promoList$ | async)?.length\">\n                </app-home-promotion-card>\n            }\n        </div>\n\n        @if (total >= pageSize) {\n            <p-paginator\n                (onPageChange)=\"onPageChange($event)\"\n                [first]=\"1\"\n                [rows]=\"10\"\n                [totalRecords]=\"total\"\n                [showCurrentPageReport]=\"false\"\n                [showPageLinks]=\"false\"\n                [showJumpToPageDropdown]=\"true\">\n            </p-paginator>\n        }\n    }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule, NgOptimizedImage } from \"@angular/common\";\nimport { PagesComponent } from \"@/components/pages/pages.component\";\nimport { SharedComponentsModule } from \"@/components/shared/shared-components.module\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { BakeryComponent } from \"@/components/error-test/bakery.component\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { SubscriptionGuard } from \"@/_guards/subscription-guard.service\";\nimport { StatisticsComponent } from \"@/components/statistics/statistics.component\";\nimport { DesktopMenuComponent } from \"@/components/pages/desktop-menu/desktop-menu.component\";\nimport { MobileMenuComponent } from \"@/components/pages/mobile-menu/mobile-menu.component\";\nimport { MobileFullMenuComponent } from \"@/components/pages/mobile-menu/mobile-full-menu/mobile-full-menu.component\";\nimport { AvailableForMobileGuard } from \"@/_guards/available-for-mobile.guard\";\nimport { MatExpansionModule } from \"@angular/material/expansion\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { InsightsFilterTopbarComponent } from \"@/components/statistics/insights-filter-topbar/insights-filter-topbar.component\";\nimport { InsightsFilterSidebarComponent } from \"@/components/statistics/insights-filter-sidebar/insights-filter-sidebar.component\";\nimport { WelcomeTrialComponent } from \"@/components/welcome-trial/welcome-trial.component\";\nimport { QuickStartCardComponent } from \"@/components/welcome-trial/quick-start-card/quick-start-card.component\";\nimport { SetupLineComponent } from \"@/components/welcome-trial/setup-line/setup-line.component\";\nimport { EmpowerLineComponent } from \"@/components/welcome-trial/empower-line/empower-line.component\";\nimport { activeTrialOnlyGuard } from \"@/_guards/active-trial-only.guard\";\nimport { HomeComponent } from \"@/components/home/home.component\";\nimport { HomeTaskListComponent } from \"@/components/home/home-task-list/home-task-list.component\";\nimport { CurrentUserResolver } from \"@/resolver/CurrentUserResolver\";\nimport { HomePromotionListComponent } from \"@/components/home/home-promotion-list/home-promotion-list.component\";\n\nconst ROUTES: Routes = [\n    {\n        path: \"\",\n        component: PagesComponent,\n        children: [\n            {\n                path: \"welcome-trial\",\n                component: WelcomeTrialComponent,\n                canActivate: [activeTrialOnlyGuard],\n            },\n            {\n                path: \"performance\",\n                component: StatisticsComponent,\n                canActivate: [SubscriptionGuard],\n            },\n            {\n                path: \"settings\",\n                component: MobileFullMenuComponent,\n                canActivate: [AvailableForMobileGuard],\n            },\n            {\n                path: \"home\",\n                component: HomeComponent,\n                canActivate: [SubscriptionGuard],\n                children: [\n                    {\n                        path: \"\",\n                        pathMatch: \"full\",\n                        redirectTo: \"tasks\",\n                    },\n                    {\n                        path: \"tasks\",\n                        component: HomeTaskListComponent,\n                        resolve: {\n                            user: CurrentUserResolver,\n                        },\n                    },\n                    {\n                        path: \"promotions\",\n                        component: HomePromotionListComponent,\n                        resolve: {\n                            user: CurrentUserResolver,\n                        },\n                    },\n                ],\n            },\n            {\n                path: \"tasks\",\n                loadChildren: () =>\n                    import(\"../flight/flight.module\").then(\n                        (m) => m.FlightModule,\n                    ),\n                canActivate: [SubscriptionGuard],\n            },\n            {\n                // #1061: retain compatibility for old links out in the wild\n                path: \"flights/:id/summary\",\n                redirectTo: (redirectData) => {\n                    const id = redirectData.params.id;\n                    return `/tasks/${id}/summary`;\n                },\n            },\n            {\n                // https://github.com/PreflightMitigator/pfm-webapp/issues/1171\n                path: \"frats/:id/calculate\",\n                redirectTo: (redirectData) => {\n                    return `/reports/${redirectData.params.id}/calculate`;\n                },\n            },\n            {\n                path: \"assurance\",\n                loadChildren: () =>\n                    import(\"../safety-assurance/safety-assurance.module\").then(\n                        (m) => m.SafetyAssuranceModule,\n                    ),\n                canActivate: [SubscriptionGuard],\n            },\n            {\n                path: \"policies\",\n                loadChildren: () =>\n                    import(\"../safety-policy/safety-policy.module\").then(\n                        (m) => m.SafetyPolicyModule,\n                    ),\n                canActivate: [SubscriptionGuard],\n            },\n            {\n                path: \"promotions\",\n                loadChildren: () =>\n                    import(\n                        \"@/components/safety-promotion/safety-promotion.module\"\n                    ).then((m) => m.SafetyPromotionModule),\n                canActivate: [SubscriptionGuard],\n            },\n            {\n                path: \"manuals\",\n                loadChildren: () =>\n                    import(\"../manuals/manuals.module\").then(\n                        (m) => m.ManualsModule,\n                    ),\n                canActivate: [SubscriptionGuard],\n            },\n            {\n                path: \"assessments\",\n                loadChildren: () =>\n                    import(\"../assessment/assessment.module\").then(\n                        (m) => m.AssessmentModule,\n                    ),\n                canActivate: [SubscriptionGuard],\n            },\n            {\n                path: \"profile\",\n                loadChildren: () =>\n                    import(\"../profile/profile.module\").then(\n                        (m) => m.ProfileModule,\n                    ),\n            },\n            {\n                path: \"bakery\",\n                component: BakeryComponent,\n            },\n            /*{\n                path: \"**\",\n                pathMatch: \"full\",\n                redirectTo: \"welcome-trial\",\n            },*/\n        ],\n    },\n];\n\n@NgModule({\n    declarations: [\n        PagesComponent,\n        DesktopMenuComponent,\n        MobileMenuComponent,\n        WelcomeTrialComponent,\n        QuickStartCardComponent,\n        SetupLineComponent,\n        EmpowerLineComponent,\n        StatisticsComponent,\n        InsightsFilterSidebarComponent,\n        InsightsFilterTopbarComponent,\n        BakeryComponent,\n        MobileFullMenuComponent,\n    ],\n    imports: [\n        CommonModule,\n        RouterModule,\n        SharedComponentsModule,\n        RouterModule.forChild(ROUTES),\n        ReactiveFormsModule,\n        MatExpansionModule,\n        MatSidenavModule,\n        NgOptimizedImage,\n    ],\n})\nexport class PagesModule {}\n"],"mappings":"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","names":["ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵpureFunction0","_c1","item_r1","icon","ɵɵsanitizeUrl","ɵɵelementContainerStart","ɵɵtemplate","DesktopMenuComponent_div_0_For_5_ng_container_1_Conditional_3_Template","DesktopMenuComponent_div_0_For_5_ng_container_1_Conditional_7_Template","routerLink","highlight","ɵɵconditional","ɵɵtextInterpolate","label","ɵɵpipeBind1","hasNotification$","DesktopMenuComponent_div_0_For_5_ng_container_1_Template","feature","_c2","item_r4","link_r5","isActive","ɵɵrepeaterCreate","DesktopMenuComponent_div_0_Conditional_7_Conditional_11_For_1_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","formMenu_r6","items","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","toggleCollapse","DesktopMenuComponent_div_0_Conditional_7_Conditional_9_Template","DesktopMenuComponent_div_0_Conditional_7_Conditional_11_Template","showForms","isAtLeastAdmin$","DesktopMenuComponent_div_0_div_1_Template","DesktopMenuComponent_div_0_For_5_Template","DesktopMenuComponent_div_0_Conditional_7_Template","tmp_2_0","mainMenu$","tmp_3_0","formMenu$","_c0","ɵɵtextInterpolate2","user_r7","firstName","lastName","email","DesktopMenuComponent","constructor","authenticationService","userService","menuService","enterEdit","EventEmitter","showAccountLink","hasLinkedLogins","ngOnInit","currentUser$","getCurrentUserAsync","pipe","shareReplay","createDesktopMenu","createFormMenu","ɵɵdirectiveInject","AuthenticationService","UserService","MenuService","USER_IS_AT_LEAST_ADMIN","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","DesktopMenuComponent_div_0_Template","_DesktopMenuComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","menuItemClickled","emit","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵproperty","item_r3","routerLink","params","ɵɵadvance","icon","ɵɵsanitizeUrl","ɵɵtextInterpolate","label","ɵɵelementContainerStart","ɵɵtemplate","MobileFullMenuComponent_ng_container_12_a_1_Template","feature","MobileFullMenuComponent","constructor","menuService","authService","EventEmitter","ngOnInit","mainMenu$","createMobileSettingsMenu","logout","subscribe","ɵɵdirectiveInject","MenuService","AuthenticationService","selectors","outputs","decls","vars","consts","template","rf","ctx","MobileFullMenuComponent_ng_container_12_Template","tmp_2_0","ɵɵpipeBind1","items","_MobileFullMenuComponent","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","stopPropagation","ɵɵresetView","toggleMenu","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","_r3","_r4","MobileMenuComponent","constructor","ngOnInit","state","isMenuOpened","selectors","decls","vars","consts","template","rf","ctx","ɵɵtemplate","MobileMenuComponent_a_1_Template","MobileMenuComponent_ng_template_2_Template","ɵɵtemplateRefExtractor","MobileMenuComponent_app_mobile_full_menu_4_Template","menu_r5","settingsMenuAnimations","_MobileMenuComponent","ɵɵelement","ɵɵelementContainerStart","ɵɵtemplate","PagesComponent_ng_container_1_app_desktop_menu_1_Template","PagesComponent_ng_container_5_app_mobile_menu_1_Template","PagesComponent","constructor","router","activatedRoute","ngOnInit","hideMenu$","events","pipe","filter","e","NavigationEnd","startWith","map","childrenCheck","snapshot","firstChild","shareReplay","data","hasOwnProperty","hideDesktopMenu","hideMobileMenu","children","length","ɵɵdirectiveInject","Router","ActivatedRoute","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","PagesComponent_ng_container_1_Template","ɵɵelementEnd","PagesComponent_ng_container_5_Template","ɵɵadvance","ɵɵproperty","tmp_0_0","ɵɵpipeBind1","tmp_1_0","_PagesComponent","BakeryComponent","constructor","toastService","formBuilder","closeButtonOptions","label","value","ngOnInit","toastForm","group","type","control","closeButton","title","message","selectCloseButton","$event","get","patchValue","makeToast","params","options","disableTimeOut","closeToast","clear","ɵɵdirectiveInject","ToastrService","UntypedFormBuilder","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵelement","ɵɵproperty","ɵɵadvance","_BakeryComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction1","_c0","control_r1","value","ɵɵadvance","ctx_r1","userList","ɵɵlistener","$event","control_r4","ɵɵrestoreView","_r3","ngIf","ɵɵnextContext","ɵɵresetView","setDateRangeValue","ɵɵpureFunction2","_c1","ɵɵpipeBind2","filterForm","timeFrameList","control_r5","aircraftList","control_r6","icao_code","control_r8","_r7","setValue","formList","InsightsFilterSidebarComponent","constructor","modalService","closeButtonClicked","EventEmitter","ngOnInit","control","get","filterModal","open","DateRangeFilterModalComponent","component","componentInstance","from","result","pipe","tap","length","subscribe","currentDate","Date","targetDate","setDate","getDate","currentDateString","toISOString","substring","targetDateString","close","emit","ɵɵdirectiveInject","NgbModal","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","ɵɵtext","ɵɵtemplate","InsightsFilterSidebarComponent_app_sidebar_filter_panel_7_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_9_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_11_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_13_Template","InsightsFilterSidebarComponent_app_sidebar_filter_panel_15_Template","_InsightsFilterSidebarComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","filter_r2","ɵɵnextContext","$implicit","ctx_r2","ɵɵresetView","resetFilter","key","ɵɵelementEnd","ɵɵproperty","tmp_5_0","ɵɵpipeBind2","value","userList","label","_r4","ɵɵpipeBind1","_r5","aircraftList","_r6","icao_code","name","_r7","formList","ɵɵelementContainer","ɵɵelementContainerStart","ɵɵtemplate","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_1_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_2_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_3_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_4_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_app_topbar_filter_button_5_Template","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_ng_container_6_Template","ɵɵadvance","InsightsFilterTopbarComponent_ng_container_5_ng_container_1_Template","isDisplayable","InsightsFilterTopbarComponent","constructor","filterButtonClicked","EventEmitter","ngOnInit","openFilterMenu","emit","filter","_id","length","filterKey","filterForm","get","setValue","selectors","inputs","currentFilters","timeFrameList","outputs","decls","vars","consts","template","rf","ctx","ɵɵelement","ɵɵtext","InsightsFilterTopbarComponent_ng_container_5_Template","_InsightsFilterTopbarComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","exportPDF","ɵɵtext","ɵɵelementEnd","ɵɵelement","$event","i0","_r5","ɵɵreference","open","stopPropagation","ɵɵproperty","statsData$","ɵɵtemplate","StatisticsComponent_ng_template_16_ng_template_2_pilot_stats_0_Template","ɵɵpipeBind1","StatisticsComponent_ng_template_16_div_0_Template","StatisticsComponent_ng_template_16_ng_template_2_Template","ɵɵtemplateRefExtractor","StatisticsComponent_ng_template_16_div_4_Template","tmp_4_0","stats$","meta","results","stats_r6","ɵɵadvance","tmp_6_0","_r7","StatisticsComponent","constructor","userService","aircraftService","modalService","toastService","formBuilder","assessmentService","filterService","timeFrameList","label","value","ngOnInit","buildFilterForm","userList$","getUsers","pipe","map","users","user","fullName","_id","shareReplay","aircraftList$","listAircraft","aircrafts","aircraft","designation","formList$","getAssessmentsByType","assessments","assessment","title","ngOnDestroy","filterFormSubscription","unsubscribe","filterForm","group","responsiblePilot","timeFrame","flightDate","airport","valueChanges","debounceTime","tap","changes","localStorage","setItem","JSON","stringify","currentFilters","__spreadValues","updateFlightList","subscribe","getItem","filters","parse","patchValue","emitEvent","onlySelf","buildFilterQuery","getUserStats","stats","data","confirmationModal","PdfConfirmExportComponent","component","componentInstance","from","result","take","filter","switchMap","loading","LoadingModalComponent","loadingComponent","message","exportStats","response","link","document","createElement","href","window","URL","createObjectURL","download","filename","setAttribute","next","close","error","click","remove","err","ɵɵdirectiveInject","UserService","AircraftService","NgbModal","ToastrService","UntypedFormBuilder","AssessmentService","FilterService","selectors","decls","vars","consts","template","rf","ctx","StatisticsComponent_div_1_Template","_r1","sidenav_r4","StatisticsComponent_app_loading_indicator_14_Template","StatisticsComponent_ng_template_16_Template","StatisticsComponent_div_18_Template","content_r8","expandingFabAnimations","_StatisticsComponent","QuickStartCardComponent","selectors","inputs","iconSrc","iconId","title","description","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵprojection","ɵɵproperty","ɵɵadvance","ɵɵsanitizeUrl","ɵɵtextInterpolate","_QuickStartCardComponent","SetupLineComponent","selectors","inputs","action","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵproperty","link","ɵɵadvance","icon","ɵɵsanitizeUrl","title","ɵɵtextInterpolate","description","_SetupLineComponent","EmpowerLineComponent","selectors","inputs","iconSrc","title","description","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵprojection","ɵɵadvance","ɵɵproperty","ɵɵsanitizeUrl","ɵɵtextInterpolate","_EmpowerLineComponent","ɵɵelement","ɵɵproperty","action_r1","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵtemplate","WelcomeTrialComponent_div_30_app_setup_line_8_Template","ɵɵadvance","ctx_r1","setupActionList","ɵɵlistener","ɵɵrestoreView","_r3","ɵɵnextContext","ɵɵresetView","requestManual","integrateScheduling","modifyRiskForm","ɵɵstyleProp","WelcomeTrialComponent","constructor","userService","inject","UserService","formService","AssessmentService","issueService","IssueService","promotionService","PromotionService","router","Router","isAtLeastAdmin$","USER_IS_AT_LEAST_ADMIN","icon","title","description","link","ngOnInit","currentDate","Date","currentUser$","getCurrentUserAsync","takeAssessment","listAssessments","pipe","map","assessments","find","asmt","isDefault","tap","redirectAssessment","navigate","queryParams","assessmentId","_id","subscribe","submitHazard","navigateByUrl","mitigateRisk","createIssue","issue","sendPromotion","createPromotion","promotion","window","open","selectors","decls","vars","consts","template","rf","ctx","WelcomeTrialComponent_div_30_Template","WelcomeTrialComponent_div_32_Template","ɵɵtextInterpolate","ɵɵpipeBind3","ɵɵtextInterpolate1","tmp_2_0","ɵɵpipeBind1","firstName","_WelcomeTrialComponent","activeTrialOnlyGuard","route","state","subscriptionService","inject","SubscriptionService","router","Router","subscriptionData","pipe","map","subscription","isTrialActive","navigateByUrl","PercentChangePipe","transform","value","floatValue","parseFloat","isNaN","isFinite","pure","standalone","_PercentChangePipe","import_chart","PerformanceChartComponent","ngOnInit","ngOnChanges","changes","chart","data","currentValue","update","ngAfterViewInit","Chart","chartCanvas","nativeElement","type","options","selectors","viewQuery","rf","ctx","ɵɵelement","_PerformanceChartComponent","ɵɵelementStart","ɵɵelement","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","averageChartOptions","ctx","ɵɵtext","ɵɵtemplate","HomeCrewPerformanceComponent_Conditional_4_Conditional_0_Conditional_22_Template","ɵɵtextInterpolate1","ɵɵpipeBind1","averageScores_r2","percentChange","ɵɵtextInterpolate","currentPeriodAvg","ɵɵpipeBind2","stats_r3","meta","currentPeriodStart","DateTimeFormat","NG_DATE_FORMAT_WITH_YEAR","previousPeriodAvg","ɵɵtextInterpolate2","previousPeriodStart","previousPeriodEnd","ɵɵconditional","tmp_12_0","averageScoreDataSet$","completionChartOptions","HomeCrewPerformanceComponent_Conditional_4_Conditional_1_Conditional_30_Template","completionRate_r4","currentPeriodCompletedPercent","currentPeriodCompleted","currentPeriodTotal","previousPeriodCompleted","previousPeriodTotal","previousPeriodCompletedPercent","tmp_14_0","completionDataset$","ɵɵelementContainer","HomeCrewPerformanceComponent_Conditional_4_Conditional_0_Template","HomeCrewPerformanceComponent_Conditional_4_Conditional_1_Template","HomeCrewPerformanceComponent_Conditional_4_ng_container_2_Template","HomeCrewPerformanceComponent_Conditional_4_ng_container_3_Template","HomeCrewPerformanceComponent_Conditional_4_ng_container_4_Template","tmp_3_0","averageScores","tmp_4_0","completionRate","specificScores_r5","ɵɵpureFunction2","_c0","severeScores","_c1","moderateScores","_c2","mildScores","title_r6","scores_r8","currentPeriod","stats_r7","previousPeriod","lightChartLabelColor","labelOptions","color","font","weight","size","display","context","dataset","data","dataIndex","HomeCrewPerformanceComponent","_a","constructor","flightService","inject","FlightService","isAdmin","timeFrameList","label","value","timeFrameControl","FormControl","type","plugins","datalabels","legend","aspectRatio","responsive","maintainAspectRatio","scales","yAxes","ticks","beginAtZero","stepSize","autoSkip","xAxes","ngOnInit","stats$","valueChanges","pipe","untilDestroyed","startWith","switchMap","getStats","shareReplay","map","stats","labels","datasets","borderColor","fill","currentPeriodValues","previousPeriodValues","ngOnDestroy","timeFrameSubscription","unsubscribe","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","HomeCrewPerformanceComponent_Conditional_4_Template","HomeCrewPerformanceComponent_ng_template_6_Template","ɵɵtemplateRefExtractor","tmp_5_0","SharedComponentsModule","CardComponent","DropdownModule","Dropdown","FormsModule","NgControlStatus","ReactiveFormsModule","FormControlDirective","AsyncPipe","DatePipe","NgTemplateOutlet","PercentChangePipe","PerformanceChartComponent","styles","changeDetection","__decorate","UntilDestroy","OverlayPanelModule","_OverlayPanelModule","__publicField","t","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","RippleModule","SharedModule","TimesIcon","SortingHomeService","constructor","sortingSubject","BehaviorSubject","key","value","currentSorting$","asObservable","updateSorting","sorting","next","factory","ɵfac","providedIn","_SortingHomeService","ɵɵelementContainer","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","onSortChange","ɵɵelementEnd","ɵɵproperty","timeFrameList","_r4","fileReport","ɵɵtext","item_r6","_r5","$implicit","onClick","ɵɵadvance","ɵɵtextInterpolate","label","ɵɵtemplate","HomeComponent_ng_template_27_Conditional_4_ng_template_1_Template","HomeComponent_ng_template_27_Conditional_4_ng_template_2_Template","quickActionList","_r3","submitAssessment","HomeComponent_ng_template_27_Conditional_2_Template","HomeComponent_ng_template_27_Conditional_4_Template","ɵɵconditional","ɵɵpipeBind1","isAdmin$","HomeComponent","constructor","sortingService","userService","inject","UserService","router","Router","accountService","AccountService","issueService","IssueService","promoService","PromotionService","isTasksRoute","currentQuote","quoteList","value","timeFrameControl","FormControl","startCorrectiveAction","sendPromotion","manageSafetyObjectives","manageCrewMembers","navTabList","link","ngOnInit","currentDate","Date","currentUser$","getCurrentUserAsync","Math","floor","random","length","url","includes","events","subscribe","navigateByUrl","checkFormFeature","AddonFeature","SAFETY_ASSURANCE","pipe","filter","result","tap","switchMap","createIssue","issue","_id","SAFETY_PROMOTION","createPromotion","promotion","SAFETY_POLICY","event","sorting","key","updateSorting","q","console","log","ɵɵdirectiveInject","USER_IS_AT_LEAST_ADMIN","SortingHomeService","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelement","HomeComponent_ng_container_11_Template","HomeComponent_ng_container_15_Template","HomeComponent_Conditional_22_Template","HomeComponent_ng_template_27_Template","ɵɵtemplateRefExtractor","ɵɵpipeBind3","ɵɵtextInterpolate1","tmp_2_0","firstName","quickActions_r7","AsyncPipe","DatePipe","NgOptimizedImage","SharedComponentsModule","NavTabsComponent","RouterOutlet","HomeCrewPerformanceComponent","DropdownModule","Dropdown","PrimeTemplate","FormsModule","OverlayPanelModule","NgTemplateOutlet","styles","_HomeComponent","ɵɵtext","ɵɵtextInterpolate1","title_r1","value","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵtemplate","HomeTaskCardComponent_Conditional_3_Case_0_Template","HomeTaskCardComponent_Conditional_3_Case_1_Template","HomeTaskCardComponent_Conditional_3_Case_2_Template","ɵɵconditional","tmp_2_0","ctx","type","ctx_r1","flight","assessment","formTypeSettings","title_r3","HomeTaskCardComponent_Conditional_16_Case_0_Template","HomeTaskCardComponent_Conditional_16_Case_1_Template","HomeTaskCardComponent_Conditional_16_Case_2_Template","ɵɵelementStart","ɵɵelementEnd","field_r4","label","ɵɵtextInterpolate","HomeTaskCardComponent_For_26_Conditional_0_Conditional_0_Template","tmp_11_0","ɵɵpipeBind2","fieldName","HomeTaskCardComponent_For_26_Conditional_0_Template","ɵɵpipeBind3","tmp_10_0","fields","HomeTaskCardComponent","constructor","userService","flightCtaService","showEdit","isLast","currentUser","getCurrentUser","ngOnInit","ctaState","getCtaState","ɵɵdirectiveInject","UserService","FlightCtaService","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ɵɵlistener","$event","stopPropagation","HomeTaskCardComponent_Conditional_3_Template","HomeTaskCardComponent_Conditional_9_Template","HomeTaskCardComponent_Conditional_10_Template","ɵɵelementContainerStart","HomeTaskCardComponent_Conditional_16_Template","HomeTaskCardComponent_Conditional_22_Template","HomeTaskCardComponent_Conditional_23_Template","ɵɵrepeaterCreate","HomeTaskCardComponent_For_26_Template","ɵɵrepeaterTrackByIdentity","ɵɵpureFunction1","_c0","tmp_1_0","ɵɵsanitizeHtml","tmp_9_0","ɵɵrepeater","SharedComponentsModule","FratStatusComponent","CustomIconComponent","FlightCardMobileComponent","FlightCardCtaComponent","FlightFieldPipe","GetFormTitlePipe","TaskDetailsPipe","FieldExcludesFilterPipe","NgClass","styles","_HomeTaskCardComponent","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","flight_r1","ɵ$index_26_r2","tmp_15_0","ɵɵpipeBind1","ctx_r2","taskList$","length","getFlightClass","ɵɵlistener","$event","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","onPageChange","total","ɵɵrepeaterCreate","HomeTaskListComponent_Conditional_2_Conditional_2_For_2_Template","_forTrack0","ɵɵtemplate","HomeTaskListComponent_Conditional_2_Conditional_2_Conditional_4_Template","ɵɵadvance","ɵɵrepeater","ɵɵconditional","pageSize","HomeTaskListComponent_Conditional_2_Conditional_0_Template","HomeTaskListComponent_Conditional_2_Conditional_2_Template","tmp_1_0","HomeTaskListComponent","constructor","flightService","formBuilder","filterService","route","sortingService","onFilterMenuToggle","EventEmitter","page$","BehaviorSubject","ngOnInit","filterForm","group","responsiblePilot","accumulateFlightList","currentUser","snapshot","data","get","setValue","_id","emitEvent","combineLatest","currentSorting$","flightChanges","pipe","startWith","switchMap","page","sorting","filterParams","buildFilterQuery","sortParams","buildSortQuery","getFlights","tap","list","meta","map","shareReplay","sortQuery","URLSearchParams","key","append","value","flight","frat","mitigationState","MitigationState","approved","needsMitigation","submittedForApproval","event","next","ɵɵdirectiveInject","FlightService","FormBuilder","FilterService","ActivatedRoute","SortingHomeService","selectors","viewQuery","rf","ctx","HomeTaskListComponent_Conditional_0_Template","HomeTaskListComponent_Conditional_2_Template","AsyncPipe","PaginatorModule","Paginator","SharedComponentsModule","CardComponent","LoadingIndicatorComponent","HomeTaskCardComponent","NgClass","styles","animation","expandingFabAnimations","_HomeTaskListComponent","HomePromotionCardComponent","constructor","router","inject","Router","isLast","DateTimeFormat","openPromotion","promoId","navigateByUrl","selectors","inputs","promo","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","$event","stopPropagation","ɵɵtext","ɵɵelementEnd","_id","ɵɵelementContainerStart","ɵɵproperty","ɵɵpureFunction1","_c0","ɵɵadvance","ɵɵtextInterpolate","title","ɵɵtextInterpolate2","creator","abbreviatedName","ɵɵpipeBind3","sentDate","NG_DATE_FORMAT","ɵɵclassMapInterpolate1","status","ɵɵtextInterpolate1","SharedComponentsModule","FlightCardMobileComponent","DatePipe","NgClass","styles","_HomePromotionCardComponent","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","promo_r1","ɵ$index_26_r2","tmp_14_0","ɵɵpipeBind1","ctx_r2","promoList$","length","ɵɵlistener","$event","ɵɵrestoreView","_r4","ɵɵnextContext","ɵɵresetView","onPageChange","total","ɵɵrepeaterCreate","HomePromotionListComponent_Conditional_2_Conditional_2_For_2_Template","ɵɵrepeaterTrackByIdentity","ɵɵtemplate","HomePromotionListComponent_Conditional_2_Conditional_2_Conditional_4_Template","ɵɵadvance","ɵɵrepeater","ɵɵconditional","pageSize","HomePromotionListComponent_Conditional_2_Conditional_0_Template","HomePromotionListComponent_Conditional_2_Conditional_2_Template","tmp_1_0","HomePromotionListComponent","constructor","formBuilder","inject","FormBuilder","promoService","PromotionService","filterService","FilterService","activatedRoute","ActivatedRoute","page$","BehaviorSubject","currentSorting","key","value","ngOnInit","filterForm","group","status","PromotionStatus","Sent","Overdue","accumulatePromoList","concat","of","pipe","debounceTime","switchMap","page","filterParams","buildFilterQuery","sortParams","buildSortQuery","getPromotionList","tap","list","meta","map","data","shareReplay","sortQuery","URLSearchParams","append","event","next","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","HomePromotionListComponent_Conditional_0_Template","HomePromotionListComponent_Conditional_2_Template","AsyncPipe","PaginatorModule","Paginator","SharedComponentsModule","CardComponent","LoadingIndicatorComponent","HomePromotionCardComponent","styles","_HomePromotionListComponent","ROUTES","path","component","PagesComponent","children","WelcomeTrialComponent","canActivate","activeTrialOnlyGuard","StatisticsComponent","SubscriptionGuard","MobileFullMenuComponent","AvailableForMobileGuard","HomeComponent","pathMatch","redirectTo","HomeTaskListComponent","resolve","user","CurrentUserResolver","HomePromotionListComponent","loadChildren","then","m","FlightModule","redirectData","params","id","SafetyAssuranceModule","SafetyPolicyModule","SafetyPromotionModule","ManualsModule","AssessmentModule","ProfileModule","BakeryComponent","PagesModule","CommonModule","RouterModule","SharedComponentsModule","forChild","ReactiveFormsModule","MatExpansionModule","MatSidenavModule","_PagesModule"],"x_google_ignoreList":[30]}