This repository has been archived on 2023-01-26. You can view files and clone it, but cannot push or open issues or pull requests.
scripts-old/dist/quickbar/warStatsGenerator.js

1 line
7.9 KiB
JavaScript
Raw Normal View History

!function(){const e="https://api.tribalwarshelp.com/graphql";var t=function(){let{query:t,variables:n={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return fetch(e,{method:"POST",body:JSON.stringify({query:t,variables:n}),headers:{"Content-Type":"application/json"}}).then((e=>e.json())).then((e=>{let{data:t,errors:n}=e;if(n&&Array.isArray(n)&&n.length>0)throw new Error(n[0].message);return new Promise((e=>e(t)))}))};const n={pl_PL:{conquers:"Przejęcia",sideOne:"Strona 1",sideTwo:"Strona 2",difference:"Różnica",tribeTag:"Skrót plemienia",delete:"Usuń",notEnoughTribesSideOne:"Musisz dodać jakiekolwiek plemię do strony 1.",notEnoughTribesSideTwo:"Musisz dodać jakiekolwiek plemię do strony 2.",from:"Od",to:"Do",warStatsGenerator:"Generator statystyk wojennych",generateWarStats:"Wygeneruj statystyki wojenne",addTribe:"Dodaj plemię",devNote:"Informacja od autora - Właśnie uruchomiłem nową stronę ze statystykami, nie zapomnij jej sprawdzić :)."},en_DK:{conquers:"Conquers",sideOne:"Side one",sideTwo:"Side two",difference:"Difference",tribeTag:"Tribe tag",delete:"Delete",notEnoughTribesSideOne:"Not enough tribes added to the side one.",notEnoughTribesSideTwo:"Not enough tribes added to the side two.",from:"From",to:"To",warStatsGenerator:"War stats generator",generateWarStats:"Generate war stats",addTribe:"Add tribe",devNote:"Information from the author - I've just launched a new stat tracking website, don't forget to check it out :)."},de_DE:{conquers:"Eroberungen",sideOne:"Partei A",sideTwo:"Partei B",difference:"Differenz",tribeTag:"Stammeskürzel",delete:"Löschen",notEnoughTribesSideOne:"Nicht genügend Stämme hinzugefügt zu Partei A.",notEnoughTribesSideTwo:"Nicht genügend Stämme hinzugefügt zu Partei B.",from:"Von",to:"Zu",warStatsGenerator:"Kriegsstatistik Generator",generateWarStats:"Generiere Statistik",addTribe:"Stamm Hinzufügen",devNote:"Information vom Entwickler - Ich habe eine neue Statistik-Website gestartet, vergiss nicht diese zu testen :)."}};const o="tribalwarshelp.com",r=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"https://".concat(e,".").concat(o,"/server/").concat(t)},i=".popup_box",a=window.location.host.split(".")[0],s="sideOneAdd",c="sideOneInputs",d="sideTwoAdd",l="sideTwoInputs",u="from",m="warStatsResult",b=n[window.game_data.locale]||n.en_DK,g=e=>()=>{const t=document.createElement("div");t.innerHTML="\n <label>".concat(b.tribeTag,': </label>\n <input type="text" required />\n <button type="button" class="btn">').concat(b.delete,"</button>\n "),t.querySelector("button").addEventListener("click",(()=>{t.remove()})),e.appendChild(t)},h=async e=>{e.preventDefault();const n=[],o=[];if(e.target.querySelectorAll("#".concat(c," input")).forEach((e=>{e.value.trim()&&n.push(e.value.trim())})),e.target.querySelectorAll("#".concat(l," input")).forEach((e=>{e.value.trim()&&o.push(e.value.trim())})),console.log("sideOneTags",n,"sideTwoTags",o),0===n.length)return UI.ErrorMessage(b.notEnoughTribesSideOne);if(0===o.length)return UI.ErrorMessage(b.notEnoughTribesSideTwo);const r=document.querySelectorAll("".concat(i," form #").concat(u," input"));let s;2===r.length&&r[0].value&&r[1].value&&(s=new Date("".concat(r[0].value,"T").concat(r[1].value,":00")));const d=document.querySelectorAll("".concat(i," form #").concat("to"," input"));let m;2===d.length&&d[0].value&&d[1].value&&(m=new Date("".concat(d[0].value,"T").concat(d[1].value,":00"))),e.target.querySelectorAll("button").forEach((e=>{e.disabled=!0}));try{const{tribes:e}=await t({query:"\n query tribes($server: String!, $filter: TribeFilter) {\n tribes(server: $server, filter: $filter) {\n items {\n id\n tag\n }\n }\n }\n",variables:{server:a,filter:{tag:[...n,...o]}}}),r=e.items.filter((e=>n.some((t=>e.tag===t)))).map((e=>e.id)),i=e.items.filter((e=>o.some((t=>e.tag===t)))).map((e=>e.id)),{sideOneEnnoblements:c,sideTwoEnnoblements:d}=await t({query:"\n query ennoblements($se