{"version":3,"sources":["../../src/pages/promo/promo.ts","../../src/pages/promo/promo.module.ts"],"names":[],"mappings":"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","file":"32.2de9ed2e199a39fbee20.chunk.js","sourcesContent":["import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ModalController, ViewController, Modal, AlertController, ToastController, LoadingController } from 'ionic-angular';\r\n\r\nimport { Items } from '../../providers/providers';\r\nimport { Client } from '../../models/client';\r\nimport { Assessment } from '../../models/assessment';\r\nimport { UserAccount } from '../../models/account';\r\nimport { UserData } from '../../models/user';\r\nimport { environment } from '../../environment/environment';\r\n\r\ndeclare var Stripe: any;\r\n\r\n/**\r\n * Generated class for the ClientPage page.\r\n *\r\n * See http://ionicframework.com/docs/components/#navigation for more info\r\n * on Ionic pages and navigation.\r\n */\r\n\r\n@IonicPage()\r\n@Component({\r\n selector: 'page-promo',\r\n templateUrl: 'promo.html',\r\n})\r\n\r\nexport class PromoPage {\r\n currentItems: Client[];\r\n step2: boolean = false;\r\n stripe = Stripe(environment.stripeKey);\r\n card: any;\r\n userData: UserData;\r\n siteKey: string = environment.recaptchaSiteKey;\r\n webappVersion: string = environment.webappVersion;\r\n promoDuration: string = \"3\";\r\n promoCode: string = \"APPUPGRADEPROMO\";\r\n type: string = \"1\";\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public toastCtrl: ToastController,\r\n public modalCtrl: ModalController, public items: Items, public viewCtrl: ViewController, public alertCtrl: AlertController, public loading: LoadingController) {\r\n this.userData = JSON.parse(localStorage.getItem('userData'));\r\n }\r\n\r\n ionViewWillEnter(){\r\n this.type = this.navParams.get('type');\r\n\r\n if (this.type == \"2\") {\r\n this.promoDuration = \"1\"\r\n this.promoCode = \"AppUpgradePromoFreeTrial\"\r\n }\r\n this.setupStripe();\r\n }\r\n\r\n setupStripe() {\r\n let elements = this.stripe.elements();\r\n var style = {\r\n base: {\r\n iconColor: '#aab7c4',\r\n color: '#32325d',\r\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\r\n fontSmoothing: 'antialiased',\r\n fontSize: '16px',\r\n '::placeholder': {\r\n color: '#aab7c4'\r\n }\r\n },\r\n invalid: {\r\n color: '#fa755a',\r\n iconColor: '#fa755a'\r\n }\r\n };\r\n\r\n this.card = elements.create('card', { iconStyle: 'solid', style: style, hidePostalCode: true });\r\n // console.log(this.card);\r\n this.card.mount('#card-element');\r\n\r\n this.card.addEventListener('change', event => {\r\n var displayError = document.getElementById('card-errors');\r\n if (event.error) {\r\n displayError.textContent = event.error.message;\r\n } else {\r\n displayError.textContent = '';\r\n }\r\n });\r\n\r\n var form = document.getElementById('payment-form');\r\n form.addEventListener('submit', event => {\r\n event.preventDefault();\r\n \r\n this.stripe.createToken(this.card).then(result => {\r\n if (result.error) {\r\n var errorElement = document.getElementById('card-errors');\r\n errorElement.textContent = result.error.message;\r\n // loading.dismissAll();\r\n } else {\r\n let loading = this.loading.create({ spinner: 'hide', content: ``, duration: 50000, cssClass: 'activity-detail-loading', showBackdrop: true, dismissOnPageChange: true });\r\n loading.present();\r\n \r\n (window as any).grecaptcha.ready(() => {\r\n (window as any).grecaptcha\r\n .execute(this.siteKey, { action: 'promo_add_card' })\r\n .then((recaptchatoken: string) => {\r\n console.log('reCAPTCHA token:', recaptchatoken);\r\n \r\n let body: any;\r\n body = { token: result.token.id, recaptchatoken: recaptchatoken, webappVersion: this.webappVersion }\r\n this.items.addCard(body, this.userData.id).subscribe(\r\n data => {\r\n this.viewCtrl.dismiss({dismiss:'saved-card'});\r\n loading.dismissAll();\r\n },\r\n err => {\r\n \r\n const alert = this.alertCtrl.create({\r\n title: 'Payment Issue',\r\n subTitle: 'There was a problem with the payment. Please ensure that your card details are accurate.',\r\n buttons: ['OK']\r\n });\r\n loading.dismissAll();\r\n alert.present();\r\n console.log(err);\r\n },\r\n \r\n );\r\n })\r\n .catch((err: any) => console.error('reCAPTCHA error:', err));\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n presentToast(msg) {\r\n let toast = this.toastCtrl.create({\r\n message: msg,\r\n duration: 5000,\r\n position: 'top'\r\n });\r\n toast.present();\r\n }\r\n\r\n cancel() {\r\n this.viewCtrl.dismiss({dismiss:'cancel'});\r\n console.log('cancel')\r\n }\r\n\r\n proceed() {\r\n let loading = this.loading.create({ spinner: 'hide', content: ``, duration: 50000, cssClass: 'activity-detail-loading', showBackdrop: true, dismissOnPageChange: true });\r\n loading.present();\r\n\r\n \r\n (window as any).grecaptcha.ready(() => {\r\n (window as any).grecaptcha\r\n .execute(this.siteKey, { action: 'promo_coupon' })\r\n .then((recaptchatoken: string) => {\r\n console.log('reCAPTCHA token:', recaptchatoken);\r\n \r\n let body: any;\r\n body = { plan: 'pro-paid-monthly', coupon: this.promoCode, recaptchatoken: recaptchatoken, webappVersion: this.webappVersion }\r\n this.items.planSignup(body, this.userData.id).subscribe(\r\n data => {\r\n this.presentToast(\"Your plan has been successfully updated\");\r\n this.step2 = true\r\n loading.dismissAll();\r\n },\r\n err => {\r\n\r\n const alert = this.alertCtrl.create({\r\n title: 'Error',\r\n subTitle: 'There was an issue while processing your request. Please try again later.',\r\n buttons: ['OK']\r\n });\r\n loading.dismissAll();\r\n alert.present();\r\n console.log(err);\r\n },\r\n\r\n );\r\n })\r\n .catch((err: any) => console.error('reCAPTCHA error:', err));\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/promo/promo.ts","import { NgModule } from '@angular/core';\r\nimport { IonicPageModule } from 'ionic-angular';\r\nimport { PromoPage } from './promo';\r\n\r\n@NgModule({\r\n declarations: [\r\n PromoPage,\r\n ],\r\n imports: [\r\n IonicPageModule.forChild(PromoPage),\r\n ],\r\n entryComponents: [\r\n PromoPage\r\n ]\r\n})\r\nexport class PromoPageModule {}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/promo/promo.module.ts"],"sourceRoot":""}