(()=>{"use strict";const{createElement:e,render:t,useState:o,useEffect:s,Fragment:a}=wp.element,{select:r,dispatch:n}=wp.data,l=t=>{const[r,l]=o(!1),[i,d]=o(!1),[c,u]=o(!1);s((()=>{localforage.getItem("bp_login_token").then((e=>{e&&u(e)}))}),[]),s((()=>{l(!0)}),[t,c]);let p={};return i&&(p={opacity:"0.5","pointer-events":"none"}),e(a,null,r?e("div",{className:"popup_wrapper",onClick:e=>{e.preventDefault(),document.querySelector(".popup_wrapper")&&e.target===document.querySelector(".popup_wrapper")&&l(!1)}},e("div",{className:"popup_content"},e("span",{className:"vicon vicon-close",onClick:()=>{l(!1)}}),e("h3",null,window.wplms_course_data.translations.apply_to_course),e("div",{className:"popup-footer"},e("a",{className:"button is-primary",style:p,onClick:()=>{d(!0),fetch(`${window.wplms_course_data.api_url}/student/courseButton/applycourse`,{method:"post",body:JSON.stringify({id:t.id,token:c})}).then((e=>e.ok?e.json():{status:0,message:window.wplms_course_data.translations.error_loading_data})).then((e=>{if(e.status){l(!1),d(!1);var o=new CustomEvent("wplms_popup_applied",{detail:{course:t.id,text:e.message}});document.dispatchEvent(o)}})).catch((e=>{d(!1),console.error("Uh oh, an error!",e),n("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})}))}},window.wplms_course_data.translations.yes),e("a",{className:"button is-primary",onClick:()=>{l(!1)}},window.wplms_course_data.translations.cancel)))):"")},{createElement:i,render:d,useState:c,useEffect:u,Fragment:p}=wp.element,{select:_,dispatch:m}=wp.data,h=e=>{const[t,o]=c(!1),[s,a]=c(!0),[r,n]=c(window.wplms_course_data.translations.take_this_course),[l,d]=c(""),[_,h]=c(""),[w,g]=c([]),[b,f]=c(!1),[y,v]=c({}),[k,N]=c(!1),[L,E]=c(!1),[S,O]=c(!1),[x,A]=c(-1);u((()=>{localforage.getItem("bp_login_token").then((e=>{o(e)}))}),[]),u((()=>{document.addEventListener("wplms_popup_applied",(t=>{t.detail.course==e.id&&t.detail.hasOwnProperty("text")&&(f(!1),d("#"),n(t.detail.text))}),!1),document.addEventListener("reload_course_button",(t=>{t.detail.course==e.id&&q(!0)}),!1)}),[]),u((()=>{q()}),[e,t]),u((()=>{if(L){var t=new CustomEvent("wplms_popup_clicked",{detail:{course:e.id}});document.dispatchEvent(t),E(!1)}}),[L]);const q=(o=null)=>{if(a(!0),t)if(N(!1),!o&&e.hasOwnProperty("coursedata")&&e.coursedata){let t=e.coursedata;t.status&&("#apply"==t.link&&f(!0),n(t.text),t.hasOwnProperty("error")?v(t.error):(d(t.link),t.hasOwnProperty("form")&&h(t.form),A(t.course_status)),g(t.extras)),t.hasOwnProperty("hide_button")&&t.hide_button&&N(!0),t.hasOwnProperty("is_free")&&t.is_free&&O(!0),a(!1)}else fetch(`${window.wplms_course_data.api_url}/student/courseButton/?course=${e.id}&force`,{method:"post",body:JSON.stringify({id:e.id,token:t,price:window.wplms_course_data.show_price})}).then((e=>e.ok?e.json():{status:0,message:window.wplms_course_data.translations.error_loading_data})).then((e=>{e.status&&("#apply"==e.link&&f(!0),n(e.text),e.hasOwnProperty("error")?v(e.error):(d(e.link),e.hasOwnProperty("form")&&h(e.form),A(e.course_status)),g(e.extras)),e.hasOwnProperty("hide_button")&&e.hide_button&&N(!0),e.hasOwnProperty("is_free")&&e.is_free&&O(!0),a(!1)})).catch((e=>{a(!1),console.error("Uh oh, an error!",e),m("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})}))},I=(t,o)=>{var s=new CustomEvent("coursebuttonpricingclicked",{detail:{original_event:t,course:e.id,price:o}});document.dispatchEvent(s)};return k?"":s?i("span",{className:"course_button button full is-loading"},"..."):i(p,null,b?i("span",{className:"the_course_button"},i("a",{href:l,className:"course_button button full",onClick:e=>{e.preventDefault(),E(!0)}},i("span",{dangerouslySetInnerHTML:{__html:r}}),w.length?w.map((e=>i("span",null,e))):"")):_.length?i("div",{className:" the_course_button"},i("form",{action:_,className:"",method:"post"},i("input",{type:"hidden",name:"token",value:t}),i("input",{type:"hidden",name:"course_id",value:e.id}),i("button",{type:"submit",className:"button full course_button"},i("span",{dangerouslySetInnerHTML:{__html:r}}),w.length?w.map((e=>i("span",null,e))):""))):i(p,null,i("div",{className:"the_course_button"},Array.isArray(l)&&l.length?i("div",{className:"course_button button full"},i("a",{href:l[0].link,onClick:e=>{I(e,l[0])}},i("strong",null,r||window.wplms_course_data.translations.take_this_course),i("span",{dangerouslySetInnerHTML:{__html:l[0].price}})),l.length>1?i(p,null,i("input",{id:"course_price",type:"checkbox"}),i("label",{for:"course_price",class:"vicon vicon-angle-down"}),i("div",{className:"wplms_price_dropdown"},l.map((e=>i("a",{href:e.link,dangerouslySetInnerHTML:{__html:e.price},onClick:t=>{I(t,e)}}))))):"",w.length?i("div",{className:"extra_details"},w.map((e=>i("span",{dangerouslySetInnerHTML:{__html:e}})))):""):x<0&&S?i("a",{href:l,className:"course_button button full",onClick:o=>{o.preventDefault(),a(!0),fetch(`${window.wplms_course_data.api_url}/user/subscribe?post`,{method:"post",body:JSON.stringify({course_id:e.id,token:t})}).then((e=>e.json())).then((e=>{e.status&&q(!0),e.hasOwnProperty("message")&&e.message&&e.message.length&&m("vibebp").addNotification({text:e.message}),a(!1)}))}},i("strong",null,r&&r.length?r:window.wplms_course_data.translations.take_this_course),w.length?i("div",{className:"extra_details"},w.map((e=>i("span",null,e)))):""):i("a",{href:l,className:"course_button button full",onClick:e=>{I(e,l)}},r||window.wplms_course_data.translations.take_this_course,w.length?i("div",{className:"extra_details"},w.map((e=>i("span",{dangerouslySetInnerHTML:{__html:e}})))):"")),y&&y.hasOwnProperty("error_message")?i("div",{className:"vbp_message error"},i("span",{className:"vicon "+y.icon,style:{margin:"0 0.2rem"}}),i("span",{dangerouslySetInnerHTML:{__html:y.error_message}})):""))},w=()=>{"undefined"!=typeof localforage&&localforage.getItem("bp_login_token").then((e=>{if(e){let t=[];document.querySelectorAll(".the_course_button").forEach((e=>{e.classList.add("is-loading"),t.push(e.getAttribute("data-id"))})),t.length?fetch(`${window.wplms_course_data.api_url}/student/courseButtons/?courses=${JSON.stringify(t)}&force`,{method:"post",body:JSON.stringify({ids:t,token:e,price:window.wplms_course_data.show_price})}).then((e=>e.ok?e.json():{status:0,message:window.wplms_course_data.translations.error_loading_data})).then((e=>{e.status&&Object.keys(e.courses).length?document.querySelectorAll(".the_course_button").forEach((t=>{t.classList.remove("is-loading");let o=t.getAttribute("data-id");e.courses.hasOwnProperty(o)&&d(i(h,{id:o,def:t.innerHTML,coursedata:e.courses[o]}),t)})):(document.querySelectorAll(".the_course_button").forEach((e=>{e.classList.remove("is-loading")})),m("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data}))})).catch((e=>{setIsLoading(!1),console.error("Uh oh, an error!",e),m("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})})):document.querySelectorAll(".the_course_button").forEach((e=>{e.classList.remove("is-loading"),e.querySelector(".course_button")&&e.querySelector(".course_button").classList.remove("is-loading")}))}else document.querySelectorAll(".the_course_button").forEach((e=>{e.classList.remove("is-loading"),e.querySelector(".course_button")&&e.querySelector(".course_button").classList.remove("is-loading")}))}))},g=()=>{let e=[];if(document.querySelectorAll(".the_course_button").forEach((t=>{t.classList.add("is-loading"),t.getAttribute("data-id")&&e.push(t.getAttribute("data-id"))})),!e.length)return document.removeEventListener("userLoaded",g,!1),void document.querySelectorAll(".the_course_button").forEach((e=>{e.classList.remove("is-loading")}));fetch(`${window.wplms_course_data.api_url}/student/courseButtons/?courses=${JSON.stringify(e)}&force`,{method:"post",body:JSON.stringify({ids:e,token:_("vibebp").getToken(),price:window.wplms_course_data.show_price})}).then((e=>e.ok?e.json():{status:0,message:window.wplms_course_data.translations.error_loading_data})).then((e=>{e.status&&Object.keys(e.courses).length?document.querySelectorAll(".the_course_button").forEach((t=>{t.classList.remove("is-loading");let o=t.getAttribute("data-id");e.courses.hasOwnProperty(o)&&d(i(h,{id:o,def:t.innerHTML,coursedata:e.courses[o]}),t)})):(document.querySelectorAll(".the_course_button").forEach((e=>{e.classList.remove("is-loading")})),m("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data}))})).catch((e=>{setIsLoading(!1),console.error("Uh oh, an error!",e),m("vibebp").addNotification({text:window.wplms_course_data.translations.error_loading_data})})),document.removeEventListener("userLoaded",g,!1)};document.addEventListener("userLoaded",g,!1),document.addEventListener("course_cards_loaded",w,!1),document.addEventListener("single_course_loaded",w,!1),document.addEventListener("DOMContentLoaded",w,!1),document.addEventListener("wplms_popup_clicked",(e=>{null!==document.getElementById("wplms_popup")&&document.getElementById("wplms_popup").remove();let t=document.createElement("div");t.setAttribute("id","wplms_popup"),document.body.appendChild(t),d(i(l,{id:e.detail.course}),document.getElementById("wplms_popup"))}),!1)})();