-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.js
1 lines (1 loc) · 15.8 KB
/
action.js
1
window.onload=function(){function e(e,t=","){const n=e.slice(0,e.indexOf("\n")).split(t),l=e.slice(e.indexOf("\n")+1).split("\n"),s=l.map(function(e){const l=e.split(t).map(e=>e.replace(/""/g,"#").replace(/^"|"$/g,"").replace(/#/g,'"')),s=n.reduce(function(e,t,n){return e[t]=l[n],e},{});return s});return s}async function t(){let e={active:!0,currentWindow:!0},[t]=await chrome.tabs.query(e);return t}function n(e,t){for(var n="",l=0;l<e.length;l++)n+=String.fromCharCode(e.charCodeAt(l)^t.charCodeAt(l%t.length));return n}function l(e,t){return n(e,t)}function s(e,t,n){switch(e){case"id":var l=document.getElementById(t);return console.log(t),l?(l.value=n,console.log("id found")):console.log("id not found");case"class":l=document.getElementsByClassName(t);return l?(document.getElementsByClassName(t)[0].value=n,console.log("class found")):console.log("class not found");case"name":l=document.getElementsByName(t)[0];return l?(l.value=n,console.log("name found")):console.log("name not found");case"tag":l=document.getElementsByTagName(t)[0];return l?(l.value=n,console.log("tag found")):console.log("tag not found");case"attribute":console.log(t);l=document.querySelector(t);return l?(document.querySelector(t).value=n,console.log("attribute found")):console.log("attribute not found")}}function o(){addlicense_form.classList.replace("hide","show"),document.getElementsByClassName("blur-bg")[0].classList.replace("hide","show")}function c(){addlicense_form.classList.replace("show","hide"),document.getElementsByClassName("blur-bg")[0].classList.replace("show","hide")}function a(){addlicense_form.reset()}const i=document.getElementById("myForm"),d=document.getElementById("csvFile");var r;const m=document.getElementById("detected_license");var u=document.getElementById("fillerdiv");let g=document.getElementById("fillForm-btn"),y=document.getElementById("fill_label"),f=document.getElementById("reset-btn"),p=document.getElementById("copied_banner");var _,E="No License Found",L=document.getElementById("copy_license-btn"),h=!1,v=!1,I=!1,B="",C=!1,b=[];if(null!=localStorage.getItem("mylicenses"))var T=l(localStorage.getItem("mylicenses"),"secret"),S=JSON.parse(T);else S=[];S.length>0?(1==S.length?document.getElementById("licenses_count").innerHTML=" One Key Added (Click to Copy)":document.getElementById("licenses_count").innerHTML=S.length+" Keys Added (Click to Copy)",S.forEach(function(e){var t=document.createElement("div"),s=["ok-license","warning-license","error-license"];""==e.name?(t.className=s[2],B=s[2],t.onmouseover=function(){document.head.appendChild(document.createElement("style")).innerHTML='.error-license:after{content: "Name is Missing";}',t.onmouseleave=function(){document.head.appendChild(document.createElement("style")).innerHTML='.error-license:after{content: "Key is Missing";}'}},I=!0):""==e.ls?(t.className=s[2],B=s[2]):""==e.url_contains||""==e.ls_selector||""==e.ls_selector_type?(t.className=s[1],B=s[1]):(t.className=s[0],B=s[0]),t.classList.add("license_item"),t.innerHTML=e.name+'<i class="far fa-copy"></i><i class="far fa-edit"></i>',document.getElementById("existing_licenses").appendChild(t),t.addEventListener("click",function(t){function s(){for(var e=document.getElementsByClassName("license_data"),t=0;t<e.length;t++)e[t]!=i&&(e[t].classList.remove("fade-up"),e[t].classList.add("fade-down","killthis"),setTimeout(function(){var e=document.getElementsByClassName("killthis");e.length>0&&e[0].parentNode.removeChild(e[0])},300))}if("far fa-edit"==t.target.className&&(s(),document.getElementById("addkey_btn").innerHTML="Edit Existing Key",C=!0,document.getElementById("deletekey_btn").style.display="inline-block",o(),document.getElementById("license_name").value=e.name,document.getElementById("license_selector").value=e.ls_selector,document.getElementById("selector_type").value=e.ls_selector_type,document.getElementById("url_contains").value=e.url_contains,document.getElementById("license_key").value=e.ls,document.getElementById("addlicense_form").onsubmit=function(t){if(C){t.preventDefault(),t.stopPropagation();var s=document.getElementById("license_name").value,o=document.getElementById("license_selector").value,i=document.getElementById("selector_type").value,d=document.getElementById("url_contains").value,r=document.getElementById("license_key").value,m={name:s,ls_selector:o,ls_selector_type:i,url_contains:d,ls:r},u=l(localStorage.getItem("mylicenses"),"secret"),g=JSON.parse(u);null==g&&(g=[]),g[g.findIndex(t=>t.name==e.name)]=m,console.log(m);var y=n(JSON.stringify(g),"secret");localStorage.setItem("mylicenses",y),document.getElementById("licenses_count").innerHTML=S.length+" Keys Added (Click to Copy)",c(),a(),C=!1,setTimeout(function(){location.reload()},300)}else console.log("not editing")},document.getElementById("deletekey_btn").onclick=function(t){if(confirm("Are you sure you want to delete this key?"))if(C){t.preventDefault(),t.stopPropagation(),document.getElementById("deletekey_btn").innerHTML="Delete Existing Key";var s=l(localStorage.getItem("mylicenses"),"secret"),o=JSON.parse(s);null==o&&(o=[]),o.splice(o.findIndex(t=>t.name==e.name),1);var i=n(JSON.stringify(o),"secret");localStorage.setItem("mylicenses",i),document.getElementById("licenses_count").innerHTML=S.length+" Keys Added (Click to Copy)",c(),a(),C=!1,setTimeout(function(){location.reload()},500)}else console.log("not editing")}),"far fa-copy"==t.target.className)if(p.style.zIndex="3",clearTimeout(_),s(),""==e.ls)clearTimeout(_),p.innerHTML="Error: License Not Found",p.classList.replace("ok-license","error-license"),console.log("error"),p.classList.add("fade-in"),_=setTimeout(function(){p.classList.remove("fade-in"),p.style.zIndex="0"},1500);else{clearTimeout(_);const t=document.createElement("textarea");t.value=e.ls,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),p.innerHTML="Sucess: Key Copied",p.classList.replace("error-license","ok-license"),p.classList.add("fade-in"),_=setTimeout(function(){p.classList.remove("fade-in"),p.style.zIndex="0"},1500),console.log("copied "+B)}if("far fa-edit"!=t.target.className&&"far fa-copy"!=t.target.className){console.log("license_item clicked");var i=document.createElement("div");if(i.classList.add("license_data"),""!=e.name){var d=document.createElement("div");d.classList.add("license_data_item"),d.innerHTML='Name <i class="fas fa-check"></i>',i.appendChild(d),console.log("name not empty")}else{d=document.createElement("div");d.classList.add("license_data_item"),d.innerHTML='Name <i class="fas fa-times"></i>',i.appendChild(d),console.log("name empty")}if(""!=e.ls){var r=document.createElement("div");r.classList.add("license_data_item"),r.innerHTML='License Key <i class="fas fa-check"></i>',i.appendChild(r)}else{r=document.createElement("div");r.classList.add("license_data_item"),r.innerHTML='License Key <i class="fas fa-times"></i>',i.appendChild(r)}if(""!=e.ls_selector){var m=document.createElement("div");m.classList.add("license_data_item"),m.innerHTML='Selector <i class="fas fa-check"></i>',i.appendChild(m)}else{m=document.createElement("div");m.classList.add("license_data_item"),m.innerHTML='Selector <i class="fas fa-times"></i>',i.appendChild(m)}if(""!=e.ls_selector_type){var u=document.createElement("div");u.classList.add("license_data_item"),u.innerHTML='Selector Type <i class="fas fa-check"></i>',i.appendChild(u)}else{u=document.createElement("div");u.classList.add("license_data_item"),u.innerHTML='Selector Type <i class="fas fa-times"></i>',i.appendChild(u)}if(""!=e.url_contains){var g=document.createElement("div");g.classList.add("license_data_item"),g.innerHTML='URL Contains <i class="fas fa-check"></i>',i.appendChild(g)}else{g=document.createElement("div");g.classList.add("license_data_item"),g.innerHTML='URL Contains <i class="fas fa-times"></i>',i.appendChild(g)}t.target.appendChild(i),document.getElementById("status_wrapper").appendChild(i);var y=document.getElementById("status_wrapper").getBoundingClientRect(),f=t.clientX-y.left,E=t.clientY-y.top;i.style.top=E+14+"px",f+i.offsetWidth>document.getElementById("status_wrapper").offsetWidth?i.style.left=f-i.offsetWidth+"px":i.style.left=f+"px",i.classList.add("fade-up"),s()}})})):0!=S.length&&null!=S&&null!=S&&S!=[]||(document.getElementById("licenses_count").innerHTML="Interesting, no keys found. Try adding one!"),document.addEventListener("click",function(e){if(e.target.classList.contains("license_item"));else if(document.getElementsByClassName("license_data").length>0&&(console.log("license_data exists"),!e.target.classList.contains("license_data"))){console.log("clicked outside of license_data");for(var t=document.getElementsByClassName("license_data"),n=0;n<t.length;n++)t[n].classList.remove("fade-up"),t[n].classList.add("fade-down","killthis"),setTimeout(function(){var e=document.getElementsByClassName("killthis");e.length>0&&e[0].parentNode.removeChild(e[0])},300)}}),d.addEventListener("change",function(){document.getElementById("submit-btn").style.display="block",document.getElementById("submit-btn").innerHTML='Submit <span style="color:#0a536b;font-weight:900">'+d.files[0].name+"</span>",document.getElementById("csvFile-label").style.display="none"}),i.addEventListener("submit",function(t){if(0==document.getElementById("csvFile").files.length)t.preventDefault(),alert("Please Upload File");else{t.preventDefault();const s=d.files[0],o=new FileReader;o.onload=function(t){const s=t.target.result,o=e(s);console.log(o);const c=JSON.stringify(o);if(null!==localStorage.getItem("mylicenses")&&""!==localStorage.getItem("mylicenses")){var a=l(localStorage.getItem("mylicenses"),"secret");if(null===a&&(a=""),null!=a&&""!=a){console.log("old: "+a);var i=JSON.parse(a);null==i&&(i=[]),arr_new=JSON.stringify(i.concat(o)),console.log("arr_new: "+arr_new);var d=n(arr_new,"secret");localStorage.setItem("mylicenses",d)}else{d=n(c,"secret");localStorage.setItem("mylicenses",d)}}else{d=n(c,"secret");localStorage.setItem("mylicenses",d)}let r=l(localStorage.getItem("mylicenses"),"secret"),m=JSON.parse(r);console.log(m),m.forEach(function(e){console.log(e.ls_selector)})},o.readAsText(s),alert("Keys Stored Succesfully"),location.reload()}}),f.addEventListener("click",function(e){localStorage.clear(),alert("All Keys were Cleared"),location.reload()}),chrome.tabs.query({currentWindow:!0,active:!0},function(e){r=e[0].url,S.length>0&&S.some(function(e){if(r.includes(e.url_contains)&&""!=e.url_contains){function n(e,t){return"id"==t?null!=document.getElementById(e)||null!=document.getElementById(e)?(console.log("id selector exists"),!0):(console.log("id selector does not exist"),!1):"class"==t?null!=document.getElementsByClassName(e)&&document.getElementsByClassName(e).length>0?(console.log("class selector exists"),!0):(console.log("class selector does not exist"),!1):"tag"==t?null!=document.getElementsByTagName(e)&&document.getElementsByTagName(e).length>0?(console.log("tag selector exists"),!0):(console.log("tag selector does not exist"),!1):"name"==t?null!=document.getElementsByName(e)&&document.getElementsByName(e).length>0?(console.log("name selector exists"),!0):(console.log("name selector does not exist"),!1):"attribute"==t?null!=document.querySelector(e)?(console.log("attribute selector exists"),!0):(console.log("attribute selector does not exist"),!1):"selectorAll"==t&&(null!=document.querySelectorAll(e)&&document.querySelectorAll(e).length>0?(console.log("selectorAll selector exists"),!0):(console.log("selectorAll selector does not exist"),!1))}return console.log("url contains "+e.url_contains),console.log("selector "+e.ls_selector),console.log("Selector_type "+e.ls_selector_type),m.innerHTML=e.name+" License Page Detected",m.style.color="green",u.style.display="block",y.innerHTML="Fill "+e.name+" License",console.log(e.name+" Detected"),E=e.ls,""==e.ls?(I=!0,L.style.backgroundColor="red",L.disabled=!0,L.getElementsByTagName("div")[0].innerHTML="No License to Copy",document.head.appendChild(document.createElement("style")).innerHTML='#copy_license-btn:before { content: "X"; }',g.style.backgroundColor="red",g.disabled=!0,y.innerHTML="Can't Fill "+e.name+" License",document.head.appendChild(document.createElement("style")).innerHTML='#fillForm-btn:before { content: "License Does Not Exist"; }'):""==e.ls_selector||""==e.ls_selector_type?(g.style.backgroundColor="orange",g.disabled=!0,y.innerHTML="Can't Fill "+e.name+" License",document.head.appendChild(document.createElement("style")).innerHTML='#fillForm-btn:before { content: "Selector Error, Copy instead"; }',v=!0):h=!0,t().then(function(t){chrome.scripting.executeScript({target:{tabId:t.id},func:n,args:[e.ls_selector,e.ls_selector_type]},function(t){console.log(t),!0===t[0].result&&!0===h?(console.log("selector exists "+e.ls_selector),is_selector_exists=!0,g.style.backgroundColor="green",g.disabled=!1,y.innerHTML="Fill "+e.name+" License",document.head.appendChild(document.createElement("style")).innerHTML='#fillForm-btn:before { content: "\f601"; }'):!1===t[0].result&&(console.log("selector does not exist"+e.ls_selector),is_selector_exists=!1,g.style.backgroundColor="orange",g.disabled=!0,y.innerHTML="Can't Fill "+e.name+" License",document.head.appendChild(document.createElement("style")).innerHTML='#fillForm-btn:before { content: "Selector Missmatch, Copy instead"; }')})}),b=e}})}),L.addEventListener("click",function(e){p.style.zIndex="3",clearTimeout(_);const t=document.createElement("textarea");t.value=E,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),p.innerHTML="Sucess: Key Copied",p.classList.replace("error-license","ok-license"),p.classList.add("fade-in"),_=setTimeout(function(){p.classList.remove("fade-in"),p.style.zIndex="0"},1500),console.log("copied "+B)}),g.addEventListener("click",async()=>{if(h){let e=await t();chrome.scripting.executeScript({target:{tabId:e.id},func:s,args:[b.ls_selector_type,b.ls_selector,b.ls]}),console.log("Sent License to Tab")}else I?alert("License Not Found Please check your CSV file"):v&&alert("License exist but not fillable, try copy instead")}),addlicense_btn.addEventListener("click",function(){document.getElementById("deletekey_btn").style.display="none",document.getElementById("addkey_btn").innerHTML="Add New Key",a(),o()}),document.getElementsByClassName("popup-close")[0].addEventListener("click",function(){c()}),document.getElementById("addlicense_form").onsubmit=function(e){if(!C){console.log("adding new license"),e.preventDefault();var t=""+document.getElementById("license_name").value,s=""+document.getElementById("license_key").value,o=""+document.getElementById("selector_type").value,i=""+document.getElementById("license_selector").value,d=""+document.getElementById("url_contains").value,r=[{id:"",name:t,ls:s,ls_selector_type:o,ls_selector:i,url_contains:d}];if(null!==localStorage.getItem("mylicenses")&&""!==localStorage.getItem("mylicenses")){var m=l(localStorage.getItem("mylicenses"),"secret");if(null!=m&&""!=m){var u=JSON.parse(m);null==u&&(u=[]),y=JSON.stringify(r.concat(u));var g=n(y,"secret");null===m&&(m=""),localStorage.setItem("mylicenses",g)}else{var y=JSON.stringify(r);g=n(y,"secret");null===m&&(m=""),localStorage.setItem("mylicenses",g)}c(),a(),setTimeout(function(){location.reload()},500)}else{y=JSON.stringify(r),g=n(y,"secret");localStorage.setItem("mylicenses",g),c(),a(),setTimeout(function(){location.reload()},500)}}},document.getElementById("show_all").addEventListener("click",function(){document.getElementById("existing_licenses").classList.contains("show_less")?(document.getElementById("existing_licenses").classList.replace("show_less","show_more"),document.getElementById("show_all").innerHTML="Show Less",console.log("show more")):(document.getElementById("existing_licenses").classList.replace("show_more","show_less"),document.getElementById("show_all").innerHTML="Show More",console.log("show less"))}),document.getElementsByClassName("license_item").length<=8&&(document.getElementById("show_all").style.display="none"),document.body.classList.remove("preload")};