{"version":3,"file":"3913.beb9e893ad1c70c5.js","mappings":"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","names":["i0","ctx_r0","topic","ContactPage_form_11_div_13_div_1_Template","emailControl","errors","email","message","_r2","submitForm","ContactPage_form_11_div_13_Template","ContactPage_form_11_div_20_Template","formGroup","dirty","submitAttempt","valid","ContactPage","_ContactPage","constructor","mailerApi","formBuilder","route","this","title","group","name","Validators","required","ngOnInit","snapshot","queryParamMap","get","value","subject","MailTopic","Contact","length","toLowerCase","includes","CreateProject","BetaApplication","sendEmail","fromEmail","pipe","take","subscribe","next","reset","error","console","warn","i1","i2","i3","selectors","standalone","features","decls","vars","consts","template","rf","ctx","ContactPage_div_7_Template","ContactPage_ng_template_8_Template","ContactPage_form_11_Template","noTopic_r3","NgIf","FormsModule","ReactiveFormsModule","TopNavbarComponent","FooterComponent","IonContent","IonHeader","IonItem","IonTextarea","IonInput","IonButton","styles","_FooterComponent","theme","copyrightYear","Date","getFullYear","inputs","FooterComponent_ng_container_4_Template","FooterComponent_ng_container_5_Template","NgSwitch","NgSwitchCase","NgSwitchDefault","RouterLink","TranslatePipe"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/pages/contact/contact.page.html","./src/app/pages/contact/contact.page.ts","./src/app/shared/components/footer/footer.component.html","./src/app/shared/components/footer/footer.component.ts"],"sourcesContent":["<ion-header>\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<ion-content forceOverflow=\"false\">\n <div id=\"contact\" class=\"page ion-text-center\">\n <div class=\"container ion-text-center\">\n <h1>Your Story</h1>\n \n <div *ngIf=\"topic; else noTopic\">\n <p>\n Let's discuss: {{topic}}\n </p>\n </div>\n \n <ng-template #noTopic>\n <p>\n Let's discuss the possibilities.\n </p>\n </ng-template>\n \n <section class=\"contact-form\">\n <form *ngIf=\"formGroup\" [formGroup]=\"formGroup\" (ngSubmit)=\"submitForm()\">\n <ion-item lines=\"none\">\n <ion-input type=\"text\" formControlName=\"name\" labelPlacement=\"floating\">\n <div slot=\"label\">Name <sup>*</sup></div>\n </ion-input>\n </ion-item>\n <ion-item lines=\"none\">\n <ion-input labelPlacement=\"floating\" type=\"email\" formControlName=\"email\">\n <div slot=\"label\">Email <sup>*</sup></div>\n </ion-input>\n </ion-item>\n <div *ngIf=\"emailControl.errors && (emailControl.dirty || submitAttempt)\" class=\"errors ion-text-center\">\n <div *ngIf=\"emailControl.errors.email\">\n Please enter a valid Email.\n </div>\n </div>\n \n <ion-item lines=\"none\">\n <ion-textarea labelPlacement=\"floating\" formControlName=\"message\" cols=\"3\" [autoGrow]=\"true\">\n <div slot=\"label\">What's on your mind? <sup>*</sup></div>\n </ion-textarea>\n </ion-item>\n <div *ngIf=\"message\" class=\"message ion-text-center\">\n {{message}}\n </div>\n <div class=\"ion-text-center\">\n <ion-button type=\"submit\" [disabled]=\"!formGroup.valid\">Send Message</ion-button>\n </div>\n </form>\n </section>\n </div>\n </div>\n \n <app-footer></app-footer>\n </ion-content>\n","/** @format */\n\nimport { Component, OnInit } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { Validators, UntypedFormBuilder, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { IonHeader, IonContent, IonItem, IonInput, IonTextarea, IonButton } from '@ionic/angular/standalone';\nimport { take } from 'rxjs/operators';\nimport { MailerApiService, MailTopic, SendMail } from '@app/core/api/mailer.api.service';\nimport { FooterComponent } from '@app/shared/components/footer/footer.component';\nimport { TopNavbarComponent } from '@app/shared/components/top-navbar/top-navbar.component';\n\nconst PAGE = '[ContactPage]';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.page.html',\n styleUrls: ['./contact.page.scss'],\n standalone: true,\n imports: [\n NgIf,\n FormsModule,\n ReactiveFormsModule,\n TopNavbarComponent,\n FooterComponent,\n IonContent,\n IonHeader,\n IonItem,\n IonTextarea,\n IonInput,\n IonButton,\n ],\n})\nexport class ContactPage implements OnInit {\n title: string = 'Contact Us';\n topic: string = 'Feedback';\n\n public formGroup: UntypedFormGroup = this.formBuilder.group({\n name: ['', Validators.required],\n // company: [''],\n email: ['', [Validators.required, Validators.email]],\n message: ['', Validators.required],\n });\n\n public submitAttempt: boolean = false;\n public message = '';\n\n constructor(\n private mailerApi: MailerApiService,\n private formBuilder: UntypedFormBuilder,\n private route: ActivatedRoute\n ) {}\n\n ngOnInit() {\n this.topic = this.route.snapshot.queryParamMap.get('topic');\n\n // this.route.queryParams.pipe(\n // // filter(params => params.topic),\n // tap((params: ParamMap) => {\n // const topic = params.get('topic');\n // if (topic) {\n // this.topic = topic;\n // }\n // }\n // ));\n }\n\n // getters for form fields\n get emailControl() {\n return this.formGroup.get('email');\n }\n\n submitForm() {\n this.submitAttempt = true;\n // console.log(this.formGroup.value);\n\n const { name, email, message } = this.formGroup.value;\n\n let subject = 'Filmstacker Contact from Web';\n let topic = MailTopic.Contact;\n if (this.topic && this.topic.length > 0) {\n if (this.topic.toLowerCase().includes('project')) {\n topic = MailTopic.CreateProject;\n }\n if (this.topic.toLowerCase().includes('beta')) {\n topic = MailTopic.BetaApplication;\n }\n if (this.topic.toLowerCase().includes('wedding')) {\n subject = 'Filmstack My Wedding';\n }\n if (this.topic.toLowerCase().includes('event')) {\n subject = 'Filmstack My Event';\n }\n }\n\n const params: SendMail = {\n fromEmail: email,\n name,\n subject,\n topic,\n // toEmail: 'jd@filmstacker.com',//must be confirmed in AWS SES\n message,\n };\n\n this.mailerApi\n .sendEmail(params)\n .pipe(take(1))\n .subscribe({\n next: () => {\n // console.log(`${PAGE} sendEmail res:`, res);\n this.message = 'Message sent, thanks!';\n this.formGroup.reset();\n },\n error: (error) => {\n console.warn(`${PAGE} sendEmail ERROR:`, error);\n this.message = 'Oops! There was a problem - please try again.';\n },\n });\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"],"x_google_ignoreList":[]}