diff --git a/dist/extendedMapPopup.js b/dist/extendedMapPopup.js index a6dcce4..f5a23a0 100644 --- a/dist/extendedMapPopup.js +++ b/dist/extendedMapPopup.js @@ -313,7 +313,7 @@ const translations = { pl_PL: { ennobledAt: 'Podbita o', never: 'Nigdy', - possibleLoyalty: 'Możliwe poparcie', + possibleLoyalty: 'Prawdopodobne poparcie', canSendNoble: 'Można wysłać szlachcica', yes: 'Tak', no: 'Nie' @@ -675,7 +675,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js -// @version 0.6.0 +// @version 0.6.1 // @description Extended Map Popup // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=map* @@ -736,7 +736,8 @@ const loadVillageData = async function loadVillageData(id) { server: SERVER, filter: { villageID: [id], - sort: 'ennobledAt DESC' + sort: 'ennobledAt DESC', + limit: 1 } } }); diff --git a/dist/extendedVillageProfile.js b/dist/extendedVillageProfile.js index 0c3d184..5cca4d6 100644 --- a/dist/extendedVillageProfile.js +++ b/dist/extendedVillageProfile.js @@ -172,6 +172,8 @@ const translations = { mySupport: 'Moje wsparcie', allySupport: 'Wsparcie plemienia', total: 'Łącznie', + possibleLoyalty: 'Prawdopodobne poparcie', + ennobledAt: 'Podbita o', action: { showEnnoblements: 'Pokaż przejęcia', countIncomingSupport: 'Policz nadchodzące wsparcie' @@ -183,6 +185,8 @@ const translations = { mySupport: 'My support', allySupport: 'Ally support', total: 'Total', + possibleLoyalty: 'Possible loyalty', + ennobledAt: 'Ennobled at', action: { showEnnoblements: 'Show ennoblements', countIncomingSupport: 'Count incoming support' @@ -797,7 +801,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedVillageProfile.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedVillageProfile.js -// @version 0.6.7 +// @version 0.6.8 // @description Extended Village Profile // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=info_village* @@ -853,7 +857,8 @@ const loadPageData = async () => { server: SERVER, filter: { villageID: [VILLAGE_ID], - sort: 'ennobledAt DESC' + sort: 'ennobledAt DESC', + limit: 1 } } }); @@ -1037,12 +1042,12 @@ const renderAdditionalInfo = function renderAdditionalInfo() { const firstEnnoblement = ennoblements && Array.isArray(ennoblements.items) && ennoblements.items[0] ? ennoblements.items[0] : undefined; renderTr({ id: 'loyalty', - title: 'Possible loyalty:', + title: "".concat(translations.possibleLoyalty, ":"), data: firstEnnoblement ? (0, _countLoyalty.default)(new Date(firstEnnoblement.ennobledAt), config.speed) : 100 }); renderTr({ id: 'ennobledAt', - title: 'Ennobled at:', + title: "".concat(translations.ennobledAt, ":"), data: firstEnnoblement ? (0, _formatDate.default)(firstEnnoblement.ennobledAt) : 'Never' }); }; diff --git a/dist/quickbar/extendedMapPopup.js b/dist/quickbar/extendedMapPopup.js index 61c8dc5..1022300 100644 --- a/dist/quickbar/extendedMapPopup.js +++ b/dist/quickbar/extendedMapPopup.js @@ -9,7 +9,7 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel },{"../_lib/toInteger/index.js":"VYL5","../toDate/index.js":"KYJg","../_lib/requiredArgs/index.js":"kK6Q"}],"pfh4":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=i;var e=u(require("../_lib/toInteger/index.js")),r=u(require("../addMilliseconds/index.js")),t=u(require("../_lib/requiredArgs/index.js"));function u(e){return e&&e.__esModule?e:{default:e}}var d=6e4;function i(u,i){(0,t.default)(2,arguments);var l=(0,e.default)(i);return(0,r.default)(u,l*d)} },{"../_lib/toInteger/index.js":"VYL5","../addMilliseconds/index.js":"umce","../_lib/requiredArgs/index.js":"kK6Q"}],"ddIN":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const e={pl_PL:{ennobledAt:"Podbita o",never:"Nigdy",possibleLoyalty:"Możliwe poparcie",canSendNoble:"Można wysłać szlachcica",yes:"Tak",no:"Nie"},en_DK:{ennobledAt:"Ennobled at",never:"Never",possibleLoyalty:"Possible loyalty",canSendNoble:"Can send noble",yes:"Yes",no:"No"}};var o=()=>e[window.game_data.locale]||e.en_DK;exports.default=o; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const e={pl_PL:{ennobledAt:"Podbita o",never:"Nigdy",possibleLoyalty:"Prawdopodobne poparcie",canSendNoble:"Można wysłać szlachcica",yes:"Tak",no:"Nie"},en_DK:{ennobledAt:"Ennobled at",never:"Never",possibleLoyalty:"Possible loyalty",canSendNoble:"Can send noble",yes:"Yes",no:"No"}};var o=()=>e[window.game_data.locale]||e.en_DK;exports.default=o; },{}],"Ph2E":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.API_URI=void 0;const e="https://api.tribalwarshelp.com/graphql";exports.API_URI=e;var r=function(){let{query:r,variables:t={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return fetch(e,{method:"POST",body:JSON.stringify({query:r,variables:t}),headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{let{data:r,errors:t}=e;if(t&&Array.isArray(t)&&t.length>0)throw new Error(t[0].message);return new Promise(e=>e(r))})};exports.default=r; },{}],"V6Mf":[function(require,module,exports) { @@ -31,5 +31,5 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel },{"../differenceInMilliseconds/index.js":"H70G","../_lib/requiredArgs/index.js":"kK6Q"}],"ATOB":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("date-fns/differenceInMinutes"));function t(e){return e&&e.__esModule?e:{default:e}}var r=(t,r)=>{let u=25+Math.abs((0,e.default)(t,new Date))*(r/60);return u>100&&(u=100),Math.floor(u)};exports.default=r; },{"date-fns/differenceInMinutes":"oGJj"}],"HdqX":[function(require,module,exports) { -"use strict";var e=c(require("date-fns/addMinutes")),n=c(require("./i18n/extendedMapPopup")),t=c(require("./libs/requestCreator")),r=c(require("./utils/formatDate")),a=c(require("./utils/getCurrentServer")),o=require("./utils/math"),i=c(require("./utils/buildUnitImgURL")),l=require("./utils/localStorage"),p=require("./utils/tribalwars"),d=c(require("./utils/countLoyalty"));function c(e){return e&&e.__esModule?e:{default:e}}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function u(e){for(var n=1;n(0,l.getItem)(m),w=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,l.setItem)(m,e)},M=e=>Math.abs(e.getTime()-(new Date).getTime())>864e5,T=async()=>{let e=h();return e&&e.server&&!M(new Date(e.loadedAt))&&e.server.config&&e.server.config.speed&&e.server.config.snob&&e.server.config.snob.maxDist&&e.server.config.unitSpeed&&e.server.unitConfig||((e=await(0,t.default)({query:f,variables:{key:y}})).loadedAt=new Date,w(e)),e&&e.server&&e.server.config?{config:e.server.config,unitConfig:e.server.unitConfig}:{}},q=async function(e){let{cacheOnly:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n||TWMap.popup.extendedMapPopupCache[e])return TWMap.popup.extendedMapPopupCache[e];try{const n=await(0,t.default)({query:b,variables:{server:y,filter:{villageID:[e],sort:"ennobledAt DESC"}}});return TWMap.popup.extendedMapPopupCache[e]=n,n}catch(r){console.log("loadVillageData",r)}},O=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=[];for(let t in e)0!==e[t].speed&&n.push(u(u({},e[t]),{},{name:t,img:(0,i.default)(t)}));return n},S=e=>e%2==0?"#f8f4e8":"#ded3b9;",C=(e,n)=>'\n \n \n \n '),D=(n,t)=>'\n \n ').concat((0,r.default)((0,e.default)(new Date(Timing.getCurrentServerTime()),n)),"\n \n "),x=(e,n,t)=>{let{config:a,unitConfig:i}=t;const l=TWMap.CoordByXY(TWMap.villageKey[e]),c=(0,o.calcDistanceBetweenTwoPoints)(l[0],l[1],window.game_data.village.x,window.game_data.village.y),s=n&&n.ennoblements&&n.ennoblements.items&&n.ennoblements.items.length>0?n.ennoblements.items[0]:void 0,u=document.querySelector("#map_popup #info_content tbody");let g=u.querySelector("#units");g||((g=document.createElement("tr")).id="units",u.appendChild(g));const y=O(i);g.innerHTML='\n \n \n \n \n '.concat(y.map(C).join(""),'\n \n \n ').concat(y.map((e,n)=>D((0,p.calcAttackDuration)(c,a.unitSpeed,e.speed),n)).join(""),"\n \n \n
\n \n ");let f=u.querySelector("#lastEnnobledAt");f||((f=document.createElement("tr")).id="lastEnnobledAt",u.appendChild(f)),f.innerHTML="\n \n ".concat(v.ennobledAt,":\n \n \n ").concat(s?(0,r.default)(s.ennobledAt):v.never,"\n \n ");let b=u.querySelector("#loyalty");b||((b=document.createElement("tr")).id="loyalty",u.appendChild(b)),b.innerHTML="\n \n ".concat(v.possibleLoyalty,":\n \n \n ").concat(s?(0,d.default)(new Date(s.ennobledAt),a.speed):100,"\n \n ");let m=u.querySelector("#canSendNoble");m||((m=document.createElement("tr")).id="canSendNoble",u.appendChild(m)),m.innerHTML="\n \n ".concat(v.canSendNoble,":\n \n \n ").concat(c\n ")},P=e=>async n=>{TWMap.popup._loadVillage(n);const t=await q(parseInt(n));x(parseInt(n),t,e)},_=e=>async(n,t,r)=>{TWMap.popup._displayForVillage(n,t,r);const a=await q(parseInt(n.id),{cacheOnly:window.game_data.features.Premium.active});x(parseInt(n.id),a,e)};!async function(){try{const n=await T();TWMap.popup.extendedMapPopupCache={},TWMap.popup._loadVillage=TWMap.popup.loadVillage,TWMap.popup.loadVillage=P(n),TWMap.popup._displayForVillage=TWMap.popup.displayForVillage,TWMap.popup.displayForVillage=_(n)}catch(e){console.log("extended map popup",e)}}(); +"use strict";var e=c(require("date-fns/addMinutes")),n=c(require("./i18n/extendedMapPopup")),t=c(require("./libs/requestCreator")),r=c(require("./utils/formatDate")),a=c(require("./utils/getCurrentServer")),o=require("./utils/math"),i=c(require("./utils/buildUnitImgURL")),l=require("./utils/localStorage"),p=require("./utils/tribalwars"),d=c(require("./utils/countLoyalty"));function c(e){return e&&e.__esModule?e:{default:e}}function s(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function u(e){for(var n=1;n(0,l.getItem)(m),w=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,l.setItem)(m,e)},M=e=>Math.abs(e.getTime()-(new Date).getTime())>864e5,T=async()=>{let e=h();return e&&e.server&&!M(new Date(e.loadedAt))&&e.server.config&&e.server.config.speed&&e.server.config.snob&&e.server.config.snob.maxDist&&e.server.config.unitSpeed&&e.server.unitConfig||((e=await(0,t.default)({query:f,variables:{key:y}})).loadedAt=new Date,w(e)),e&&e.server&&e.server.config?{config:e.server.config,unitConfig:e.server.unitConfig}:{}},q=async function(e){let{cacheOnly:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n||TWMap.popup.extendedMapPopupCache[e])return TWMap.popup.extendedMapPopupCache[e];try{const n=await(0,t.default)({query:b,variables:{server:y,filter:{villageID:[e],sort:"ennobledAt DESC",limit:1}}});return TWMap.popup.extendedMapPopupCache[e]=n,n}catch(r){console.log("loadVillageData",r)}},O=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=[];for(let t in e)0!==e[t].speed&&n.push(u(u({},e[t]),{},{name:t,img:(0,i.default)(t)}));return n},S=e=>e%2==0?"#f8f4e8":"#ded3b9;",C=(e,n)=>'\n \n \n \n '),D=(n,t)=>'\n \n ').concat((0,r.default)((0,e.default)(new Date(Timing.getCurrentServerTime()),n)),"\n \n "),x=(e,n,t)=>{let{config:a,unitConfig:i}=t;const l=TWMap.CoordByXY(TWMap.villageKey[e]),c=(0,o.calcDistanceBetweenTwoPoints)(l[0],l[1],window.game_data.village.x,window.game_data.village.y),s=n&&n.ennoblements&&n.ennoblements.items&&n.ennoblements.items.length>0?n.ennoblements.items[0]:void 0,u=document.querySelector("#map_popup #info_content tbody");let g=u.querySelector("#units");g||((g=document.createElement("tr")).id="units",u.appendChild(g));const y=O(i);g.innerHTML='\n \n \n \n \n '.concat(y.map(C).join(""),'\n \n \n ').concat(y.map((e,n)=>D((0,p.calcAttackDuration)(c,a.unitSpeed,e.speed),n)).join(""),"\n \n \n
\n \n ");let f=u.querySelector("#lastEnnobledAt");f||((f=document.createElement("tr")).id="lastEnnobledAt",u.appendChild(f)),f.innerHTML="\n \n ".concat(v.ennobledAt,":\n \n \n ").concat(s?(0,r.default)(s.ennobledAt):v.never,"\n \n ");let b=u.querySelector("#loyalty");b||((b=document.createElement("tr")).id="loyalty",u.appendChild(b)),b.innerHTML="\n \n ".concat(v.possibleLoyalty,":\n \n \n ").concat(s?(0,d.default)(new Date(s.ennobledAt),a.speed):100,"\n \n ");let m=u.querySelector("#canSendNoble");m||((m=document.createElement("tr")).id="canSendNoble",u.appendChild(m)),m.innerHTML="\n \n ".concat(v.canSendNoble,":\n \n \n ").concat(c\n ")},P=e=>async n=>{TWMap.popup._loadVillage(n);const t=await q(parseInt(n));x(parseInt(n),t,e)},_=e=>async(n,t,r)=>{TWMap.popup._displayForVillage(n,t,r);const a=await q(parseInt(n.id),{cacheOnly:window.game_data.features.Premium.active});x(parseInt(n.id),a,e)};!async function(){try{const n=await T();TWMap.popup.extendedMapPopupCache={},TWMap.popup._loadVillage=TWMap.popup.loadVillage,TWMap.popup.loadVillage=P(n),TWMap.popup._displayForVillage=TWMap.popup.displayForVillage,TWMap.popup.displayForVillage=_(n)}catch(e){console.log("extended map popup",e)}}(); },{"date-fns/addMinutes":"pfh4","./i18n/extendedMapPopup":"ddIN","./libs/requestCreator":"Ph2E","./utils/formatDate":"V6Mf","./utils/getCurrentServer":"DMkL","./utils/math":"XOOL","./utils/buildUnitImgURL":"KX6P","./utils/localStorage":"KWxH","./utils/tribalwars":"fHHP","./utils/countLoyalty":"ATOB"}]},{},["HdqX"], null) \ No newline at end of file diff --git a/dist/quickbar/extendedVillageProfile.js b/dist/quickbar/extendedVillageProfile.js index d5bf979..9013aa8 100644 --- a/dist/quickbar/extendedVillageProfile.js +++ b/dist/quickbar/extendedVillageProfile.js @@ -1,7 +1,7 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{};return fetch(e,{method:"POST",body:JSON.stringify({query:r,variables:t}),headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{let{data:r,errors:t}=e;if(t&&Array.isArray(t)&&t.length>0)throw new Error(t[0].message);return new Promise(e=>e(r))})};exports.default=r; },{}],"LNef":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const o={pl_PL:{loaded:"Załadowano",pop:"Populacja",mySupport:"Moje wsparcie",allySupport:"Wsparcie plemienia",total:"Łącznie",action:{showEnnoblements:"Pokaż przejęcia",countIncomingSupport:"Policz nadchodzące wsparcie"}},en_DK:{loaded:"Loaded",pop:"Pop",mySupport:"My support",allySupport:"Ally support",total:"Total",action:{showEnnoblements:"Show ennoblements",countIncomingSupport:"Count incoming support"}}};var e=()=>o[window.game_data.locale]||o.en_DK;exports.default=e; +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const o={pl_PL:{loaded:"Załadowano",pop:"Populacja",mySupport:"Moje wsparcie",allySupport:"Wsparcie plemienia",total:"Łącznie",possibleLoyalty:"Prawdopodobne poparcie",ennobledAt:"Podbita o",action:{showEnnoblements:"Pokaż przejęcia",countIncomingSupport:"Policz nadchodzące wsparcie"}},en_DK:{loaded:"Loaded",pop:"Pop",mySupport:"My support",allySupport:"Ally support",total:"Total",possibleLoyalty:"Possible loyalty",ennobledAt:"Ennobled at",action:{showEnnoblements:"Show ennoblements",countIncomingSupport:"Count incoming support"}}};var e=()=>o[window.game_data.locale]||o.en_DK;exports.default=e; },{}],"fCHX":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generatePaginationItems=exports.calcNumberOfPages=exports.getPage=exports.setPage=exports.getContainerStyles=void 0;const e="data-page",t=()=>"display: flex; flex-direction: row; flex-wrap: wrap;";exports.getContainerStyles=t;const r=function(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(!t instanceof HTMLElement)throw new Error("Expected HTMLElement as the first argument");if("number"!=typeof(r=parseInt(r))||isNaN(r))throw new Error("Expected number or string as the second argument");t.setAttribute(e,r+"")};exports.setPage=r;const n=t=>!t instanceof HTMLElement?0:parseInt(t.getAttribute(e));exports.getPage=n;const o=(e,t)=>{if("number"!=typeof e)throw new Error("Expected number as the first argument");if("number"!=typeof t)throw new Error("Expected number as the second argument");return e>0?Math.ceil(e/t):1};exports.calcNumberOfPages=o;const a=function(){let{total:t,limit:r,marginRight:n=3,currentPage:a=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const s=o(t,r),c=[];for(let o=1;o<=s;o++)o===a?c.push('>').concat(o,"<")):c.push('').concat(o,""));return c};exports.generatePaginationItems=a; },{}],"DMkL":[function(require,module,exports) { @@ -35,5 +35,5 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel },{}],"vNT1":[function(require,module,exports) { "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var t=l(require("../i18n/showEnnoblementsPopup")),e=require("../utils/pagination"),n=l(require("../utils/showPopup")),a=l(require("../utils/formatDate")),o=require("../utils/tribalwars");function l(t){return t&&t.__esModule?t:{default:t}}const r="ennoblementsPagination",i=(0,t.default)(),c=(t,e)=>t?'').concat(t.name," (").concat(e?'').concat(e.tag,""):"-",")"):"-";var d=function(t,l){let{limit:d=0,currentPage:s=1,onPageChange:u=(()=>{})}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const g=(0,e.generatePaginationItems)({total:l.total,limit:d,currentPage:s}),m='\n
\n ').concat(g.join(""),'\n
\n \n \n \n \n \n \n \n \n ").concat(l.items.map(t=>{let e=""+"");return t.village?e+='"):e+="",e+=c(t.newOwner,t.newOwnerTribe),(e+=c(t.oldOwner,t.oldOwnerTribe))+""}).join(""),"\n \n
\n ').concat(i.date,"\n \n ").concat(i.village,"\n \n ").concat(i.newOwner,"\n \n ").concat(i.oldOwner,"\n
".concat((0,a.default)(t.ennobledAt),"').concat((0,o.formatVillageName)(t.village.name,t.village.x,t.village.y),"-
\n ");(0,n.default)({e:t,title:i.title,id:"ennoblements",html:m}),document.querySelectorAll("#ennoblementsPagination a").forEach(t=>{t.addEventListener("click",u)})};exports.default=d; },{"../i18n/showEnnoblementsPopup":"tKRp","../utils/pagination":"fCHX","../utils/showPopup":"chDM","../utils/formatDate":"V6Mf","../utils/tribalwars":"fHHP"}],"UdfQ":[function(require,module,exports) { -"use strict";var e=u(require("./libs/requestCreator")),n=u(require("./i18n/extendedVillageProfile")),t=require("./utils/pagination"),r=u(require("./utils/getCurrentServer")),o=u(require("./utils/getIDFromURL")),a=u(require("./utils/buildUnitImgURL")),i=u(require("./utils/formatDate")),l=u(require("./utils/wait")),c=require("./utils/localStorage"),s=u(require("./utils/countLoyalty")),d=u(require("./common/showEnnoblementsPopup"));function u(e){return e&&e.__esModule?e:{default:e}}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function m(e){for(var n=1;n table > tbody > tr > td:nth-child(1) > table:nth-child(2) > tbody"),S=document.querySelector("#content_value table.vis tbody");let E={};const j=(0,n.default)(),D=()=>(0,c.getItem)(q),P=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,c.setItem)(q,e)},A=e=>Math.abs(e.getTime()-(new Date).getTime())>864e5,C=async()=>{let n=D();return n.server&&!A(new Date(n.loadedAt))&&n.server.unitConfig&&n.server.config||((n=await(0,e.default)({query:w,variables:{key:f}})).loadedAt=new Date,P(n)),n.server},L=async()=>{return await(0,e.default)({query:h,variables:{server:f,filter:{villageID:[b],sort:"ennobledAt DESC"}}})},_=async n=>{n.preventDefault();const r=(0,t.getPage)(n.target);if(!isNaN(r)){const t=await(0,e.default)({query:y,variables:{filter:{villageID:[b],offset:15*(r-1),limit:15,sort:"ennobledAt DESC"},server:f}});(0,d.default)(n,t.ennoblements,{currentPage:r,limit:15,onPageChange:_})}},k=e=>{const n=[];let t=0;for(let r in e)t+=e[r]*E.unitConfig[r].pop,n.push("".concat(e[r].toLocaleString(),""));return n.push("".concat(t.toLocaleString(),"")),n},x=async e=>{e.preventDefault();const n=[],t={};document.querySelectorAll('span.command_hover_details[data-command-type="support"]').forEach(e=>{const r=parseInt(e.getAttribute("data-command-id"));e.classList.contains("commandicon-ally")?t[r]=!0:t[r]=!1,n.push(r)});const r={spear:0,sword:0,axe:0,archer:0,spy:0,light:0,marcher:0,heavy:0,ram:0,catapult:0,knight:0,snob:0},o=m({},r),i=m({},r);for(let a=0;a").concat(a," / ").concat(n.length,""));const e=n[a],c=TribalWars.buildURL("",{screen:"info_command",ajax:"details",id:e});try{const n=await fetch(c),{units:a}=await n.json();if(a)for(let l in r){const n=parseInt(a[l].count);t[e]?o[l]+=n:r[l]+=n,i[l]+=n}await(0,l.default)(200)}catch(g){console.log("count incoming support",g)}}const c=[""];for(let l in r)c.push(''));c.push("".concat(j.pop,""));const s=["".concat(j.mySupport,""),...k(r)],d=["".concat(j.allySupport,""),...k(o)],u=["".concat(j.total,""),...k(i)];Dialog.show("incomingSupport",'\n \n \n \n '.concat(c.join(""),"\n \n \n ").concat(s.join(""),"\n \n \n ").concat(d.join(""),"\n \n \n ").concat(u.join(""),"\n \n \n
\n "));const p=document.querySelector(".popup_box");p&&(p.style.width="auto",p.style.maxWidth="900px")},$=e=>{const n=document.createElement("td");n.colSpan="2",n.append(e);const t=document.createElement("tr");return t.appendChild(n),t},I=()=>{const e=document.createElement("a");e.href="#",(0,t.setPage)(e,"1"),e.innerHTML=j.action.showEnnoblements,e.addEventListener("click",_),O.appendChild($(e));const n=document.createElement("a");n.href="#",n.innerHTML=j.action.countIncomingSupport,n.addEventListener("click",x),O.appendChild($(n))},T=e=>{let{title:n,data:t,id:r}=e,o=document.querySelector("#"+r);o||((o=document.createElement("tr")).id=r,o.appendChild(document.createElement("td")),o.appendChild(document.createElement("td")),S.append(o)),o.children[0].innerHTML=n,o.children[1].innerHTML=t},M=function(){let{config:e,ennoblements:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=n&&Array.isArray(n.items)&&n.items[0]?n.items[0]:void 0;T({id:"loyalty",title:"Possible loyalty:",data:t?(0,s.default)(new Date(t.ennobledAt),e.speed):100}),T({id:"ennobledAt",title:"Ennobled at:",data:t?(0,i.default)(t.ennobledAt):"Never"})};!async function(){try{const n=await L();E=await C(),M({config:E.config,ennoblements:n.ennoblements}),I()}catch(e){console.log("extended village profile",e)}}(); +"use strict";var e=u(require("./libs/requestCreator")),n=u(require("./i18n/extendedVillageProfile")),t=require("./utils/pagination"),r=u(require("./utils/getCurrentServer")),o=u(require("./utils/getIDFromURL")),a=u(require("./utils/buildUnitImgURL")),i=u(require("./utils/formatDate")),l=u(require("./utils/wait")),c=require("./utils/localStorage"),s=u(require("./utils/countLoyalty")),d=u(require("./common/showEnnoblementsPopup"));function u(e){return e&&e.__esModule?e:{default:e}}function p(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function m(e){for(var n=1;n table > tbody > tr > td:nth-child(1) > table:nth-child(2) > tbody"),S=document.querySelector("#content_value table.vis tbody");let j={};const D=(0,n.default)(),E=()=>(0,c.getItem)(q),P=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,c.setItem)(q,e)},A=e=>Math.abs(e.getTime()-(new Date).getTime())>864e5,L=async()=>{let n=E();return n.server&&!A(new Date(n.loadedAt))&&n.server.unitConfig&&n.server.config||((n=await(0,e.default)({query:w,variables:{key:f}})).loadedAt=new Date,P(n)),n.server},C=async()=>{return await(0,e.default)({query:h,variables:{server:f,filter:{villageID:[b],sort:"ennobledAt DESC",limit:1}}})},_=async n=>{n.preventDefault();const r=(0,t.getPage)(n.target);if(!isNaN(r)){const t=await(0,e.default)({query:y,variables:{filter:{villageID:[b],offset:15*(r-1),limit:15,sort:"ennobledAt DESC"},server:f}});(0,d.default)(n,t.ennoblements,{currentPage:r,limit:15,onPageChange:_})}},k=e=>{const n=[];let t=0;for(let r in e)t+=e[r]*j.unitConfig[r].pop,n.push("".concat(e[r].toLocaleString(),""));return n.push("".concat(t.toLocaleString(),"")),n},x=async e=>{e.preventDefault();const n=[],t={};document.querySelectorAll('span.command_hover_details[data-command-type="support"]').forEach(e=>{const r=parseInt(e.getAttribute("data-command-id"));e.classList.contains("commandicon-ally")?t[r]=!0:t[r]=!1,n.push(r)});const r={spear:0,sword:0,axe:0,archer:0,spy:0,light:0,marcher:0,heavy:0,ram:0,catapult:0,knight:0,snob:0},o=m({},r),i=m({},r);for(let a=0;a").concat(a," / ").concat(n.length,""));const e=n[a],c=TribalWars.buildURL("",{screen:"info_command",ajax:"details",id:e});try{const n=await fetch(c),{units:a}=await n.json();if(a)for(let l in r){const n=parseInt(a[l].count);t[e]?o[l]+=n:r[l]+=n,i[l]+=n}await(0,l.default)(200)}catch(g){console.log("count incoming support",g)}}const c=[""];for(let l in r)c.push(''));c.push("".concat(D.pop,""));const s=["".concat(D.mySupport,""),...k(r)],d=["".concat(D.allySupport,""),...k(o)],u=["".concat(D.total,""),...k(i)];Dialog.show("incomingSupport",'\n \n \n \n '.concat(c.join(""),"\n \n \n ").concat(s.join(""),"\n \n \n ").concat(d.join(""),"\n \n \n ").concat(u.join(""),"\n \n \n
\n "));const p=document.querySelector(".popup_box");p&&(p.style.width="auto",p.style.maxWidth="900px")},$=e=>{const n=document.createElement("td");n.colSpan="2",n.append(e);const t=document.createElement("tr");return t.appendChild(n),t},I=()=>{const e=document.createElement("a");e.href="#",(0,t.setPage)(e,"1"),e.innerHTML=D.action.showEnnoblements,e.addEventListener("click",_),O.appendChild($(e));const n=document.createElement("a");n.href="#",n.innerHTML=D.action.countIncomingSupport,n.addEventListener("click",x),O.appendChild($(n))},T=e=>{let{title:n,data:t,id:r}=e,o=document.querySelector("#"+r);o||((o=document.createElement("tr")).id=r,o.appendChild(document.createElement("td")),o.appendChild(document.createElement("td")),S.append(o)),o.children[0].innerHTML=n,o.children[1].innerHTML=t},M=function(){let{config:e,ennoblements:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=n&&Array.isArray(n.items)&&n.items[0]?n.items[0]:void 0;T({id:"loyalty",title:"".concat(D.possibleLoyalty,":"),data:t?(0,s.default)(new Date(t.ennobledAt),e.speed):100}),T({id:"ennobledAt",title:"".concat(D.ennobledAt,":"),data:t?(0,i.default)(t.ennobledAt):"Never"})};!async function(){try{const n=await C();j=await L(),M({config:j.config,ennoblements:n.ennoblements}),I()}catch(e){console.log("extended village profile",e)}}(); },{"./libs/requestCreator":"Ph2E","./i18n/extendedVillageProfile":"LNef","./utils/pagination":"fCHX","./utils/getCurrentServer":"DMkL","./utils/getIDFromURL":"tQUs","./utils/buildUnitImgURL":"KX6P","./utils/formatDate":"V6Mf","./utils/wait":"oUdd","./utils/localStorage":"KWxH","./utils/countLoyalty":"ATOB","./common/showEnnoblementsPopup":"vNT1"}]},{},["UdfQ"], null) \ No newline at end of file diff --git a/readme.md b/readme.md index bd7dbb3..d68cbf5 100644 --- a/readme.md +++ b/readme.md @@ -32,7 +32,7 @@ This script shows you the latest ennoblements from your server. Works in real-ti [Code](https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedPlayerProfile.js) -This script adds a lot of useful actions and pieces of information to the player profile. +This script adds many useful actions and pieces of information to the player profile. - Daily growth - Best rank @@ -57,7 +57,7 @@ New actions: [Code](https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedTribeProfile.js) -This script adds a lot of useful actions and pieces of information to the tribe profile. +This script adds many useful actions and pieces of information to the tribe profile. - Dominance - Best rank @@ -82,7 +82,12 @@ New actions: [Code](https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedVillageProfile.js) -This script adds new actions: +This script adds new actions and pieces of information to the village profile. + +- Possible loyalty +- Last ennoble date + +New actions: - Show ennoblements - Count incoming support @@ -110,7 +115,7 @@ Adds to map screen new functionality to search bonus barbarian villages easily. Adds to popup: - Information about possible loyalty -- Ennoble date +- Last ennoble date - Information if you can send noble from the current village - Unit arrival time diff --git a/screenshots/extendedVillageProfile.png b/screenshots/extendedVillageProfile.png index fef682d..0ae94c1 100644 Binary files a/screenshots/extendedVillageProfile.png and b/screenshots/extendedVillageProfile.png differ diff --git a/src/extendedMapPopup.js b/src/extendedMapPopup.js index aa68d66..238435c 100644 --- a/src/extendedMapPopup.js +++ b/src/extendedMapPopup.js @@ -14,7 +14,7 @@ import countLoyalty from './utils/countLoyalty'; // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js -// @version 0.6.0 +// @version 0.6.1 // @description Extended Map Popup // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=map* @@ -141,6 +141,7 @@ const loadVillageData = async (id, { cacheOnly = false } = {}) => { filter: { villageID: [id], sort: 'ennobledAt DESC', + limit: 1, }, }, }); diff --git a/src/extendedVillageProfile.js b/src/extendedVillageProfile.js index 4ce1115..482fea4 100644 --- a/src/extendedVillageProfile.js +++ b/src/extendedVillageProfile.js @@ -15,7 +15,7 @@ import showEnnoblementsPopup from './common/showEnnoblementsPopup'; // @namespace https://github.com/tribalwarshelp/scripts // @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedVillageProfile.js // @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedVillageProfile.js -// @version 0.6.7 +// @version 0.6.8 // @description Extended Village Profile // @author Kichiyaki http://dawid-wysokinski.pl/ // @match *://*/game.php*screen=info_village* @@ -168,6 +168,7 @@ const loadPageData = async () => { filter: { villageID: [VILLAGE_ID], sort: 'ennobledAt DESC', + limit: 1, }, }, }); @@ -375,14 +376,14 @@ const renderAdditionalInfo = ({ config, ennoblements } = {}) => { : undefined; renderTr({ id: 'loyalty', - title: 'Possible loyalty:', + title: `${translations.possibleLoyalty}:`, data: firstEnnoblement ? countLoyalty(new Date(firstEnnoblement.ennobledAt), config.speed) : 100, }); renderTr({ id: 'ennobledAt', - title: 'Ennobled at:', + title: `${translations.ennobledAt}:`, data: firstEnnoblement ? formatDate(firstEnnoblement.ennobledAt) : 'Never', }); }; diff --git a/src/i18n/extendedMapPopup.js b/src/i18n/extendedMapPopup.js index 2bb4021..5e1cc6a 100644 --- a/src/i18n/extendedMapPopup.js +++ b/src/i18n/extendedMapPopup.js @@ -2,7 +2,7 @@ const translations = { pl_PL: { ennobledAt: 'Podbita o', never: 'Nigdy', - possibleLoyalty: 'Możliwe poparcie', + possibleLoyalty: 'Prawdopodobne poparcie', canSendNoble: 'Można wysłać szlachcica', yes: 'Tak', no: 'Nie', diff --git a/src/i18n/extendedVillageProfile.js b/src/i18n/extendedVillageProfile.js index cdd1547..b2e03e5 100644 --- a/src/i18n/extendedVillageProfile.js +++ b/src/i18n/extendedVillageProfile.js @@ -5,6 +5,8 @@ const translations = { mySupport: 'Moje wsparcie', allySupport: 'Wsparcie plemienia', total: 'Łącznie', + possibleLoyalty: 'Prawdopodobne poparcie', + ennobledAt: 'Podbita o', action: { showEnnoblements: 'Pokaż przejęcia', countIncomingSupport: 'Policz nadchodzące wsparcie', @@ -16,6 +18,8 @@ const translations = { mySupport: 'My support', allySupport: 'Ally support', total: 'Total', + possibleLoyalty: 'Possible loyalty', + ennobledAt: 'Ennobled at', action: { showEnnoblements: 'Show ennoblements', countIncomingSupport: 'Count incoming support',