const nameEl=document.getElementById("deviceName"),keyEl=document.getElementById("deviceKey"),signInBox=document.getElementById("sign-in-box"),deviceLoginBox=document.getElementById("device-login-box"),changeKeyLink=document.getElementById("change-key-link"),signInLoginBtn=document.getElementById("signin-login-btn");function onLoad(){let e=new URLSearchParams(window.location.search);e.get("message")&&showToast(e.get("message"),e.get("type"))}function generateRandomWord(){let e="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let t=0;t<6;t++)e+=n.charAt(Math.floor(Math.random()*n.length));return e}async function deactivateLemonSqueezyLicense(e,n){try{let t=await fetch("https://lemon.powerdevbox.workers.dev/deactivate?license_key="+e+"&instance_id="+n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",apiKey:"bqG^JyKUZII#MrXALpPFbeP6SNr@LdtR"}});if(!t.ok)return!1;return await t.json(),!0}catch(i){return!1}}function deleteLocalStorage(){localStorage.removeItem("instanceId-s"),localStorage.removeItem("lemonId-s"),localStorage.removeItem("device-s")}function a(e){return e?e.replaceAll("-","G").replaceAll("4","Z").replaceAll("0","Y").replaceAll("A","W").replaceAll("E","T").replaceAll("8","S"):null}localStorage.getItem("lemonId-s")&&localStorage.getItem("instanceId-s")&&(deviceLoginBox.style.display="none",signInBox.style.display="flex"),function(){let e=document.getElementById("device-login-form");function n(e,n){n?e.classList.add("is-invalid"):e.classList.remove("is-invalid")}async function t(){let e=localStorage.getItem("lemonId-s"),n=localStorage.getItem("instanceId-s");if(""===e){showToast("Please enter a license key.","error");return}let t=await i(e);t.valid?(n&&await deactivateLemonSqueezyLicense(e,n),localStorage.setItem("instanceId-s",a(t.message)),localStorage.setItem("lemonId-s",a(e)),location.href="proxy.php?url=https%3A%2F%2Fsolution.powerdevbox.com%2F"):showToast(t.message,"error")}async function i(e){let n=localStorage.getItem("device-s");n||(n=generateRandomWord(),localStorage.setItem("device-s",n));try{let t=await fetch("https://lemon.powerdevbox.workers.dev/activate?license_key="+e+"&instance_name="+n,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",apiKey:"bqG^JyKUZII#MrXALpPFbeP6SNr@LdtR"}});if(!t.ok){let i=await t.json();return{message:i.error,valid:!1}}let o=await t.json();return{message:o.instance.id,valid:!0}}catch(s){return{message:"Error validating Lemon Squeezy license: ",error:s,valid:!1}}}e&&(signInLoginBtn&&signInLoginBtn.addEventListener("click",()=>{window.location.href="proxy.php?url=https%3A%2F%2Fsolution.powerdevbox.com%2F"}),changeKeyLink&&changeKeyLink.addEventListener("click",e=>{e.preventDefault(),signInBox&&(signInBox.style.display="none"),deviceLoginBox&&(deviceLoginBox.style.display="")}),e.addEventListener("submit",function(e){e.preventDefault();let i=(nameEl?.value||"").trim(),o=(keyEl?.value||"").trim();if(n(nameEl,!i),n(keyEl,!o),i&&o)try{localStorage.setItem("device-s",i),localStorage.setItem("lemonId-s",o),t()}catch(s){console.warn("LocalStorage unavailable",s)}}))}(),window.addEventListener("load",onLoad),"serviceWorker"in navigator&&navigator.serviceWorker.register("service worker.js",{scope:"/"});