| 1 |
(()=>{"use strict";var e={n:r=>{var s=r&&r.__esModule?()=>r.default:()=>r;return e.d(s,{a:s}),s},d:(r,s)=>{for(var n in s)e.o(s,n)&&!e.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:s[n]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r)};const r=window.wp.element,s=window.wp.apiFetch;var n=e.n(s);const t=window.wp.i18n,i=window.ReactJSXRuntime;function o(){const e=window.VippsRecurringCheckout,{continueShoppingUrl:s}=window.VippsMobilePaySettings,[o,c]=(0,r.useState)(null),a=(0,r.useRef)(null),u=(0,r.useRef)(null);(0,r.useEffect)((()=>{e.redirect_url&&(window.location.href=e.redirect_url)}),[e]);const l=(0,r.useCallback)((()=>{n()({path:"/vipps-mobilepay-recurring/v1/checkout/session",method:"GET"}).then((e=>{c(e)}))}),[]);(0,r.useEffect)((()=>{if(e.session.token&&e.success)return a.current=setInterval(l,2e4),()=>{clearInterval(a.current)}}),[e]),(0,r.useEffect)((()=>{o&&("EXPIRED"!==o.status?o.redirect_url&&(window.location.href=o.redirect_url):clearInterval(a.current))}),[o]);const p=(0,r.useCallback)((e=>{const r=u.current.getAttribute("src"),s=new URL(r).origin;e.origin===s&&("resize"===e.data.type&&(u.current.style.height=`${e.data.frameHeight}px`),"payment_url"===e.data.type&&(window.location.href=e.data.paymentUrl))}),[u.current]);return(0,r.useEffect)((()=>{if(u.current)return window.addEventListener("message",p),()=>{window.removeEventListener("message",p)}}),[u.current,e.session.token]),(0,i.jsx)("form",{id:"vippsdata",className:"woocommerce-checkout",children:(0,i.jsx)("div",{className:"vipps-recurring-checkout-page",children:!e.session.success&&e.session.msg?.length>0?(0,i.jsxs)("div",{className:"vipps-recurring-checkout-page__error",children:[(0,i.jsx)("p",{children:e.session.msg}),(0,i.jsx)("p",{children:(0,i.jsx)("a",{href:s,className:"btn button vipps-recurring-checkout-page__error__action",children:(0,t.__)("Continue shopping","woo-vipps")})})]}):(0,i.jsxs)("div",{className:"vipps-recurring-checkout-page__loading",children:["EXPIRED"!==o?.status&&(0,i.jsxs)(i.Fragment,{children:[!e.session.token&&(0,i.jsx)("div",{className:"vipps-recurring-checkout-page__loading__spinner"}),e.session.token&&(0,i.jsx)("iframe",{ref:u,src:`${e.session.checkoutFrontendUrl||e.session.src}?token=${e.session.token}&lang=${e.language}`,frameBorder:"0",width:"100%"})]}),"EXPIRED"===o?.status&&(0,i.jsx)("div",{children:(0,t.__)("Checkout session expired. Please refresh to start a new session.","woo-vipps")})]})})})}var c,a;document.getElementById("vipps-mobilepay-recurring-checkout")&&(c=document.querySelector("#vipps-mobilepay-recurring-checkout"),a=(0,i.jsx)(o,{}),r.createRoot?(0,r.createRoot)(c).render(a):(0,r.render)(a,c))})(); |