1(this["webpackJsonptimesheet-app"]=this["webpackJsonptimesheet-app"]||[]).push([[48],{1022:function(e,t,i){"use strict";i.r(t);var s=i(6),r=i(0),a=i(8),c=i.n(a),n=i(38),o=i.n(n),l=i(846),d=i(31),u=i(1023),b=i.n(u),_=i(263),p=i(4),m=i(3),j=i(26),S=i(14),h=i(47),y=i(9),v=i(174),O=i(84),x=i(852),I=i(853),g=i(854),N=i(1);t.default=()=>{const e=Object(d.b)(),{user:t,loginUpdate:i}=Object(r.useContext)(j.c),{items:a,currencyCode:n,currencySymbol:u}=Object(m.g)({country:null===t||void 0===t?void 0:t.country}),w=new Set(a.map((e=>e.timeInterval))).size>1,f=null===t||void 0===t?void 0:t.customerId,P=null===t||void 0===t?void 0:t.isSubscribed,B=null===t||void 0===t?void 0:t.subscriptionId,M=a.find((e=>(null===t||void 0===t?void 0:t.subscriptionPlanId)===e.id)),[C,E]=Object(r.useState)((()=>{var e,t,i;return null!==(e=null!==(t=null===M||void 0===M?void 0:M.timeInterval)&&void 0!==t?t:null===(i=a[0])||void 0===i?void 0:i.timeInterval)&&void 0!==e?e:"Monthly"})),[k,A]=Object(r.useState)(M||null),[D,X]=Object(r.useState)(!1),[R,Y]=Object(r.useState)(!1),[G,T]=Object(r.useState)(!1),[F,W]=Object(r.useState)(!P),H=Object(l.useStripe)(),L=Object(l.useElements)();Object(r.useEffect)((()=>{Object(O.d)("Pricing viewed")}),[]);const{isRetrieving:z,paymentMethod:J}=Object(h.x)({customerId:f,isSubscribed:P});return Object(N.jsxs)("div",{className:b.a.Subscription,children:[!Object(y.k)(t.subscriptionTrialEndDate)&&Object(N.jsx)("div",{className:b.a.Subscription_alert,children:Object(N.jsxs)(p.B,{type:m.x.HEADING.XXXS,colorClass:m.d.NEUTRAL[0],children:["WARNING: Your free trial will end on"," ",o()(new Date(null===t||void 0===t?void 0:t.subscriptionTrialEndDate),"mmmm d, yyyy"),". If you wish to select a subscription plan, your free trial will end right away."]})}),Object(N.jsxs)("div",{className:b.a.Subscription_grid,children:[Object(N.jsxs)(p.g,{className:b.a.Subscription_card,children:[Object(N.jsx)(p.B,{type:m.x.HEADING.XXS,className:c()(b.a.Subscription_card_title,b.a.Subscription_card_title___withSubtitle),children:"Choose Your Subscription Plan"}),Object(N.jsxs)(p.B,{type:m.x.BODY.SM,className:b.a.Subscription_card_subtitle,children:["All prices are in ",n]}),w&&Object(N.jsxs)("div",{className:b.a.Subscription_timeIntervalButtons,children:[Object(N.jsx)(p.d,{className:c()(b.a.Subscription_timeIntervalButtons_button,{[b.a.Subscription_timeIntervalButtons_button___active]:"Monthly"===C}),onClick:()=>E("Monthly"),children:"Monthly Package"}),Object(N.jsx)(p.d,{className:c()(b.a.Subscription_timeIntervalButtons_button,{[b.a.Subscription_timeIntervalButtons_button___active]:"Yearly"===C}),onClick:()=>E("Yearly"),children:"Yearly Package"})]}),a.map((e=>Object(N.jsx)("div",{className:b.a.Subscription_keyWrapper,children:e.timeInterval===C&&Object(N.jsx)(_.j,{planName:e.name,planDescription:e.description,planPrice:e.price,isEmployer:!1,isCurrentPlan:(null===k||void 0===k?void 0:k.id)===e.id,onClick:()=>A(e),currencySymbol:u})},e.id)))]}),Object(N.jsxs)("div",{children:[Object(N.jsxs)(p.g,{className:c()(b.a.Subscription_card,b.a.Subscription_withMarginBottom),children:[t.isSubscribed&&Object(N.jsxs)(N.Fragment,{children:[z?Object(N.jsx)("p",{children:"Loading..."}):Object(N.jsxs)("div",{className:b.a.Subscription_withMarginBottom,children:[Object(N.jsx)(p.B,{className:b.a.Subscription_label,children:"Current Card Number"}),Object(N.jsxs)("div",{className:b.a.Subscription_currentPaymentMethod_container,children:[Object(N.jsx)("img",{src:"amex"===J.card.brand?x.a:"mastercard"===J.card.brand?I.a:"visa"===J.card.brand?g.a:"",className:b.a.Subscription_currentPaymentMethod_cardImage,alt:"Card"}),Object(N.jsxs)("span",{children:["***********","amex"!==J.card.brand?"*":"",J.card.last4]})]})]}),Object(N.jsx)(p.h,{className:b.a.Subscription_withMarginBottom,name:"changePaymentMethod",label:"Change Payment Method",onChange:()=>W(!F),checked:F})]}),F&&Object(N.jsxs)(N.Fragment,{children:[Object(N.jsx)(p.B,{className:b.a.Subscription_label,children:"Credit/Debit Card"}),Object(N.jsx)(l.CardElement,{onChange:e=>{void 0===e.error&&e.complete?X(!0):X(!1)}})]})]}),Object(N.jsxs)(p.g,{className:b.a.Subscription_card,children:[Object(N.jsx)(p.B,{type:m.x.HEADING.XXS,className:b.a.Subscription_card_title,children:"Summary"}),Object(N.jsxs)(p.n,{className:b.a.Subscription_summaryRow,children:[Object(N.jsx)(p.B,{type:m.x.BODY.LG,children:k?"".concat(k.name,"
1(").concat(null===k||void 0===k?void 0:k.timeInterval,")"):"Plan Name"}),Object(N.jsxs)(p.B,{type:m.x.BODY.LG,children:[u,k?k.price:0]})]}),Object(N.jsxs)(p.n,{className:b.a.Subscription_summaryRow,children:[Object(N.jsxs)(p.B,{type:m.x.HEADING.XXS,children:["Total (",n,")"]}),Object(N.jsxs)(p.B,{type:m.x.HEADING.XXS,children:[u,k?"Yearly"===k.timeInterval?12*k.price:k.price:0," ",k&&"/ ".concat(k.timeInterval.slice(0,-2).toLowerCase())]})]}),Object(N.jsx)(p.d,{className:b.a.Subscription_submitButton,onClick:()=>Y(!0),disabled:null===k||!H||!D&&F,children:P?"Update Subscription":"Complete Payment"}),Object(N.jsx)(_.k,{show:R,title:"Are you sure?",onConfirm:()=>(async r=>{if(Y(!1),T(!0),"create"===r){const r={planName:null===k||void 0===k?void 0:k.name,interval:null===k||void 0===k?void 0:k.timeInterval,quantity:1};Object(O.d)("Checkout started",r);const o=e=>{const t=Object(v.d)(e);Object(O.d)("Subscription failed",t?{errorCode:t}:{})};try{const{error:n,paymentMethod:d}=await H.createPaymentMethod({type:"card",card:L.getElement(l.CardElement),billing_details:{name:t.fullName,email:t.emailAddress}});if(n)o(n),e.error(n.message||v.a);else try{const c=await Object(v.b)({existingCustomerId:f,paymentMethod:d,createCustomer:S.h.createCustomer,updatePaymentMethod:S.h.updatePaymentMethod});if(c)try{const{data:a}=await S.h.createSubscription({customerId:c,subscriptionPlanId:k.id,userId:t.id,customerFullName:t.fullName,customerEmailAddress:t.emailAddress,subscriptionPlanName:k.name,subscriptionPlanInterval:k.timeInterval}),n=await Object(v.i)({stripe:H,response:a});n.ok?(Object(O.d)("Subscription completed",Object(s.a)(Object(s.a)({},r),{},{revenue:null===k||void 0===k?void 0:k.price})),e.success("Subscription Plan Activated! Redirecting..."),i(Object(v.h)(t,n.fieldsToSet)),setTimeout((()=>{window.location.href="/contractor/settings/subscription"}),3e3)):(o(n),e.error(n.errorMessage))}catch(a){o(a),e.error(Object(v.f)(a))}else o()}catch(c){o(c),e.error(Object(v.f)(c))}}catch(n){o(n),e.error(Object(v.f)(n))}}else if("update"===r){if(F){const{error:e,paymentMethod:i}=await H.createPaymentMethod({type:"card",card:L.getElement(l.CardElement),billing_details:{name:t.fullName,email:t.emailAddress}});e||await S.h.updatePaymentMethod({customerId:f,newPaymentMethod:i.id})}try{const{data:s}=await S.h.updateSubscription({previousSubscriptionPlanName:null===M||void 0===M?void 0:M.name,previousSubscriptionPlanInterval:null===M||void 0===M?void 0:M.timeInterval,subscriptionId:B,subscriptionPlanId:k.id,subscriptionPlanName:k.name,subscriptionPlanInterval:k.timeInterval,userId:t.id,customerFullName:t.fullName,customerEmailAddress:t.emailAddress}),r=await Object(v.i)({stripe:H,response:s,successMessage:"subscription_updated"});r.ok?(e.success("Subscription Plan Updated! Redirecting..."),i(Object(v.h)(t,r.fieldsToSet)),setTimeout((()=>{window.location.href="/contractor/settings/subscription"}),3e3)):e.error(r.errorMessage)}catch(o){e.error(Object(v.f)(o))}}T(!1)})(P?"update":"create"),onCancel:()=>Y(!1),children:"Your credit/debit card will gain charges depending on your selected plan."})]})]})]}),G&&Object(N.jsx)("div",{className:b.a.Subscription_loader,children:Object(N.jsx)(p.z,{size:m.s.LG,colorName:m.f.WHITE,className:b.a.Subscription_loader_spinner})})]})}},1023:function(e,t,i){e.exports={Subscription_alert:"styles_Subscription_alert__1d2_d",Subscription_info:"styles_Subscription_info__16bpu",Subscription_grid:"styles_Subscription_grid__7DESd",Subscription_card:"styles_Subscription_card__E06ZW",Subscription_card_title:"styles_Subscription_card_title__4AXS0",Subscription_card_title___withSubtitle:"styles_Subscription_card_title___withSubtitle__2IpFK",Subscription_card_subtitle:"styles_Subscription_card_subtitle__3XR8q",Subscription_card_loader:"styles_Subscription_card_loader__1kJNN",Subscription_timeIntervalButtons:"styles_Subscription_timeIntervalButtons__1Srle",Subscription_timeIntervalButtons_button:"styles_Subscription_timeIntervalButtons_button__10tic",Subscription_timeIntervalButtons_button___active:"styles_Subscription_timeIntervalButtons_button___active__2NwF2",Subscription_withMarginBottom:"styles_Subscription_withMarginBottom__2xW0I",Subscription_label:"styles_Subscription_label__10Vgf",Subscription_currentPaymentMethod_container:"styles_Subscription_currentPaymentMethod_container__35pVd",Subscription_currentPaymentMethod_cardImage:"styles_Subscription_currentPaymentMethod_cardImage__3Qe3K",Subscription_summaryRow:"styles_Subscription_summaryRow__3R46S",Subscription_submitButton:"styles_Subscription_submitButton__Fis0v",Subscription_keyWrapper:"styles_Subscription_keyWrapper__2KKP2",Subscription_loader:"styles_Subscription_loader__3VJzl"}},852:function(e,t,i){"use strict";t.a=i.p+"static/media/amex.dd39ea1f.svg"},853:function(e,t,i){"use strict";t.a=i.p+"static/media/mastercard.1e9d5a71.svg"},854:function(e,t,i){"use strict";t.a=i.p+"static/media/visa.7e967d19.svg"}}]);
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.