{"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\">&copy;{{ 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":[]}