{"version":3,"sources":["webpack:///./src/views/subscription/pages/SubscriptionCheckout.vue?54a0","webpack:///./src/views/subscription/pages/SubscriptionCheckout.vue","webpack:///./src/views/subscription/pages/SubscriptionCheckout.vue?e717","webpack:///./src/views/subscription/pages/SubscriptionCheckout.vue?63d9"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","VCard","checkout","redirect_status","staticStyle","VIcon","_v","_s","$t","name","VDivider","VBtn","attrs","roleUpdating","on","$event","$router","push","_e","staticRenderFns","SubscriptionCheckout","updateToken","refreshingRequest","api","post","token","Storage","getAccessToken","refreshToken","getRefreshToken","accessToken","setAccessToken","setRefreshToken","myName","$route","query","payment_intent","payment_intent_client_secret","checkRolesInterval","displaySnackbar","timeout","setTimeout","setInterval","get","rolesRequest","roles","some","r","length","clearInterval","undefined","loadEverything","clearTimeout","Vue","__decorate","Getter","Action","Component","components","component"],"mappings":"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","file":"assets/js/chunk-2d0c7711.0cc5af8e.js","sourcesContent":["import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"h-full w-full\"},[_c(VCard,{staticClass:\"h-full w-full\"},[(_vm.checkout.redirect_status === 'succeeded')?_c(VCardText,{staticClass:\"d-flex flex-column justify-center align-center\",staticStyle:{\"margin\":\"auto\",\"height\":\"80vh\"}},[_c(VIcon,{staticClass:\"primary--text loading-spinner display-4 mb-8\"},[_vm._v(\"mdi-check-circle-outline\")]),_c('h1',{staticClass:\"text-center mb-12\",staticStyle:{\"width\":\"100%\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"checkout.success.statement\"))+\", \"+_vm._s(_vm.name)+\"!\")])]),_c('div',{staticClass:\"body-1 mb-4 text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"checkout.success.message\"))+\" \")]),_c(VDivider,{staticClass:\"mb-4\",staticStyle:{\"width\":\"500px\",\"align-self\":\"center\"}}),_c('div',{staticClass:\"d-flex justify-left align-center\",staticStyle:{\"max-width\":\"400px\",\"margin\":\"0 auto\"}},[_c('div',{staticClass:\"mr-4\"},[_c(VIcon,[_vm._v(\"mdi-mail\")])],1),_c('div',[_vm._v(_vm._s(_vm.$t(\"checkout.success.contact\")))])]),_c('div',{staticClass:\"text-center mt-16\"},[_c(VBtn,{attrs:{\"elevation\":\"0\",\"color\":\"primary\",\"loading\":_vm.roleUpdating},on:{\"click\":function($event){return _vm.$router.push('/')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"checkout.success.action\"))+\" \")])],1),(_vm.roleUpdating)?_c('div',{staticClass:\"mt-4 text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"checkout.success.updating\"))+\" \")]):_vm._e()],1):(_vm.checkout.redirect_status === 'canceled')?_c(VCardText,{staticClass:\"d-flex flex-column justify-center align-center\",staticStyle:{\"margin\":\"auto\",\"height\":\"80vh\"}},[_c(VIcon,{staticClass:\"error--text loading-spinner display-4 mb-8\"},[_vm._v(\"mdi-alert-circle-outline\")]),_c('h1',{staticClass:\"text-center mb-12\",staticStyle:{\"width\":\"100%\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"checkout.error.statement\")))])]),_c('div',{staticClass:\"body-1 mb-4 text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"checkout.error.message\"))+\" \")]),_c(VDivider,{staticClass:\"mb-4\",staticStyle:{\"width\":\"500px\",\"align-self\":\"center\"}}),_c('div',{staticClass:\"d-flex justify-left align-center\",staticStyle:{\"max-width\":\"400px\",\"margin\":\"0 auto\"}},[_c('div',{staticClass:\"mr-4\"},[_c(VIcon,[_vm._v(\"mdi-mail\")])],1),_c('div',[_vm._v(_vm._s(_vm.$t(\"checkout.error.contact\")))])]),_c('div',{staticClass:\"text-center mt-16\"},[_c(VBtn,{attrs:{\"elevation\":\"0\",\"color\":\"light-grey\"},on:{\"click\":function($event){return _vm.$router.push('/')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"checkout.error.action\"))+\" \")])],1)],1):_c(VCardText,{staticClass:\"d-flex flex-column justify-center align-center\",staticStyle:{\"margin\":\"auto\",\"height\":\"80vh\"}},[_c(VIcon,{staticClass:\"orange--text loading-spinner display-4 mb-8\"},[_vm._v(\"mdi-clock-outline\")]),_c('h1',{staticClass:\"text-center mb-12\",staticStyle:{\"width\":\"100%\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"checkout.pending.statement\")))])]),_c('div',{staticClass:\"body-1 mb-4 text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"checkout.pending.message\"))+\" \")]),_c(VDivider,{staticClass:\"mb-4\",staticStyle:{\"width\":\"500px\",\"align-self\":\"center\"}}),_c('div',{staticClass:\"d-flex justify-left align-center\",staticStyle:{\"max-width\":\"400px\",\"margin\":\"0 auto\"}},[_c('div',{staticClass:\"mr-4\"},[_c(VIcon,[_vm._v(\"mdi-mail\")])],1),_c('div',[_vm._v(_vm._s(_vm.$t(\"checkout.pending.contact\")))])]),_c('div',{staticClass:\"text-center mt-16\"},[_c(VBtn,{attrs:{\"elevation\":\"0\",\"color\":\"light-grey\"},on:{\"click\":function($event){return _vm.$router.push('/')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"checkout.pending.action\"))+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport api from \"@/core/utils/api\";\r\nimport Storage from \"@/core/utils/LocalStorage\";\r\n\r\n@Component({\r\n components: {},\r\n})\r\nexport default class SubscriptionCheckout extends Vue {\r\n @Getter(\"profile/getUserName\") myName!: string;\r\n @Action(\"loadEverything\") loadEverything!: () => Promise;\r\n @Action(\"displaySnackbar\") displaySnackbar!: Function;\r\n\r\n roleUpdating = false;\r\n\r\n get name() {\r\n return this.myName;\r\n }\r\n\r\n get checkout() {\r\n const {\r\n payment_intent,\r\n payment_intent_client_secret,\r\n redirect_status,\r\n } = this.$route.query;\r\n\r\n return {\r\n payment_intent: payment_intent as string,\r\n payment_intent_client_secret: payment_intent_client_secret as string,\r\n // Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`.\r\n redirect_status: redirect_status as string,\r\n };\r\n }\r\n\r\n updateToken = async () => {\r\n // Make refresh request\r\n const refreshingRequest: any = api.post(\"/api/Account/RefreshJwt\", {\r\n token: Storage.getAccessToken() || \"\",\r\n refreshToken: Storage.getRefreshToken() || \"\",\r\n });\r\n\r\n // Await refresh, get tokens, set tokens\r\n const { accessToken, refreshToken } = await refreshingRequest;\r\n Storage.setAccessToken(accessToken);\r\n Storage.setRefreshToken(refreshToken);\r\n };\r\n\r\n checkRolesInterval: any;\r\n\r\n created() {\r\n if (\r\n this.checkout.redirect_status === \"succeeded\" &&\r\n this.name &&\r\n !this.roleUpdating &&\r\n !this.checkRolesInterval\r\n ) {\r\n this.displaySnackbar(this.$t(\"snack.stripe.subscribing\"));\r\n this.roleUpdating = true;\r\n // Use timeout to prevent clash with notification init on hard reload\r\n const timeout = setTimeout(async () => {\r\n this.checkRolesInterval = setInterval(async () => {\r\n const rolesRequest: any = await api.get(\"/api/Users/GetRolesByToken\");\r\n // Keep checking until subscriber-free role is removed and new role assigned\r\n if (\r\n !rolesRequest.roles.some(\r\n (r: any) => r.name === \"subscriber-free\",\r\n ) &&\r\n rolesRequest.roles.length\r\n ) {\r\n clearInterval(this.checkRolesInterval);\r\n this.checkRolesInterval = undefined;\r\n await this.updateToken();\r\n this.roleUpdating = false;\r\n await this.loadEverything();\r\n clearTimeout(timeout);\r\n }\r\n }, 2000);\r\n }, 1000);\r\n }\r\n }\r\n\r\n beforeDestroy() {\r\n clearInterval(this.checkRolesInterval);\r\n this.checkRolesInterval = undefined;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionCheckout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionCheckout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubscriptionCheckout.vue?vue&type=template&id=36cef576&\"\nimport script from \"./SubscriptionCheckout.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubscriptionCheckout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}