1import{P as L}from"./PricingOption-upR2Bx70.js";import{C as I}from"./Classs-C6gRJWN2.js";import{C as q}from"./CourseInfo-BTHkqpJ3.js";import{L as O}from"./Loader-l3cSYZQu.js";import{R as A}from"./Reviews-BqSxzcvB.js";import{L as E}from"./LevelNutshellInfo-DjRb3ygr.js";import{P as F}from"./PriceDisplay-CqRtbCYR.js";import{a as $,B as M}from"./BeginnersCashbackPs-7RGv2Iar.js";import{r as d,o as r,c as l,f as p,a as i,n as y,d as b,h as _,t as a,F as w,b as m,i as N,w as g,v}from"./vue-router-Cc0Ijf1R.js";import{_ as U}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./ClassInfo-CBqQ3OYP.js";import"./SwitchClassModal-Bw6rkU59.js";import"./Modal-CdTST-ss.js";import"./_commonjsHelpers-_d1bhYXs.js";const V={components:{PriceDisplay:F,BeginnersCashbackPitch:M,BeginnersCashbackPs:$,LevelNutshellInfo:E,Reviews:A,Loader:O,CourseInfo:q,Classs:I,PricingOption:L},data(){return{discountFieldShown:!1,discountCode:null,discountPercentage:window.CourseDiscountPercentage,discountApplied:!1,originalOption:null,option:null,private_lesson_time:null,classs:null,classes:[],overrides:{},level:null,user_info:{first_name:null,last_name:null,email:null,timezone:""},status:"",ready:!1,step:1}},watch:{"$route.query.step"(t){this.step=parseInt(t)||1}},beforeUnmount(){this.pageshowHandler&&window.removeEventListener("pageshow",this.pageshowHandler)},mounted(){if(this.addTitleAndDescription(this.$t("completePurchase"),""),this.user_info.timezone=this.guessTimezone(),this.status="",Snackbar.hide(),this.pageshowHandler=e=>{e.persisted&&(this.status="",Snackbar.hide())},window.addEventListener("pageshow",this.pageshowHandler),this.step=parseInt(this.$route.query.step)||1,this.$route.query.status==="success"){Snackbar.show(this.$t("success"));const e=()=>this.getAuthUser(()=>{var c;(c=this.$root.auth_user.profile)!=null&&c.needs_password_reset?window.location.replace(this.$path("force-password-reset")+"?welcome=true"):window.location.replace(this.$path("upcoming"))}),o=this.$route.query.session;o&&!this.getAuthToken()?axios.post(`/checkout-session/${o}/claim`).then(c=>c.data.login_required?this.fireConversionEvents(c.data.purchase).then(()=>{window.location.replace("/login?status="+encodeURIComponent(this.$t("purchaseAddedLogIn")))}):(window.localStorage.setItem("bergesToken",c.data.auth_token),this.fireConversionEvents(c.data.purchase))).then(e).catch(c=>{Snackbar.show(this.getErrorMessage(c))}):o?axios.get(`/checkout-session/${o}/purchase`).then(c=>this.fireConversionEvents(c.data.purchase)).catch(()=>{}).finally(e):e();return}this.$route.query.status==="failed"&&Snackbar.show(this.$t("paymentFailed"));const t=this.$route.query.option_id,s=this.$route.query.private_lesson_time_id,u=this.$route.query.class_id,h=this.$route.query.multi==="true";t&&axios.get(`/pricing-option/${t}?currency=${this.getCurrency()}`).then(e=>{this.originalOption=JSON.parse(JSON.stringify(e.data.data)),this.option=e.data.data,typeof gtag<"u"&>ag("event","begin_checkout",{value:this.option.price,currency:this.getCurrency(),items:[{item_id:String(this.option.id),item_name:this.option.name,price:this.option.price,quantity:1}]}),u?axios.get(`/classes/${u}`).then(o=>{this.classs=o.data.data,this.classs.datetimeLocal=this.formatDateTimeLong(this.classs.start,{timezone:this.user_info.timezone}),axios.get("/levels/"+this.classs.level.slug).then(c=>{this.level=c.data.data,this.ready=!0}),h&&axios.get(`/classes-by-course/${this.classs.course.id}`).then(c=>{c.data.data.forEach(f=>{f.datetimeLocal=this.formatDateTimeLong(f.start,{timezone:this.user_info.timezone})}),this.classes=c.data.data,this.loadOverridesFromQuery()})}).catch(o=>{Snackbar.show(this.getErrorMessage(o))}):s?axios.get(`/single-lesson-time/${s}`).then(o=>{this.private_lesson_time=o.data.data,this.private_lesson_time.datetimeLocal=this.formatDateTimeLong(this.private_lesson_time.start,{timezone:this.user_info.timezone}),this.ready=!0}):this.ready=!0}).catch(e=>{Snackbar.show(this.getErrorMessage(e))})},computed:{isGuestCheckout(){return!this.getAuthToken()},showUserInfoSection(){return!this.getAuthToken()},effectiveClasses(){return this.classes.map(t=>this.overrides[t.class_number]||t)},checkoutSummary(){if(this.classs&&this.level){const t=this.$route.query.multi==="true"&&this.effectiveClasses.length?this.effectiveClasses[0].datetimeLocal:this.classs.datetimeLocal;return this.level.name+" ("+this.$t("startsOn").toLowerCase()+t+") | "+this.formatCurrency(this.option.price)}return this.private_lesson_time?this.option.name+" + "+this.ucFirst(this.private_lesson_time.datetimeLocal)+" "+this.$t("with").toLowerCase()+" "+this.private_lesson_time.instructor.name+" | "+this.formatCurrency(this.option.price):null}},methods:{loadOverridesFromQuery(){const t=this.$route.query.class_overrides;if(!t)return;const s=String(t).split(",").map(u=>u.split(":"));Promise.all(s.map(([u,h])=>axios.get(`/classes/${h}`).then(e=>{const o=e.data.data;return o.datetimeLocal=this.formatDateTimeLong(o.start,{timezone:this.user_info.timezone}),[Number(u),o]}))).then(u=>{const h={};u.forEach(([e,o])=>{h[e]=o}),this.overrides=h}).catch(u=>{Snackbar.show(this.getErrorMessage(u))})},goToStep(t){const s={...this.$route.query};s.step=String(t),t===1&&delete s.step,this.$router.push({query:s}),window.scrollTo({top:0,behavior:"instant"})},continueToPayment(){this.getAuthToken()?this.redirectToCheckout():this.goToStep(2)},submitPersonalInfo(){if(!this.status){if(!this.user_info.first_name||!this.user_info.last_name||!this.user_info.email){Snackbar.show(this.$t("fillAllFields"));return}this.status="processing",Snackbar.show(this.$t("processing")),axios.get(`/email-available/${encodeURIComponent(this.user_info.email)}`).then(t=>{if(!t.data.available){Snackbar.show(this.$t("emailAlreadyRegistered")),this.status="";return}this.redirectToCheckout()}).catch(t=>{Snackbar.show(this.getErrorMessage(t)),this.status=""})}},redirectToCheckout(){this.status="processing",Snackbar.show(this.$t("processing"));const t={type:"purchase",pricing_option_id:this.option.id,currency:this.getCurrency(),return_url:window.location.href.split("?")[0]};this.getAuthToken()||(t.email=this.user_info.email,t.first_name=this.user_info.first_name,t.last_name=this.user_info.last_name,t.timezone=this.user_info.timezone),this.discountApplied&&(t.percentage_discount=this.discountPercentage),this.classs&&(t.class_id=this.classs.id
1),this.$route.query.multi==="true"&&(t.multi=!0),this.private_lesson_time&&(t.private_lesson_time_id=this.private_lesson_time.id),this.checkoutSummary&&(t.summary=this.checkoutSummary);const s={};Object.entries(this.overrides).forEach(([h,e])=>{s[h]=e.id}),Object.keys(s).length&&(t.class_overrides=s);const u=window.localStorage.getItem("bergesReferrerSlug");u&&(t.affiliate_slug=u),axios.post("/checkout-session",t).then(h=>{window.location.href=h.data.checkout_url,this.status=""}).catch(h=>{Snackbar.show(this.getErrorMessage(h)),this.status=""})},showDiscountField(){this.discountFieldShown=!0,this.$nextTick(()=>{this.$refs.discountInput&&this.$refs.discountInput.focus()})},applyDiscount(){if(this.discountCode=this.normalizeDiscountCode(this.discountCode),!this.isValidDiscountCode(this.discountCode)){Snackbar.show(this.$t("invalidDiscountCode"));return}this.discountApplied||(this.option.list_price=this.originalOption.price,this.option.price=Math.floor(this.originalOption.price*(1-this.discountPercentage/100)),this.discountApplied=!0,this.confetti())}}},j={key:0},B={class:"px-4 py-3 border-bottom d-flex align-items-center"},R={class:"d-flex align-items-center text-muted"},H={key:0,class:"pt-4 px-4"},G={key:0,class:"pb-4"},J={class:"d-flex align-items-center"},Q=["src","alt"],K={class:"fw-bold"},W={class:"small mt-4"},X={class:"mt-4"},Y={key:1,class:"p-4 border-bottom"},Z={class:"d-flex justify-content-start small"},ee={class:"fw-bold w-100 mt-4"},te={class:"h4 mb-0"},se={class:"mt-3"},ie={key:0,class:"mt-3"},oe={key:1},ne={class:"mt-4"},re={key:2,class:"mt-4 pt-2"},le={key:2,class:"p-4 border-bottom"},ae={key:0,class:"small fw-bold"},ce={key:1,class:"w-100"},ue={key:0,class:"d-flex"},he={class:"flex-grow-1 pe-1"},de=["placeholder"],pe={class:"ps-1"},me={key:1,class:"alert alert-success my-0 py-2 px-3 small fw-bold text-success"},fe={key:3,class:"pb-5"},_e={key:0},ge={key:1,class:"p-4 border-bottom"},ve={class:"fw-bold mb-2"},ye={class:"px-1"},be={class:"p-4 border-bottom"},we={class:"mb-3"},ke=["placeholder"],Ce={class:"mb-3"},Se=["placeholder"],xe={class:"mb-3"},Te=["placeholder"];function ze(t,s,u,h,e,o){const c=d("loader"),f=d("vue-feather"),k=d("pricing-option"),C=d("level-nutshell-info"),S=d("reviews"),x=d("price-display"),T=d("beginners-cashback-pitch"),z=d("beginners-cashback-ps"),P=d("classs"),D=d("course-info");return r(),l("div",null,[p(c,{show:!e.ready},null,8,["show"]),e.ready?(r(),l("div",j,[i("div",B,[i("a",{href:"",onClick:s[0]||(s[0]=b(n=>o.goToStep(1),["prevent"])),class:y(["d-flex align-items-center text-decoration-none",e.step===1?"text-body fw-bold":"text-muted"])},[s[12]||(s[12]=i("span",{class:"rounded-circle border d-inline-flex justify-content-center align-items-center me-2",style:{width:"24px",height:"24px","font-size":"0.8rem"}},"1",-1)),_(" "+a(t.$t("review")),1)],2),p(f,{type:"chevron-right",size:"1rem",class:"mx-2 text-muted"}),o.isGuestCheckout?(r(),l(w,{key:0},[i("a",{href:"",onClick:s[1]||(s[1]=b(n=>o.goToStep(2),["prevent"])),class:y(["d-flex align-items-center text-decoration-none",e.step===2?"text-body fw-bold":"text-muted"])},[s[13]||(s[13]=i("span",{class:"rounded-circle border d-inline-flex justify-content-center align-items-center me-2",style:{width:"24px",height:"24px","font-size":"0.8rem"}},"2",-1)),_(" "+a(t.$t("yourInfo")),1)],2),p(f,{type:"chevron-right",size:"1rem",class:"mx-2 text-muted"}),i("div",R,[s[14]||(s[14]=i("span",{class:"rounded-circle border d-inline-flex justify-content-center align-items-center me-2",style:{width:"24px",height:"24px","font-size":"0.8rem"}},"3",-1)),_(" "+a(t.$t("payment")),1)])],64)):(r(),l("div",{key:1,class:y(["d-flex align-items-center",e.step===2?"text-body fw-bold":"text-muted"])},[s[15]||(s[15]=i("span",{class:"rounded-circle border d-inline-flex justify-content-center align-items-center me-2",style:{width:"24px",height:"24px","font-size":"0.8rem"}},"2",-1)),_(" "+a(t.$t("payment")),1)],2))]),e.step===1?(r(),l(w,{key:0},[e.classs?(r(),l("div",Y,[i("div",Z,[p(C,{level:e.level},null,8,["level"])]),i("div",ee,[i("h2",te,a(e.level.name),1)]),i("span",null,[p(S,{reviewable:e.level},null,8,["reviewable"])]),i("div",se,[p(x,{option:e.option},null,8,["option"]),e.originalOption.category==="courses"?(r(),l("div",ie,[t.$route.query.cashback?(r(),N(T,{key:0,price:e.originalOption.price},null,8,["price"])):(r(),l("div",oe,[i("b",null,"â
"+a(t.$t("progressPromise"))+":",1),_(" "+a(t.$t("progressPromiseFull"))+" "+a(t.$t("contactFormInfo")),1)])),i("div",ne,[i("button",{type:"button",class:"btn btn-lg btn-secondary",onClick:s[3]||(s[3]=(...n)=>o.continueToPayment&&o.continueToPayment(...n))},a(t.$t("continue")),1)]),t.$route.query.cashback?(r(),l("div",re,[p(z)])):m("",!0)])):m("",!0)])])):(r(),l("div",H,[e.private_lesson_time?(r(),l("div",G,[i("div",J,[i("img",{src:e.private_lesson_time.instructor.thumbnail,alt:e.private_lesson_time.instructor.name,class:"rounded-circle me-3",style:{width:"50px",height:"50px"}},null,8,Q),i("div",null,[i("div",K,a(t.formatDateTimeShort(e.private_lesson_time.start,{timezone:e.user_info.timezone})),1),i("div",null,a(t.$t("with"))+" "+a(e.private_lesson_time.instructor.name),1)])]),i("div",W,a(t.$t("packageCoversLesson")),1)])):m("",!0),p(k,{option:e.option,hideDescription:!!e.private_lesson_time},null,8,["option","hideDescription"]),i("div",X,[i("button",{type:"button",class:"btn btn-lg btn-secondary",onClick:s[2]||(s[2]=(...n)=>o.continueToPayment&&o.continueToPayment(...n))},a(t.$t("continue")),1)])])),e.originalOption.category==="courses"&&(!e.originalOption.list_price||e.originalOption.list_price===e.originalOption.price)?(r(),l("div",le,[e.discountFieldShown?(r(),l("div",ce,[e.discountApplied?(r(),l("div",me,a(t.$t("discountApplied",{percentage:this.discountPercentage})),1)):(r(),l("div",ue,[i("div",he,[g(i("input",{ref:"discountInput",class:"form-control","onUpdate:modelValue":s[5]||(s[5]=n=>e.discountCode=n),onChange:s[6]||(s[6]=(...n)=>o.applyDiscount&&o.applyDiscount(...n)),placeholder:t.$t("discountCode")},null,40,de),[[v,e.discountCode]])]),i("div",pe,[i("button",{class:"btn btn-outline-primary",onClick:s[7]||(s[7]=(...n)=>o.applyDiscount&&o.applyDiscount(...n))},a(t.$t("apply")),1)])]))])):(r(),l("div",ae,[i("a",{href:"",onClick:s[4]||(s[4]=b((...n)=>o.showDiscountField&&o.showDiscountField(...n),["prevent"]))},a(t.$t("haveDiscountCode")),1)]))])):m("",!0),e.classs?(r(),l("div",fe,[t.$route.query.multi?(r(),l("div",ge,[i("div",ve,a(t.$t("yourClasses")),1),i("div",ye,[p(D,{swappable:!1,level:e.level,timezone:e.user_info.timezone,classes:e.classes,overrides:e.overrides}
1,null,8,["level","timezone","classes","overrides"])])])):(r(),l("div",_e,[p(P,{classs:e.classs},null,8,["classs"])]))])):m("",!0)],64)):e.step===2&&o.isGuestCheckout?(r(),l(w,{key:1},[i("div",be,[i("div",we,[g(i("input",{class:"form-control","onUpdate:modelValue":s[8]||(s[8]=n=>e.user_info.first_name=n),placeholder:t.$t("firstName")},null,8,ke),[[v,e.user_info.first_name]])]),i("div",Ce,[g(i("input",{class:"form-control","onUpdate:modelValue":s[9]||(s[9]=n=>e.user_info.last_name=n),placeholder:t.$t("lastName")},null,8,Se),[[v,e.user_info.last_name]])]),i("div",xe,[g(i("input",{class:"form-control","onUpdate:modelValue":s[10]||(s[10]=n=>e.user_info.email=n),placeholder:t.$t("email")},null,8,Te),[[v,e.user_info.email]])]),i("div",null,[i("button",{type:"button",class:"btn btn-secondary",onClick:s[11]||(s[11]=(...n)=>o.submitPersonalInfo&&o.submitPersonalInfo(...n))},a(t.$t("continueToPayment")),1)])]),s[16]||(s[16]=i("div",{class:"pb-5"},null,-1))],64)):m("",!0)])):m("",!0)])}const je=U(V,[["render",ze]]);export{je as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.