{"version":3,"file":"1533.cf6fe765bf4bf63e.js","mappings":"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","names":["i0","ctx_r0","title","returnUrl","_r2","openHomePage","dismiss","_r3","CommunityRulesPage","_CommunityRulesPage","constructor","navCtrl","viewCtrl","route","router","this","isModal","allowClickHome","onDestroy$","Subject","ngOnInit","queryParams","pipe","takeUntil","subscribe","params","_b","_a","getCurrentNavigation","extras","state","ngOnDestroy","next","complete","navigateForward","HOMEPAGE","i1","i2","selectors","inputs","standalone","features","decls","vars","consts","template","rf","ctx","CommunityRulesPage_ion_header_0_Template","CommunityRulesPage_ng_template_1_Template","CommunityRulesPage_ion_footer_15_Template","CommunityRulesPage_ng_template_16_Template","modalHeader_r4","pageFooter_r5","NgIf","IonHeader","TopNavbarComponent","IonToolbar","IonTitle","IonButton","IonButtons","IonContent","IonFooter","FooterComponent","TranslatePipe","PrivacyPage","_PrivacyPage","paramMap","tap","get","PrivacyPage_ion_header_0_Template","PrivacyPage_ng_template_1_Template","PrivacyPage_ion_footer_15_Template","PrivacyPage_ng_template_16_Template","styles","TermsPage","_TermsPage","console","log","TermsPage_ion_header_0_Template","TermsPage_ng_template_1_Template","TermsPage_ion_footer_15_Template","TermsPage_ng_template_16_Template","_FooterComponent","theme","copyrightYear","Date","getFullYear","FooterComponent_ng_container_4_Template","FooterComponent_ng_container_5_Template","NgSwitch","NgSwitchCase","NgSwitchDefault","RouterLink","TermsPolicyModalsComponent","_TermsPolicyModalsComponent","modalCtrl","translate","agreeTo","instant","openPrivacyPolicy","_this","_asyncToGenerator","create","component","componentProps","cssClass","present","openTerms","_this2","openCommunity","_this3"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/pages/community-rules/community-rules.page.html","./src/app/pages/community-rules/community-rules.page.ts","./src/app/pages/privacy/privacy.page.html","./src/app/pages/privacy/privacy.page.ts","./src/app/pages/terms/terms.page.html","./src/app/pages/terms/terms.page.ts","./src/app/shared/components/footer/footer.component.html","./src/app/shared/components/footer/footer.component.ts","./src/app/shared/components/terms-policy-modals/terms-policy-modals.component.ts","./src/app/shared/components/terms-policy-modals/terms-policy-modals.component.html"],"sourcesContent":["<ion-header *ngIf=\"!isModal; else modalHeader;\">\n <app-top-navbar [title]=\"title\" [backButtonReturnUrl]=\"returnUrl\">\n <!-- SLOT: anything added here will go below the ion-navbar -->\n </app-top-navbar>\n</ion-header>\n\n<ng-template #modalHeader>\n <ion-header>\n <ion-toolbar color=\"dark\">\n <ion-title>\n <ion-button fill=\"clear\" class=\"toolbar-title__logo\" (click)=\"openHomePage()\">\n <img src=\"/assets/images/logos/filmstackerLogo.png\" alt=\"Filmstacker\" />\n </ion-button>\n </ion-title>\n <ion-buttons slot=\"end\">\n <ion-button fill=\"clear\" color=\"primary\" (click)=\"dismiss()\">{{ 'COMMON.CLOSE' | translate }}</ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n</ng-template>\n\n<ion-content forceOverflow=\"false\">\n <div class=\"iframe-container\">\n <iframe id=\"FilmstackerRules\" height=\"100%\" name=\"filmstacker-rules\" style=\"width:100%;border:none;padding:0;\"\n title=\"Filmstacker {{ 'COMMON.COMMUNITY_RULES' | translate }}\" src=\"https://filmstacker.com/policies/rules.html\">\n <p>{{ 'ERRORS.IFRAMES_NOT_SUPPORTED' | translate }}</p>\n <p>\n {{ 'COMMON.OPEN_NEW_PAGE' | translate }}: <a href=\"https://filmstacker.com/policies/rules.html\"\n target=\"_blank\">https://filmstacker.com/policies/rules.html</a>\n </p>\n </iframe>\n </div>\n</ion-content>\n\n<ion-footer *ngIf=\"isModal else pageFooter\" class=\"ion-text-center ion-padding\">\n <ion-button (click)=\"dismiss()\">{{ 'COMMON.CLOSE' | translate }}</ion-button>\n</ion-footer>\n\n<ng-template #pageFooter>\n <ion-footer>\n <app-footer class=\"no-bottom-spacer\"></app-footer>\n </ion-footer>\n</ng-template>","/** @format */\n\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n ModalController,\n NavController,\n IonHeader,\n IonToolbar,\n IonTitle,\n IonButton,\n IonButtons,\n IonContent,\n IonFooter,\n} from '@ionic/angular/standalone';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { HOMEPAGE } from '@app/app.config';\nimport { FooterComponent } from '@app/shared/components/footer/footer.component';\nimport { TopNavbarComponent } from '@app/shared/components/top-navbar/top-navbar.component';\n\nconst DEBUG_LOGS = false;\nconst PAGE = '[CommunityRules]'; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n@Component({\n selector: 'app-community-rules',\n templateUrl: './community-rules.page.html',\n styleUrls: ['./community-rules.page.scss'],\n standalone: true,\n imports: [\n NgIf,\n IonHeader,\n TopNavbarComponent,\n IonToolbar,\n IonTitle,\n IonButton,\n IonButtons,\n IonContent,\n IonFooter,\n FooterComponent,\n TranslatePipe,\n ],\n})\nexport class CommunityRulesPage implements OnInit, OnDestroy {\n @Input() isModal: boolean = false;\n @Input() allowClickHome: boolean = true;\n\n returnUrl = '';\n title: string = 'Community Rules';\n\n private onDestroy$ = new Subject<void>();\n\n constructor(\n private navCtrl: NavController,\n private viewCtrl: ModalController,\n private route: ActivatedRoute,\n private router: Router\n ) {}\n\n ngOnInit() {\n this.route.queryParams.pipe(takeUntil(this.onDestroy$)).subscribe((params) => {\n DEBUG_LOGS && console.log(`queryParams route:`, this.route);\n if (params?.returnUrl) {\n this.returnUrl = params.returnUrl;\n DEBUG_LOGS && console.log(`queryParams returnUrl:`, this.returnUrl);\n } else if (this.router.getCurrentNavigation()?.extras?.state) {\n this.returnUrl = this.router.getCurrentNavigation().extras.state.returnUrl || '';\n DEBUG_LOGS && console.log(`navState returnUrl:`, this.returnUrl);\n }\n });\n }\n\n ngOnDestroy() {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n openHomePage() {\n this.dismiss();\n if (this.allowClickHome) {\n this.navCtrl.navigateForward(`/${HOMEPAGE}`);\n }\n }\n\n dismiss() {\n this.viewCtrl.dismiss();\n }\n}\n","<ion-header *ngIf=\"!isModal; else modalHeader;\">\n <app-top-navbar [title]=\"title\">\n <!-- SLOT: anything added here will go below the ion-navbar -->\n </app-top-navbar>\n</ion-header>\n\n<ng-template #modalHeader>\n <ion-header>\n <ion-toolbar color=\"dark\">\n <ion-title>\n <ion-button fill=\"clear\" class=\"toolbar-title__logo\" (click)=\"openHomePage()\">\n <img src=\"/assets/images/logos/filmstackerLogo.png\" alt=\"Filmstacker\" />\n </ion-button>\n </ion-title>\n <ion-buttons slot=\"end\">\n <ion-button color=\"primary\" (click)=\"dismiss()\">{{ 'COMMON.CLOSE' | translate }}</ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n</ng-template>\n\n<ion-content forceOverflow=\"false\">\n <div class=\"iframe-container\">\n <iframe id=\"FilmstackerPrivacyPolicy\" height=\"100%\" style=\"width:100%;border:none;padding:0px;\"\n name=\"filmstacker-privacy-policy\" title=\"Filmstacker {{ 'POLICIES.PRIVACY_POLICY' | translate }}\"\n src=\"https://filmstacker.com/policies/privacy.html\">\n <p>{{ 'ERRORS.IFRAMES_NOT_SUPPORTED' | translate }}</p>\n <p>\n {{ 'COMMON.OPEN_NEW_PAGE' | translate }}:<a href=\"https://filmstacker.com/policies/privacy.html\"\n target=\"_blank\">https://filmstacker.com/policies/privacy.html</a>\n </p>\n </iframe>\n </div>\n</ion-content>\n\n<ion-footer *ngIf=\"isModal else pageFooter\" class=\"ion-text-center ion-padding\">\n <ion-button (click)=\"dismiss()\">{{ 'COMMON.CLOSE' | translate }}</ion-button>\n</ion-footer>\n\n<ng-template #pageFooter>\n <ion-footer>\n <app-footer class=\"no-bottom-spacer\"></app-footer>\n </ion-footer>\n</ng-template>","/** @format */\n\nimport { Component, OnInit, Input } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { ActivatedRoute, ParamMap } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport {\n ModalController,\n NavController,\n IonHeader,\n IonToolbar,\n IonTitle,\n IonButton,\n IonButtons,\n IonContent,\n IonFooter,\n} from '@ionic/angular/standalone';\nimport { tap } from 'rxjs/operators';\nimport { HOMEPAGE } from '@app/app.config';\nimport { TopNavbarComponent } from '@app/shared/components/top-navbar/top-navbar.component';\nimport { FooterComponent } from '@app/shared/components/footer/footer.component';\n\n@Component({\n selector: 'app-privacy',\n templateUrl: './privacy.page.html',\n styleUrls: ['./privacy.page.scss'],\n standalone: true,\n imports: [\n NgIf,\n IonHeader,\n TopNavbarComponent,\n IonToolbar,\n IonTitle,\n IonButton,\n IonButtons,\n IonContent,\n IonFooter,\n FooterComponent,\n TranslatePipe,\n ],\n})\nexport class PrivacyPage implements OnInit {\n title: string = '';\n @Input() isModal: boolean = false;\n @Input() allowClickHome: boolean = true;\n\n constructor(private navCtrl: NavController, private viewCtrl: ModalController, private route: ActivatedRoute) {}\n\n ngOnInit() {\n this.route.paramMap.pipe(\n tap((params: ParamMap) => {\n // eslint-disable-next-line eqeqeq\n this.isModal = params.get('isModal') && params.get('isModal') == 'true' ? true : this.isModal;\n })\n );\n }\n\n openHomePage() {\n this.dismiss();\n if (this.allowClickHome) {\n this.navCtrl.navigateForward(`/${HOMEPAGE}`);\n }\n }\n\n dismiss() {\n this.viewCtrl.dismiss();\n }\n}\n","<ion-header *ngIf=\"!isModal; else modalHeader;\">\n <app-top-navbar [title]=\"title\">\n <!-- SLOT: anything added here will go below the ion-navbar -->\n </app-top-navbar>\n</ion-header>\n\n<ng-template #modalHeader>\n <ion-header>\n <ion-toolbar color=\"dark\">\n <ion-title>\n <ion-button fill=\"clear\" class=\"toolbar-title__logo\" (click)=\"openHomePage()\">\n <img src=\"/assets/images/logos/filmstackerLogo.png\" alt=\"Filmstacker\" />\n </ion-button>\n </ion-title>\n <ion-buttons slot=\"end\">\n <ion-button fill=\"clear\" color=\"primary\" (click)=\"dismiss()\">{{ 'COMMON.CLOSE' | translate }}</ion-button>\n </ion-buttons>\n </ion-toolbar>\n </ion-header>\n</ng-template>\n\n<ion-content forceOverflow=\"false\">\n\n <div class=\"iframe-container\">\n <iframe id=\"FilmstackerTerms\" height=\"100%\" name=\"filmstacker-terms\" style=\"width:100%;border:none;padding:0;\"\n title=\"Filmstacker {{ 'POLICIES.TERMS_SERVICE' | translate }}\" src=\"https://filmstacker.com/policies/terms.html\">\n <p>{{ 'ERRORS.IFRAMES_NOT_SUPPORTED' | translate }}</p>\n <p>\n {{ 'COMMON.OPEN_NEW_PAGE' | translate }}: <a href=\"https://filmstacker.com/policies/terms.html\"\n target=\"_blank\">https://filmstacker.com/policies/terms.html</a>\n </p>\n </iframe>\n </div>\n\n</ion-content>\n\n<ion-footer *ngIf=\"isModal else pageFooter\" class=\"ion-text-center ion-padding\">\n <ion-button (click)=\"dismiss()\">{{ 'COMMON.CLOSE' | translate }}</ion-button>\n</ion-footer>\n\n<ng-template #pageFooter>\n <ion-footer>\n <app-footer class=\"no-bottom-spacer\"></app-footer>\n </ion-footer>\n</ng-template>","/** @format */\n\nimport { Component, OnInit, Input } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { ActivatedRoute, ParamMap } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport {\n ModalController,\n NavController,\n IonHeader,\n IonToolbar,\n IonTitle,\n IonButton,\n IonButtons,\n IonContent,\n IonFooter,\n} from '@ionic/angular/standalone';\nimport { tap } from 'rxjs/operators';\nimport { HOMEPAGE } from '@app/app.config';\nimport { FooterComponent } from '@app/shared/components/footer/footer.component';\nimport { TopNavbarComponent } from '@app/shared/components/top-navbar/top-navbar.component';\n\nconst PAGE = '[TermsPage]'; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n@Component({\n selector: 'app-terms',\n templateUrl: './terms.page.html',\n styleUrls: ['./terms.page.scss'],\n standalone: true,\n imports: [\n NgIf,\n IonHeader,\n TopNavbarComponent,\n IonToolbar,\n IonTitle,\n IonButton,\n IonButtons,\n IonContent,\n IonFooter,\n FooterComponent,\n TranslatePipe,\n ],\n})\nexport class TermsPage implements OnInit {\n title: string = '';\n @Input() isModal: boolean = false;\n @Input() allowClickHome: boolean = true;\n\n constructor(private navCtrl: NavController, private viewCtrl: ModalController, private route: ActivatedRoute) {}\n\n ngOnInit() {\n // console.log(`${PAGE} oninit isModal`, this.isModal);\n this.route.paramMap.pipe(\n tap((params: ParamMap) => {\n // eslint-disable-next-line eqeqeq\n this.isModal = params.get('isModal') && params.get('isModal') == 'true' ? true : this.isModal;\n console.log(`${PAGE} route.paramMap isModal`, this.isModal);\n })\n );\n }\n\n openHomePage() {\n this.dismiss();\n if (this.allowClickHome) {\n this.navCtrl.navigateForward(`/${HOMEPAGE}`);\n }\n }\n\n dismiss() {\n this.viewCtrl.dismiss();\n }\n}\n","<!-- @format -->\n\n<footer>\n <div class=\"footer container\">\n <div class=\"footer__side footer__side--left\">\n <div [ngSwitch]=\"theme\">\n <ng-container *ngSwitchCase=\"'light'\">\n <!-- if light theme, use blue logo -->\n <img class=\"logo\" src=\"/assets/images/logos/Filmstacker-logo-teal.png\" alt=\"Filmstacker\" />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <img class=\"logo\" src=\"/assets/images/filmstacker-logo.png\" alt=\"Filmstacker\" />\n </ng-container>\n </div>\n </div>\n <div class=\"footer__side\">\n <div class=\"footer__side__item\">\n <a routerLink=\"/about\">{{ 'COMMON.ABOUT' | translate }}</a>\n </div>\n <!-- <div class=\"footer__side__item\">\n <a routerLink=\"/support\">{{ 'COMMON.SUPPORT' | translate }}</a>\n </div> -->\n <div class=\"footer__side__item\">\n <a routerLink=\"/community-rules\">{{ 'COMMON.COMMUNITY_GUIDELINES' | translate }}</a>\n </div>\n <div class=\"footer__side__item\">\n <a routerLink=\"/privacy\">{{ 'POLICIES.PRIVACY_POLICY' | translate }}</a>\n </div>\n <div class=\"footer__side__item\">\n <a routerLink=\"/terms\">{{ 'POLICIES.TERMS_USE' | translate }}</a>\n </div>\n <div class=\"footer__side__item\">©{{ copyrightYear }} Filmstacker Inc. {{ 'POLICIES.RIGHTS_RESERVED' | translate }}.</div>\n </div>\n </div>\n <div class=\"tab-bottom-spacer\"></div>\n</footer>\n","/** @format */\n\nimport { Component, Input } from '@angular/core';\nimport { NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n standalone: true,\n imports: [NgSwitch, NgSwitchCase, NgSwitchDefault, RouterLink, TranslatePipe],\n})\nexport class FooterComponent {\n /** manages which logo */\n @Input() theme: 'light' | 'dark' = 'dark';\n\n copyrightYear = new Date().getFullYear();\n}\n","/** @format */\n\nimport { Component, Input } from '@angular/core';\nimport { TranslateService, TranslatePipe } from '@ngx-translate/core';\nimport { ModalController, IonButton } from '@ionic/angular/standalone';\n// modals\nimport { PrivacyPage } from '@app/pages/privacy/privacy.page';\nimport { TermsPage } from '@app/pages/terms/terms.page';\nimport { CommunityRulesPage } from '@app/pages/community-rules/community-rules.page';\n\n@Component({\n selector: 'app-terms-policy-modals',\n templateUrl: './terms-policy-modals.component.html',\n styleUrls: ['./terms-policy-modals.component.scss'],\n standalone: true,\n imports: [IonButton, TranslatePipe],\n})\nexport class TermsPolicyModalsComponent {\n @Input() agreeTo = this.translate.instant('POLICIES.AGREE_TO_TERMS_PREFIX'); //'By capturing content';\n\n constructor(private modalCtrl: ModalController, private translate: TranslateService) {}\n\n async openPrivacyPolicy() {\n const modal = await this.modalCtrl.create({\n component: PrivacyPage,\n componentProps: {\n isModal: true,\n },\n cssClass: 'fullheight-modal policy-modal',\n });\n return await modal.present();\n }\n\n async openTerms() {\n const modal = await this.modalCtrl.create({\n component: TermsPage,\n componentProps: {\n isModal: true,\n },\n cssClass: 'fullheight-modal policy-modal',\n });\n return await modal.present();\n }\n\n async openCommunity() {\n const modal = await this.modalCtrl.create({\n component: CommunityRulesPage,\n componentProps: {\n isModal: true,\n },\n cssClass: 'fullheight-modal policy-modal',\n });\n return await modal.present();\n }\n}\n","<div style=\"max-width: 280px;margin:0 auto;\">\n <!-- Community Guidelines, terms and privacy -->\n {{ agreeTo }} {{ 'POLICIES.AGREE_TO_TERMS_MID' | translate }}\n <ion-button class=\"btn-link-inline\" (click)=\"openCommunity()\" type=\"button\">{{ 'POLICIES.COMMUNITY_GUIDELINES' | translate }}</ion-button>,\n <ion-button class=\"btn-link-inline\" (click)=\"openTerms()\" type=\"button\">{{ 'POLICIES.TERMS' | translate }}</ion-button>\n {{ 'COMMON.AND' | translate }}\n <ion-button class=\"btn-link-inline\" (click)=\"openPrivacyPolicy()\" type=\"button\">{{ 'POLICIES.PRIVACY_POLICY' | translate }}</ion-button>\n</div>"],"x_google_ignoreList":[]}