generic-skin 4.5.10 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/general.js +36 -1
- package/general.min.js +1 -1
- package/options/memeberDirectory.js +95 -0
- package/options/memeberDirectory.min.js +1 -0
- package/package.json +5 -4
package/general.js
CHANGED
|
@@ -738,11 +738,46 @@ document.addEventListener('forumReady', () => {
|
|
|
738
738
|
}
|
|
739
739
|
});
|
|
740
740
|
|
|
741
|
+
/* Enlaces de subforos */
|
|
742
|
+
document.addEventListener('forumReady', () => {
|
|
743
|
+
if (document.querySelector('.forum-element .forum-links a')) {
|
|
744
|
+
document.querySelectorAll('.forum-element .forum-links a').forEach(link => link.title = 'Ir al tema «' + link.textContent + '»');
|
|
745
|
+
}
|
|
746
|
+
});
|
|
747
|
+
|
|
748
|
+
/* Ordenar listas */
|
|
749
|
+
document.addEventListener('forumReady', () => {
|
|
750
|
+
if (document.querySelector('.is-ordered')) {
|
|
751
|
+
document.querySelectorAll('.is-ordered').forEach(list => {
|
|
752
|
+
const orderedList = [];
|
|
753
|
+
|
|
754
|
+
list.querySelectorAll(':scope > li').forEach(element => orderedList.push({
|
|
755
|
+
original: element.outerHTML,
|
|
756
|
+
order: element.textContent
|
|
757
|
+
}));
|
|
758
|
+
|
|
759
|
+
orderedList.sort((a, b) => {
|
|
760
|
+
if (a.order < b.order) {
|
|
761
|
+
return -1;
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
if (a.order > b.order) {
|
|
765
|
+
return 1;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
return 0;
|
|
769
|
+
});
|
|
770
|
+
|
|
771
|
+
list.innerHTML = orderedList.map(element => element.original).join('');
|
|
772
|
+
});
|
|
773
|
+
}
|
|
774
|
+
});
|
|
775
|
+
|
|
741
776
|
/* Formatear mensajes de dados */
|
|
742
777
|
document.addEventListener('DOMContentLoaded', () => {
|
|
743
778
|
const getWhoRolled = (message) => [...message.matchAll(/\'\<strong\>(.*)\<\/strong\>\'/gi)][0][1];
|
|
744
779
|
|
|
745
|
-
const getRolls = (message) => message.split('<br><br
|
|
780
|
+
const getRolls = (message) => message.split('<br><br>--------------------------------<br><br>').map(roll => {
|
|
746
781
|
const isNumeric = roll.indexOf('<img src="') === -1;
|
|
747
782
|
const [rollName, rollResults] = roll.replace(`' :<br> `, `' : `).split(' : ');
|
|
748
783
|
|
package/general.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
console.log("%cFNR Engine por %cGaylien 🏳️🌈","font-family: sans-serif; font-size: 1.5em","font-size: 1.5em; text-transform: uppercase; font-weight: 800; color: #c381b9;"),console.log("https://zatrapa-gaylien.tumblr.com/"),document.addEventListener("DOMContentLoaded",async()=>{const[e,t]=await Promise.all([FNR.user.getLevel(),FNR.user.getGroup()]),o=window.screen.width<=1023?"touch":"desktop";document.body.classList.add(`is-${o}`),document.body.classList.add(`is-${e}`),document.body.classList.add(`is-${t}`),"guest"!==e&&document.body.classList.add(`is-user${_userdata.user_id}`)}),document.addEventListener("DOMContentLoaded",()=>{-1===_userdata.user_id&&document.querySelector(".lastpost-content")?[].forEach.call(document.querySelectorAll(".lastpost-content"),e=>{let t,o,r;e.querySelector(".color-groups")?(t=e.querySelector(".color-groups"),o=t.outerHTML.split(t.innerHTML),r=t.textContent,t.outerHTML='<strong><a href="'+FNR.user.getUrl(r)+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+r+'»">'+o[0]+Vue.filter("just-name")(r)+o[1]+"</a></strong>",e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+=r)):(e.querySelector(".forum-last-author").innerHTML="<strong>Invitado</strong>",e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+="Invitado")),e.querySelector(".forum-last-author").outerHTML=e.querySelector(".forum-last-author > strong").outerHTML}):-1!==_userdata.user_id&&document.querySelector(".lastpost-content")&&[].forEach.call(document.querySelectorAll(".lastpost-content"),e=>{let t="<strong>Invitado</strong>";e.querySelector(".forum-last-author > strong")?(t=e.querySelector(".forum-last-author > strong > a"),t.title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.textContent+"»",e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+=t.textContent),t.querySelector("span").textContent=Vue.filter("just-name")(t.textContent),t="<strong>"+t.outerHTML+"</strong>",t.textContent=Vue.filter("just-name")(t.textContent)):e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+="Invitado"),e.querySelector(".forum-last-author").outerHTML=t})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".forum-last-date")&&[].forEach.call(document.querySelectorAll(".lastpost-content"),e=>{const t=e.querySelector(".forum-last-date").textContent;e.querySelector(".lastpost-link").title+=", "+t,e.querySelector(".forum-last-date").outerHTML=t,e.outerHTML=e.innerHTML})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topiclist-topics li:not(.is-not-topic)")&&[].forEach.call(document.querySelectorAll(".topiclist-topics li:not(.is-not-topic)"),e=>{[].forEach.call(FNR.content.topic.getType(e.querySelector(".topiclist-topic .to-process .topic-status").textContent),t=>{e.classList.add(t)})})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topic-creator")&&[].forEach.call(document.querySelectorAll(".topic-creator"),e=>{e.querySelector("span")?(e.querySelector("a")?(e.querySelector("a").title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent+"»",e.innerHTML="<strong>"+e.innerHTML+"</strong>"):e.innerHTML='<strong><a href="'+FNR.user.getUrl(e.textContent)+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent+'»">'+e.innerHTML+"</a></strong>",e.querySelector("span").innerHTML=Vue.filter("just-name")(e.textContent)):e.innerHTML="<strong>Invitado</strong>",e.outerHTML=e.innerHTML})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topic-pagination")&&[].forEach.call(document.querySelectorAll(".topic-pagination"),e=>{e.querySelector("strong")&&e.classList.remove("to-process")})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topiclist-topics li:not(.is-not-lastpost)")&&[].forEach.call(document.querySelectorAll(".topiclist-topics li:not(.is-not-lastpost)"),e=>{const t=e.querySelector(".topiclist-topic .to-process .lastpost-author"),o=e.querySelector(".topiclist-topic .to-process .lastpost-link a").href,r=e.querySelector(".topiclist-topic .to-process .lastpost-date").textContent;let n=FNR.user.getUrl(t.textContent);if(t.querySelector(".gensmall")&&(n=t.querySelector(".gensmall").href),e.querySelector(".topic-lastpost").href=o,e.querySelector(".topic-lastpost").title="Último mensaje por "+t.textContent.trim()+", "+r,e.querySelector(".topic-lastauthor")){const o=e.querySelector(".topic-lastauthor");t.querySelector("span")?(t.innerHTML='<strong><a href="'+n+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.textContent+'»">'+t.querySelector("span").outerHTML+"</a></strong>",t.querySelector("strong strong").textContent=Vue.filter("just-name")(t.querySelector("strong strong").textContent),t.querySelector(".color-groups").innerHTML=t.querySelector(".color-groups").textContent,o.outerHTML=t.innerHTML):o.outerHTML="<strong>Invitado</strong>",o.outerHTML=o.innerHTML}if(e.querySelector(".topic-lastdate")&&(e.querySelector(".topic-lastdate").outerHTML=r),e.querySelector(".topic-lastavatar")){let o;o="",o+='<a class="topic-lastavatar" href="'+n+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.textContent+'»">',o+=e.querySelector(".topic-lastavatar").innerHTML,o+="</a>",e.querySelector(".topic-lastavatar").outerHTML=o}})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector("#moderation")&&document.querySelector("#moderation a")?document.querySelector('a[href="#gestionar"]').href=document.querySelector("#moderation a").href:document.querySelector("#moderation")&&document.querySelector('a[href="#gestionar"]').parentElement.remove()}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector(".prev-post")){let e=document.querySelector("#forum-preview");""!==document.querySelectorAll(".prev-post")[0].innerHTML&&(e.querySelector(".post-content").innerHTML='<div class="is-content">'+document.querySelectorAll(".prev-post")[0].innerHTML+"</div>",e.classList.remove("to-process"))}}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector(".forum-otherposts")&&document.querySelector(".forum-otherposts").children.length){let e="";[].forEach.call(document.querySelector(".forum-otherposts").querySelectorAll(".post"),t=>{if(document.querySelector(".mp-main")&&document.querySelector("#forum-reply")){let o=t.querySelector(".mp-from").textContent,r=FNR.utility.getGroup("rgb_"+t.querySelector(".mp-from > span").style.color.split("rgb(")[1].split(")")[0].replace(/, /g,"_")),n=t.querySelector(".mp-date").textContent,l=t.querySelector(".is-content").innerHTML;e+='<li class="post post-mp">',e+='<section class="postlist-post usergroup-'+r+'">',e+='<ul class="post-datafields post-profile profile-sticky">',e+='<li class="datafield-user">',e+='<div class="datafield-name">Usuario</div>',e+='<strong><a href="'+FNR.user.getUrl(o)+'" target="_blank" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+o+'»">'+o+"</a></strong>",e+="</li>",e+='<li class="datafield-date">',e+='<div class="datafield-name">Fecha</div>',e+=n.indexOf("el")>-1?n.split("el ")[1]:n,e+="</li>",e+="</ul>",e+='<div class="post-content no-links">',e+='<div class="is-content">',e+=l,e+="</div>",e+="</div>",e+="</section>",e+="</li>"}else document.querySelector("#mp-body")||(t.querySelector(".post-datafields .datafield-user a > span")?(t.querySelector(".postlist-post").classList.add("usergroup-"+FNR.utility.getGroup("rgb_"+t.querySelector(".post-datafields .datafield-user a > span").style.color.split("rgb(")[1].split(")")[0].replace(/, /g,"_"))),t.querySelector(".post-datafields .datafield-user a").title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.querySelector(".post-datafields .datafield-user a").textContent+"»",t.querySelector(".post-datafields .datafield-user a").target="_blank",""===t.querySelector(".post-datafields .datafield-user a").href&&(t.querySelector(".post-datafields .datafield-user a").href=FNR.user.getUrl(t.querySelector(".post-datafields .datafield-user a").textContent))):t.querySelector(".post-datafields .datafield-check")&&t.querySelector(".post-datafields .datafield-check").children&&1===t.querySelector(".post-datafields .datafield-check").children.length?t.querySelector(".post-datafields .datafield-check").remove():t.querySelector(".post-datafields .datafield-user a")&&""===t.querySelector(".post-datafields .datafield-user a").href&&(t.querySelector(".post-datafields .datafield-user a").outerHTML="<strong>"+t.querySelector(".post-datafields .datafield-user a").innerHTML+"</strong>",t.querySelector(".postlist-post").classList.add("usergroup-"+FNR.utility.getGroup("null"))),"UsuarioAnonymous"===t.querySelector(".post-datafields .datafield-user").textContent&&t.querySelector(".postlist-post").classList.add("usergroup-"+FNR.utility.getGroup("null")))}),document.querySelector(".mp-main")&&document.querySelector("#forum-reply")&&(document.querySelector(".forum-otherposts").innerHTML=e)}}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector(".forum-postlist .post:not(.panel)")){const e={responder_citando:{icon:"fas fa-quote-right",title:"Citar"},editar_borrar_este_mensaje:{icon:"fas fa-pencil-alt",title:"Editar"},borrar_este_mensaje:{icon:"fas fa-trash-alt",title:"Borrar"},ver_la_direccion_ip_del_autor:{icon:"fas fa-map-marker-alt",title:"Ver IP"},permalink:{icon:"fas fa-tag",title:"Enlace permanente"}};[].forEach.call(document.querySelectorAll(".forum-postlist .post"),t=>{if(t.children.length>1){let o="";[].forEach.call(t.querySelectorAll(".to-process .post-icons li a"),t=>{const r=e[FNR.utility.genSlug(t.querySelector("img").title)];o+='<li class="post-button post-button-'+FNR.utility.genSlug(r.title,"-")+'">',o+='<a title="'+r.title+'" href="'+t.href+'">',o+='<i class="'+r.icon+'"></i>',o+="<span>"+("Enlace permanente"===r.title?"Permalink":r.title)+"</span>",o+="</a>",o+="</li>"}),t.querySelector(".post-buttons").innerHTML=o}else t.remove()})}}),document.addEventListener("DOMContentLoaded",()=>{null!==document.querySelector("#forum-realreply")&&""===document.querySelector("#forum-realreply").innerHTML&&document.querySelector("#quickreply-section").remove()}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector('img[title="Citar mensaje"]')&&[].forEach.call(document.querySelectorAll('img[title="Citar mensaje"]'),e=>{let t=e.parentElement;t.title="Citar el Mensaje",t.classList.add("dropdown-item"),t.textContent="Citar el Mensaje"}),document.querySelector('img[title="Editar mensaje"]')&&[].forEach.call(document.querySelectorAll('img[title="Editar mensaje"]'),e=>{let t=e.parentElement;t.title="Editar el Mensaje",t.classList.add("dropdown-item"),t.textContent="Editar el Mensaje"})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".mp-from")&&[].forEach.call(document.querySelectorAll(".mp-from"),e=>{const t=FNR.utility.getGroup(e.querySelector("span").style.color.replace(/, /g,"_").replace(/, /g,"_").replace(/\(/g,"_").replace(/\)/g,""));e.innerHTML='<a href="'+FNR.user.getUrl(e.textContent)+'" target="_blank" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent+'»">'+e.textContent+"</a>";let o=e.parentElement;for(;!o.classList.contains("mp-main");)o=o.parentElement;o.classList.add("usergroup-"+t)})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector("#breadcrumbs")&&document.querySelector("#forum-breadcrumb")&&[].forEach.call(document.querySelector("#breadcrumbs").children,(e,t,o)=>{let r=e.href,n=Vue.filter("mini-sanitize")(e.text),l="";r.match(/c(\d+)-/)||t+1===o.length?(r=t+1===o.length?window.location.pathname+window.location.search:"#",l+=' class="is-hidden-touch'+(t+1===o.length?"":" is-active")+'"'):r.indexOf("#profile")>-1&&(r=FNR.user.getUrl(n)),document.querySelector("#forum-breadcrumb ul").innerHTML+="<li"+l+'><a href="'+r+'" title="Ir a «'+n+'»">'+n+"</a></li>"})}),document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("#buttons");e&&e.children.length&&[].forEach.call(document.querySelectorAll(".page-buttons"),t=>{t.insertAdjacentHTML("afterbegin",e.innerHTML),t.parentElement.classList.contains("not-show")&&t.parentElement.classList.remove("not-show")})}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector("#pagination")&&document.querySelector("#pagination").children.length){const getPageInfo=()=>{const e=Array.from(document.querySelectorAll("#pagination > span > *:not(.pag-img):not(.page-sep)"));return e.length?{currentPage:parseInt(document.querySelector("#pagination > span > strong").textContent),totalPages:parseInt(e[e.length-1].textContent)}:{currentPage:1,totalPages:1}},pageData=getPageInfo(),leftButton=document.querySelector(".pag-img .sprite-arrow_prosilver_left"),rightButton=document.querySelector(".pag-img .sprite-arrow_prosilver_right");leftButton&&(leftButton.parentElement.title="Ir a la página anterior",leftButton.parentElement.classList.add("page-prev"),leftButton.parentElement.classList.remove("pag-img"),leftButton.parentElement.innerHTML='<i class="fas fa-chevron-left"></i>'),rightButton&&(rightButton.parentElement.title="Ir a la página siguiente",rightButton.parentElement.classList.add("page-next"),rightButton.parentElement.classList.remove("pag-img"),rightButton.parentElement.innerHTML='<i class="fas fa-chevron-right"></i>');const nextPage=document.querySelector(".page-next"),prevPage=document.querySelector(".page-prev"),pagination=`\n <div class="pagination-manager">\n ${null===prevPage?"":`<div class="page-action">${prevPage.outerHTML}</div>`}\n <form class="pagination-input" name="go_page">\n <input type="text" placeholder="${pageData.currentPage}" />de ${pageData.totalPages}\n </form>\n ${null===nextPage?"":`<div class="page-action">${nextPage.outerHTML}</div>`}\n </div>\n `;[].forEach.call(document.querySelectorAll(".page-pagination"),item=>{item.insertAdjacentHTML("afterbegin",pagination);const formSelector=item.querySelector(".pagination-input"),inputSelector=item.querySelector(".pagination-input input");inputSelector.onkeyup=FNR.behaviour.genDebounce(()=>{null===inputSelector.value.match(/[a-zA-Z]+/g)&&""!==inputSelector.value.trim()&&eval(do_pagination_start.toString().replace("document.go_page.start.value","inputSelector.value").split("{")[1].split("}")[0])}),item.parentElement.classList.contains("not-show")&&item.parentElement.classList.remove("not-show")})}}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".codebox")&&[].forEach.call(document.querySelectorAll(".codebox"),e=>{1!==e.classList.length&&e.classList.remove("codebox")}),document.querySelector(".codebox")&&[].forEach.call(document.querySelectorAll(".codebox"),e=>{const t=e.querySelector("code").innerHTML.trim();e.querySelector("dt").innerHTML='Código <em>-</em> <span class="is-pointer">Copiar</span>',e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-code"></i></div>'),e.querySelector("code").remove(),e.insertAdjacentHTML("beforeend","<code>"+t+"</code>")}),document.querySelector(".spoiler")&&[].forEach.call(document.querySelectorAll(".spoiler"),e=>{e.querySelector("dt").innerHTML=e.querySelector("dt").innerHTML.slice(0,-1),e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-archive"></i></div>')}),document.querySelector(".hidecode")&&[].forEach.call(document.querySelectorAll(".hidecode"),e=>{e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-eye-slash"></i></div>')}),document.querySelector("blockquote")&&([].forEach.call(document.querySelectorAll("blockquote cite"),e=>{if(e.innerHTML=e.innerHTML.replace(/escribió:/g,""),e.querySelector("a")){const t=e.querySelector("a");t.title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.title.replace(/Ver el perfil :: /g,"")+"»"}e=e.innerHTML}),[].forEach.call(document.querySelectorAll("blockquote"),e=>{e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-quote-right"></i></div>')}))}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector("#is-form")&&document.querySelector(".msg-element")){const e=document.querySelector("#is-form").innerHTML,t={method:document.querySelector(".basic-element form").method,action:document.querySelector(".basic-element form").action,name:document.querySelector(".basic-element form").name};document.querySelector("#message-section").outerHTML='<form method="'+t.method+'" action="'+t.action+'" name="'+t.name+'" id="message-section" class="basic-element">'+document.querySelector("#message-section").innerHTML+"</form>",document.querySelector("#message-section .msg-element").insertAdjacentHTML("afterend",'<div id="usereply-comand">'+e+"</div>"),document.querySelector("#is-form").remove()}}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".is-content .post-content")&&[].forEach.call(document.querySelectorAll(".is-content .post-content"),e=>{e.classList.remove("post-content")})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".has-anchor")&&[].forEach.call(document.querySelectorAll(".has-anchor"),e=>{e.insertAdjacentHTML("afterbegin",`<a id="anchor-${e.id}" class="page-anchor"></a>`)})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".mentiontag")&&[].forEach.call(document.querySelectorAll(".mentiontag"),e=>{e.title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent.slice(1)+"»"})}),document.addEventListener("DOMContentLoaded",()=>{[].forEach.call(document.querySelectorAll(".to-process"),e=>{e.remove()})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector("#forum-rules")&&(document.querySelector("#forum-rules").innerHTML=document.querySelector("#forum-rules").innerHTML.replace(/</g,"<").replace(/>/g,">"))}),document.addEventListener("forumReady",()=>{if(forumConfig.skinOptions.allowCustomStyles&&document.querySelector("#forum-content .forum-custom-styles")){let e="";[].forEach.call(document.querySelectorAll("#forum-content .forum-custom-styles"),t=>{e+=t.innerHTML,t.remove()}),document.head.insertAdjacentHTML("beforeend",`<style>${e}</style>`)}}),document.addEventListener("forumReady",()=>{FNR.behaviour.genControls()}),document.addEventListener("forumReady",()=>{document.querySelector(".codebox")&&[].forEach.call(document.querySelectorAll(".codebox"),e=>{e.querySelector("dt span").onclick=(()=>{navigator.clipboard.writeText(e.querySelector("code").innerText),FNR.html.genNotification("¡Copiado!","Recuerda engancharlo en algún lugar.","fas fa-copy")})})}),document.addEventListener("forumReady",()=>{[].forEach.call(document.querySelectorAll(".is-clickbox"),e=>{const t=e.dataset.categorybox,o=e.dataset.categoryid;e.classList.contains("is-toggle")?e.onclick=(()=>{document.querySelector('.is-clickbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.toggle("is-active"),document.querySelector('.is-selectbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.toggle("is-active")}):e.onclick=(()=>{document.querySelector('.is-clickbox.is-active[categorybox="'+t+'"]').classList.remove("is-active"),document.querySelector('.is-clickbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.add("is-active"),document.querySelector('.is-selectbox.is-active[categorybox="'+t+'"]').classList.remove("is-active"),document.querySelector('.is-selectbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.add("is-active")})})}),document.addEventListener("forumReady",()=>{FNR.behaviour.genWiki()}),document.addEventListener("forumReady",()=>{document.querySelector(".checkbox-click:not(.is-radio)")&&[].forEach.call(document.querySelectorAll(".checkbox-click:not(.is-radio)"),e=>{const t=e.parentElement.parentElement,o=t.querySelector(".checkbox-real input");o.checked&&t.classList.add("is-active"),e.parentElement.onclick=(()=>{t.classList.contains("is-active")?(t.classList.remove("is-active"),o.checked=!1):(t.classList.add("is-active"),o.checked=!0)})})}),document.addEventListener("forumReady",()=>{document.querySelector(".checkbox-click.is-radio")&&[].forEach.call(document.querySelectorAll(".checkbox-click.is-radio"),e=>{const t=e.parentElement.parentElement,o=t.querySelector(".checkbox-real input");o.checked&&t.classList.add("is-active"),e.parentElement.onclick=(()=>{[].forEach.call(document.querySelectorAll('input[type="radio"][name="'+o.name+'"]'),e=>{const t=e.parentElement.parentElement.classList;t.contains("is-active")&&t.remove("is-active")}),t.classList.contains("is-active")?(t.classList.remove("is-active"),o.checked=!1):(t.classList.add("is-active"),o.checked=!0)})})}),document.addEventListener("forumReady",()=>{document.querySelector(".is-input")&&[].forEach.call(document.querySelectorAll(".is-input"),e=>{e.onclick=(t=>{e.querySelector('input[type="submit"]').click()})})}),document.addEventListener("forumReady",()=>{FNR.behaviour.genDropeable()}),document.addEventListener("forumReady",()=>{document.querySelector(".is-tweakeable")&&document.fonts.ready.then(()=>{[].forEach.call(document.querySelectorAll(".is-tweakeable"),e=>{const t=e.offsetWidth-parseFloat(window.getComputedStyle(e,null).paddingLeft)-parseFloat(window.getComputedStyle(e,null).paddingRight)-parseFloat(window.getComputedStyle(e,null).borderLeftWidth)-parseFloat(window.getComputedStyle(e,null).borderRightWidth);if(t>0&&e.querySelector(".is-measurable").offsetWidth>0){let o=parseFloat(window.getComputedStyle(e,null).fontSize);for(;t<e.querySelector(".is-measurable").offsetWidth;)e.style.fontSize=o+"px",o--}})})}),document.addEventListener("DOMContentLoaded",()=>{const e=e=>[...e.matchAll(/\'\<strong\>(.*)\<\/strong\>\'/gi)][0][1],t=e=>e.split("<br><br>————————————————<br><br>").map(e=>{const t=-1===e.indexOf('<img src="'),[l,a]=e.replace("' :<br> ","' : ").split(" : ");return{rollName:o(l),rollResults:t?n(a):r(a)}}),o=e=>[...e.matchAll(/\'(.*)\'/gi)][0][1],r=e=>[...e.matchAll(/src\s*=\s*"(.+?)"/gi)].map(e=>e[1]),n=e=>e.replace(/\<strong\>/gi,"").replace(/\<\/strong\>/gi,"").split(", ").map(Number),l=({rollName:e,rollResults:t})=>{const o=FNR.utility.genSlug(e,"-");return`\n <li class="rolllist-roll rolllist-${o}">\n <h6>${e}</h6>\n <ul class="roll-results">\n ${t.map(t=>a(e,o,t)).join("")}\n </ul>\n </li>\n `},a=(e,t,o)=>`\n <li class="roll-result roll-${t}">\n ${"number"==typeof o?o:`<img src="${o}" alt='Resultado de la tirada del dado «${e}»' title='Resultado de la tirada del dado «${e}»' />`}\n </li>\n `;[...document.querySelectorAll(".postlist-post .is-content")].filter(e=>e.innerHTML.match("ha efectuado la acción siguiente: <strong>Tirada</strong>")).forEach(o=>{const[r,n]=o.innerHTML.split("<hr>"),a=e(r),i=t(n);o.closest(".postlist-post").classList.add("post-diceroll"),o.classList.add("content-dice"),o.innerHTML=`\n <blockquote>\n <div>¡<strong>${a}</strong> ha realizado <em>${1===i.length?"una tirada":"varias tiradas"}</em>!</div>\n </blockquote>\n <ul class="dice-rolllist">\n ${i.map(l).join("")}\n </ul>\n `})}),document.addEventListener("DOMContentLoaded",()=>{document.fonts.ready.then(()=>{document.dispatchEvent(forumReady),document.querySelector("#forum-body > .main-body").classList.remove("is-invisible")})});
|
|
1
|
+
console.log("%cFNR Engine por %cGaylien 🏳️🌈","font-family: sans-serif; font-size: 1.5em","font-size: 1.5em; text-transform: uppercase; font-weight: 800; color: #c381b9;"),console.log("https://zatrapa-gaylien.tumblr.com/"),document.addEventListener("DOMContentLoaded",async()=>{const[e,t]=await Promise.all([FNR.user.getLevel(),FNR.user.getGroup()]),o=window.screen.width<=1023?"touch":"desktop";document.body.classList.add(`is-${o}`),document.body.classList.add(`is-${e}`),document.body.classList.add(`is-${t}`),"guest"!==e&&document.body.classList.add(`is-user${_userdata.user_id}`)}),document.addEventListener("DOMContentLoaded",()=>{-1===_userdata.user_id&&document.querySelector(".lastpost-content")?[].forEach.call(document.querySelectorAll(".lastpost-content"),e=>{let t,o,r;e.querySelector(".color-groups")?(t=e.querySelector(".color-groups"),o=t.outerHTML.split(t.innerHTML),r=t.textContent,t.outerHTML='<strong><a href="'+FNR.user.getUrl(r)+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+r+'»">'+o[0]+Vue.filter("just-name")(r)+o[1]+"</a></strong>",e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+=r)):(e.querySelector(".forum-last-author").innerHTML="<strong>Invitado</strong>",e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+="Invitado")),e.querySelector(".forum-last-author").outerHTML=e.querySelector(".forum-last-author > strong").outerHTML}):-1!==_userdata.user_id&&document.querySelector(".lastpost-content")&&[].forEach.call(document.querySelectorAll(".lastpost-content"),e=>{let t="<strong>Invitado</strong>";e.querySelector(".forum-last-author > strong")?(t=e.querySelector(".forum-last-author > strong > a"),t.title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.textContent+"»",e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+=t.textContent),t.querySelector("span").textContent=Vue.filter("just-name")(t.textContent),t="<strong>"+t.outerHTML+"</strong>",t.textContent=Vue.filter("just-name")(t.textContent)):e.querySelector(".lastpost-link")&&(e.querySelector(".lastpost-link").title+="Invitado"),e.querySelector(".forum-last-author").outerHTML=t})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".forum-last-date")&&[].forEach.call(document.querySelectorAll(".lastpost-content"),e=>{const t=e.querySelector(".forum-last-date").textContent;e.querySelector(".lastpost-link").title+=", "+t,e.querySelector(".forum-last-date").outerHTML=t,e.outerHTML=e.innerHTML})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topiclist-topics li:not(.is-not-topic)")&&[].forEach.call(document.querySelectorAll(".topiclist-topics li:not(.is-not-topic)"),e=>{[].forEach.call(FNR.content.topic.getType(e.querySelector(".topiclist-topic .to-process .topic-status").textContent),t=>{e.classList.add(t)})})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topic-creator")&&[].forEach.call(document.querySelectorAll(".topic-creator"),e=>{e.querySelector("span")?(e.querySelector("a")?(e.querySelector("a").title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent+"»",e.innerHTML="<strong>"+e.innerHTML+"</strong>"):e.innerHTML='<strong><a href="'+FNR.user.getUrl(e.textContent)+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent+'»">'+e.innerHTML+"</a></strong>",e.querySelector("span").innerHTML=Vue.filter("just-name")(e.textContent)):e.innerHTML="<strong>Invitado</strong>",e.outerHTML=e.innerHTML})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topic-pagination")&&[].forEach.call(document.querySelectorAll(".topic-pagination"),e=>{e.querySelector("strong")&&e.classList.remove("to-process")})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".topiclist-topics li:not(.is-not-lastpost)")&&[].forEach.call(document.querySelectorAll(".topiclist-topics li:not(.is-not-lastpost)"),e=>{const t=e.querySelector(".topiclist-topic .to-process .lastpost-author"),o=e.querySelector(".topiclist-topic .to-process .lastpost-link a").href,r=e.querySelector(".topiclist-topic .to-process .lastpost-date").textContent;let n=FNR.user.getUrl(t.textContent);if(t.querySelector(".gensmall")&&(n=t.querySelector(".gensmall").href),e.querySelector(".topic-lastpost").href=o,e.querySelector(".topic-lastpost").title="Último mensaje por "+t.textContent.trim()+", "+r,e.querySelector(".topic-lastauthor")){const o=e.querySelector(".topic-lastauthor");t.querySelector("span")?(t.innerHTML='<strong><a href="'+n+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.textContent+'»">'+t.querySelector("span").outerHTML+"</a></strong>",t.querySelector("strong strong").textContent=Vue.filter("just-name")(t.querySelector("strong strong").textContent),t.querySelector(".color-groups").innerHTML=t.querySelector(".color-groups").textContent,o.outerHTML=t.innerHTML):o.outerHTML="<strong>Invitado</strong>",o.outerHTML=o.innerHTML}if(e.querySelector(".topic-lastdate")&&(e.querySelector(".topic-lastdate").outerHTML=r),e.querySelector(".topic-lastavatar")){let o;o="",o+='<a class="topic-lastavatar" href="'+n+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.textContent+'»">',o+=e.querySelector(".topic-lastavatar").innerHTML,o+="</a>",e.querySelector(".topic-lastavatar").outerHTML=o}})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector("#moderation")&&document.querySelector("#moderation a")?document.querySelector('a[href="#gestionar"]').href=document.querySelector("#moderation a").href:document.querySelector("#moderation")&&document.querySelector('a[href="#gestionar"]').parentElement.remove()}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector(".prev-post")){let e=document.querySelector("#forum-preview");""!==document.querySelectorAll(".prev-post")[0].innerHTML&&(e.querySelector(".post-content").innerHTML='<div class="is-content">'+document.querySelectorAll(".prev-post")[0].innerHTML+"</div>",e.classList.remove("to-process"))}}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector(".forum-otherposts")&&document.querySelector(".forum-otherposts").children.length){let e="";[].forEach.call(document.querySelector(".forum-otherposts").querySelectorAll(".post"),t=>{if(document.querySelector(".mp-main")&&document.querySelector("#forum-reply")){let o=t.querySelector(".mp-from").textContent,r=FNR.utility.getGroup("rgb_"+t.querySelector(".mp-from > span").style.color.split("rgb(")[1].split(")")[0].replace(/, /g,"_")),n=t.querySelector(".mp-date").textContent,l=t.querySelector(".is-content").innerHTML;e+='<li class="post post-mp">',e+='<section class="postlist-post usergroup-'+r+'">',e+='<ul class="post-datafields post-profile profile-sticky">',e+='<li class="datafield-user">',e+='<div class="datafield-name">Usuario</div>',e+='<strong><a href="'+FNR.user.getUrl(o)+'" target="_blank" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+o+'»">'+o+"</a></strong>",e+="</li>",e+='<li class="datafield-date">',e+='<div class="datafield-name">Fecha</div>',e+=n.indexOf("el")>-1?n.split("el ")[1]:n,e+="</li>",e+="</ul>",e+='<div class="post-content no-links">',e+='<div class="is-content">',e+=l,e+="</div>",e+="</div>",e+="</section>",e+="</li>"}else document.querySelector("#mp-body")||(t.querySelector(".post-datafields .datafield-user a > span")?(t.querySelector(".postlist-post").classList.add("usergroup-"+FNR.utility.getGroup("rgb_"+t.querySelector(".post-datafields .datafield-user a > span").style.color.split("rgb(")[1].split(")")[0].replace(/, /g,"_"))),t.querySelector(".post-datafields .datafield-user a").title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.querySelector(".post-datafields .datafield-user a").textContent+"»",t.querySelector(".post-datafields .datafield-user a").target="_blank",""===t.querySelector(".post-datafields .datafield-user a").href&&(t.querySelector(".post-datafields .datafield-user a").href=FNR.user.getUrl(t.querySelector(".post-datafields .datafield-user a").textContent))):t.querySelector(".post-datafields .datafield-check")&&t.querySelector(".post-datafields .datafield-check").children&&1===t.querySelector(".post-datafields .datafield-check").children.length?t.querySelector(".post-datafields .datafield-check").remove():t.querySelector(".post-datafields .datafield-user a")&&""===t.querySelector(".post-datafields .datafield-user a").href&&(t.querySelector(".post-datafields .datafield-user a").outerHTML="<strong>"+t.querySelector(".post-datafields .datafield-user a").innerHTML+"</strong>",t.querySelector(".postlist-post").classList.add("usergroup-"+FNR.utility.getGroup("null"))),"UsuarioAnonymous"===t.querySelector(".post-datafields .datafield-user").textContent&&t.querySelector(".postlist-post").classList.add("usergroup-"+FNR.utility.getGroup("null")))}),document.querySelector(".mp-main")&&document.querySelector("#forum-reply")&&(document.querySelector(".forum-otherposts").innerHTML=e)}}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector(".forum-postlist .post:not(.panel)")){const e={responder_citando:{icon:"fas fa-quote-right",title:"Citar"},editar_borrar_este_mensaje:{icon:"fas fa-pencil-alt",title:"Editar"},borrar_este_mensaje:{icon:"fas fa-trash-alt",title:"Borrar"},ver_la_direccion_ip_del_autor:{icon:"fas fa-map-marker-alt",title:"Ver IP"},permalink:{icon:"fas fa-tag",title:"Enlace permanente"}};[].forEach.call(document.querySelectorAll(".forum-postlist .post"),t=>{if(t.children.length>1){let o="";[].forEach.call(t.querySelectorAll(".to-process .post-icons li a"),t=>{const r=e[FNR.utility.genSlug(t.querySelector("img").title)];o+='<li class="post-button post-button-'+FNR.utility.genSlug(r.title,"-")+'">',o+='<a title="'+r.title+'" href="'+t.href+'">',o+='<i class="'+r.icon+'"></i>',o+="<span>"+("Enlace permanente"===r.title?"Permalink":r.title)+"</span>",o+="</a>",o+="</li>"}),t.querySelector(".post-buttons").innerHTML=o}else t.remove()})}}),document.addEventListener("DOMContentLoaded",()=>{null!==document.querySelector("#forum-realreply")&&""===document.querySelector("#forum-realreply").innerHTML&&document.querySelector("#quickreply-section").remove()}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector('img[title="Citar mensaje"]')&&[].forEach.call(document.querySelectorAll('img[title="Citar mensaje"]'),e=>{let t=e.parentElement;t.title="Citar el Mensaje",t.classList.add("dropdown-item"),t.textContent="Citar el Mensaje"}),document.querySelector('img[title="Editar mensaje"]')&&[].forEach.call(document.querySelectorAll('img[title="Editar mensaje"]'),e=>{let t=e.parentElement;t.title="Editar el Mensaje",t.classList.add("dropdown-item"),t.textContent="Editar el Mensaje"})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".mp-from")&&[].forEach.call(document.querySelectorAll(".mp-from"),e=>{const t=FNR.utility.getGroup(e.querySelector("span").style.color.replace(/, /g,"_").replace(/, /g,"_").replace(/\(/g,"_").replace(/\)/g,""));e.innerHTML='<a href="'+FNR.user.getUrl(e.textContent)+'" target="_blank" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent+'»">'+e.textContent+"</a>";let o=e.parentElement;for(;!o.classList.contains("mp-main");)o=o.parentElement;o.classList.add("usergroup-"+t)})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector("#breadcrumbs")&&document.querySelector("#forum-breadcrumb")&&[].forEach.call(document.querySelector("#breadcrumbs").children,(e,t,o)=>{let r=e.href,n=Vue.filter("mini-sanitize")(e.text),l="";r.match(/c(\d+)-/)||t+1===o.length?(r=t+1===o.length?window.location.pathname+window.location.search:"#",l+=' class="is-hidden-touch'+(t+1===o.length?"":" is-active")+'"'):r.indexOf("#profile")>-1&&(r=FNR.user.getUrl(n)),document.querySelector("#forum-breadcrumb ul").innerHTML+="<li"+l+'><a href="'+r+'" title="Ir a «'+n+'»">'+n+"</a></li>"})}),document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector("#buttons");e&&e.children.length&&[].forEach.call(document.querySelectorAll(".page-buttons"),t=>{t.insertAdjacentHTML("afterbegin",e.innerHTML),t.parentElement.classList.contains("not-show")&&t.parentElement.classList.remove("not-show")})}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector("#pagination")&&document.querySelector("#pagination").children.length){const getPageInfo=()=>{const e=Array.from(document.querySelectorAll("#pagination > span > *:not(.pag-img):not(.page-sep)"));return e.length?{currentPage:parseInt(document.querySelector("#pagination > span > strong").textContent),totalPages:parseInt(e[e.length-1].textContent)}:{currentPage:1,totalPages:1}},pageData=getPageInfo(),leftButton=document.querySelector(".pag-img .sprite-arrow_prosilver_left"),rightButton=document.querySelector(".pag-img .sprite-arrow_prosilver_right");leftButton&&(leftButton.parentElement.title="Ir a la página anterior",leftButton.parentElement.classList.add("page-prev"),leftButton.parentElement.classList.remove("pag-img"),leftButton.parentElement.innerHTML='<i class="fas fa-chevron-left"></i>'),rightButton&&(rightButton.parentElement.title="Ir a la página siguiente",rightButton.parentElement.classList.add("page-next"),rightButton.parentElement.classList.remove("pag-img"),rightButton.parentElement.innerHTML='<i class="fas fa-chevron-right"></i>');const nextPage=document.querySelector(".page-next"),prevPage=document.querySelector(".page-prev"),pagination=`\n <div class="pagination-manager">\n ${null===prevPage?"":`<div class="page-action">${prevPage.outerHTML}</div>`}\n <form class="pagination-input" name="go_page">\n <input type="text" placeholder="${pageData.currentPage}" />de ${pageData.totalPages}\n </form>\n ${null===nextPage?"":`<div class="page-action">${nextPage.outerHTML}</div>`}\n </div>\n `;[].forEach.call(document.querySelectorAll(".page-pagination"),item=>{item.insertAdjacentHTML("afterbegin",pagination);const formSelector=item.querySelector(".pagination-input"),inputSelector=item.querySelector(".pagination-input input");inputSelector.onkeyup=FNR.behaviour.genDebounce(()=>{null===inputSelector.value.match(/[a-zA-Z]+/g)&&""!==inputSelector.value.trim()&&eval(do_pagination_start.toString().replace("document.go_page.start.value","inputSelector.value").split("{")[1].split("}")[0])}),item.parentElement.classList.contains("not-show")&&item.parentElement.classList.remove("not-show")})}}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".codebox")&&[].forEach.call(document.querySelectorAll(".codebox"),e=>{1!==e.classList.length&&e.classList.remove("codebox")}),document.querySelector(".codebox")&&[].forEach.call(document.querySelectorAll(".codebox"),e=>{const t=e.querySelector("code").innerHTML.trim();e.querySelector("dt").innerHTML='Código <em>-</em> <span class="is-pointer">Copiar</span>',e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-code"></i></div>'),e.querySelector("code").remove(),e.insertAdjacentHTML("beforeend","<code>"+t+"</code>")}),document.querySelector(".spoiler")&&[].forEach.call(document.querySelectorAll(".spoiler"),e=>{e.querySelector("dt").innerHTML=e.querySelector("dt").innerHTML.slice(0,-1),e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-archive"></i></div>')}),document.querySelector(".hidecode")&&[].forEach.call(document.querySelectorAll(".hidecode"),e=>{e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-eye-slash"></i></div>')}),document.querySelector("blockquote")&&([].forEach.call(document.querySelectorAll("blockquote cite"),e=>{if(e.innerHTML=e.innerHTML.replace(/escribió:/g,""),e.querySelector("a")){const t=e.querySelector("a");t.title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+t.title.replace(/Ver el perfil :: /g,"")+"»"}e=e.innerHTML}),[].forEach.call(document.querySelectorAll("blockquote"),e=>{e.insertAdjacentHTML("afterbegin",'<div class="adminbox-icon"><i class="fas fa-quote-right"></i></div>')}))}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector("#is-form")&&document.querySelector(".msg-element")){const e=document.querySelector("#is-form").innerHTML,t={method:document.querySelector(".basic-element form").method,action:document.querySelector(".basic-element form").action,name:document.querySelector(".basic-element form").name};document.querySelector("#message-section").outerHTML='<form method="'+t.method+'" action="'+t.action+'" name="'+t.name+'" id="message-section" class="basic-element">'+document.querySelector("#message-section").innerHTML+"</form>",document.querySelector("#message-section .msg-element").insertAdjacentHTML("afterend",'<div id="usereply-comand">'+e+"</div>"),document.querySelector("#is-form").remove()}}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".is-content .post-content")&&[].forEach.call(document.querySelectorAll(".is-content .post-content"),e=>{e.classList.remove("post-content")})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".has-anchor")&&[].forEach.call(document.querySelectorAll(".has-anchor"),e=>{e.insertAdjacentHTML("afterbegin",`<a id="anchor-${e.id}" class="page-anchor"></a>`)})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".mentiontag")&&[].forEach.call(document.querySelectorAll(".mentiontag"),e=>{e.title="Ir al "+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+e.textContent.slice(1)+"»"})}),document.addEventListener("DOMContentLoaded",()=>{[].forEach.call(document.querySelectorAll(".to-process"),e=>{e.remove()})}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector("#forum-rules")&&(document.querySelector("#forum-rules").innerHTML=document.querySelector("#forum-rules").innerHTML.replace(/</g,"<").replace(/>/g,">"))}),document.addEventListener("forumReady",()=>{if(forumConfig.skinOptions.allowCustomStyles&&document.querySelector("#forum-content .forum-custom-styles")){let e="";[].forEach.call(document.querySelectorAll("#forum-content .forum-custom-styles"),t=>{e+=t.innerHTML,t.remove()}),document.head.insertAdjacentHTML("beforeend",`<style>${e}</style>`)}}),document.addEventListener("forumReady",()=>{FNR.behaviour.genControls()}),document.addEventListener("forumReady",()=>{document.querySelector(".codebox")&&[].forEach.call(document.querySelectorAll(".codebox"),e=>{e.querySelector("dt span").onclick=(()=>{navigator.clipboard.writeText(e.querySelector("code").innerText),FNR.html.genNotification("¡Copiado!","Recuerda engancharlo en algún lugar.","fas fa-copy")})})}),document.addEventListener("forumReady",()=>{[].forEach.call(document.querySelectorAll(".is-clickbox"),e=>{const t=e.dataset.categorybox,o=e.dataset.categoryid;e.classList.contains("is-toggle")?e.onclick=(()=>{document.querySelector('.is-clickbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.toggle("is-active"),document.querySelector('.is-selectbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.toggle("is-active")}):e.onclick=(()=>{document.querySelector('.is-clickbox.is-active[categorybox="'+t+'"]').classList.remove("is-active"),document.querySelector('.is-clickbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.add("is-active"),document.querySelector('.is-selectbox.is-active[categorybox="'+t+'"]').classList.remove("is-active"),document.querySelector('.is-selectbox[categorybox="'+t+'"][categoryid="'+o+'"]').classList.add("is-active")})})}),document.addEventListener("forumReady",()=>{FNR.behaviour.genWiki()}),document.addEventListener("forumReady",()=>{document.querySelector(".checkbox-click:not(.is-radio)")&&[].forEach.call(document.querySelectorAll(".checkbox-click:not(.is-radio)"),e=>{const t=e.parentElement.parentElement,o=t.querySelector(".checkbox-real input");o.checked&&t.classList.add("is-active"),e.parentElement.onclick=(()=>{t.classList.contains("is-active")?(t.classList.remove("is-active"),o.checked=!1):(t.classList.add("is-active"),o.checked=!0)})})}),document.addEventListener("forumReady",()=>{document.querySelector(".checkbox-click.is-radio")&&[].forEach.call(document.querySelectorAll(".checkbox-click.is-radio"),e=>{const t=e.parentElement.parentElement,o=t.querySelector(".checkbox-real input");o.checked&&t.classList.add("is-active"),e.parentElement.onclick=(()=>{[].forEach.call(document.querySelectorAll('input[type="radio"][name="'+o.name+'"]'),e=>{const t=e.parentElement.parentElement.classList;t.contains("is-active")&&t.remove("is-active")}),t.classList.contains("is-active")?(t.classList.remove("is-active"),o.checked=!1):(t.classList.add("is-active"),o.checked=!0)})})}),document.addEventListener("forumReady",()=>{document.querySelector(".is-input")&&[].forEach.call(document.querySelectorAll(".is-input"),e=>{e.onclick=(t=>{e.querySelector('input[type="submit"]').click()})})}),document.addEventListener("forumReady",()=>{FNR.behaviour.genDropeable()}),document.addEventListener("forumReady",()=>{document.querySelector(".is-tweakeable")&&document.fonts.ready.then(()=>{[].forEach.call(document.querySelectorAll(".is-tweakeable"),e=>{const t=e.offsetWidth-parseFloat(window.getComputedStyle(e,null).paddingLeft)-parseFloat(window.getComputedStyle(e,null).paddingRight)-parseFloat(window.getComputedStyle(e,null).borderLeftWidth)-parseFloat(window.getComputedStyle(e,null).borderRightWidth);if(t>0&&e.querySelector(".is-measurable").offsetWidth>0){let o=parseFloat(window.getComputedStyle(e,null).fontSize);for(;t<e.querySelector(".is-measurable").offsetWidth;)e.style.fontSize=o+"px",o--}})})}),document.addEventListener("forumReady",()=>{document.querySelector(".forum-element .forum-links a")&&document.querySelectorAll(".forum-element .forum-links a").forEach(e=>e.title="Ir al tema «"+e.textContent+"»")}),document.addEventListener("forumReady",()=>{document.querySelector(".is-ordered")&&document.querySelectorAll(".is-ordered").forEach(e=>{const t=[];e.querySelectorAll(":scope > li").forEach(e=>t.push({original:e.outerHTML,order:e.textContent})),t.sort((e,t)=>e.order<t.order?-1:e.order>t.order?1:0),e.innerHTML=t.map(e=>e.original).join("")})}),document.addEventListener("DOMContentLoaded",()=>{const e=e=>[...e.matchAll(/\'\<strong\>(.*)\<\/strong\>\'/gi)][0][1],t=e=>e.split("<br><br>--------------------------------<br><br>").map(e=>{const t=-1===e.indexOf('<img src="'),[l,a]=e.replace("' :<br> ","' : ").split(" : ");return{rollName:o(l),rollResults:t?n(a):r(a)}}),o=e=>[...e.matchAll(/\'(.*)\'/gi)][0][1],r=e=>[...e.matchAll(/src\s*=\s*"(.+?)"/gi)].map(e=>e[1]),n=e=>e.replace(/\<strong\>/gi,"").replace(/\<\/strong\>/gi,"").split(", ").map(Number),l=({rollName:e,rollResults:t})=>{const o=FNR.utility.genSlug(e,"-");return`\n <li class="rolllist-roll rolllist-${o}">\n <h6>${e}</h6>\n <ul class="roll-results">\n ${t.map(t=>a(e,o,t)).join("")}\n </ul>\n </li>\n `},a=(e,t,o)=>`\n <li class="roll-result roll-${t}">\n ${"number"==typeof o?o:`<img src="${o}" alt='Resultado de la tirada del dado «${e}»' title='Resultado de la tirada del dado «${e}»' />`}\n </li>\n `;[...document.querySelectorAll(".postlist-post .is-content")].filter(e=>e.innerHTML.match("ha efectuado la acción siguiente: <strong>Tirada</strong>")).forEach(o=>{const[r,n]=o.innerHTML.split("<hr>"),a=e(r),i=t(n);o.closest(".postlist-post").classList.add("post-diceroll"),o.classList.add("content-dice"),o.innerHTML=`\n <blockquote>\n <div>¡<strong>${a}</strong> ha realizado <em>${1===i.length?"una tirada":"varias tiradas"}</em>!</div>\n </blockquote>\n <ul class="dice-rolllist">\n ${i.map(l).join("")}\n </ul>\n `})}),document.addEventListener("DOMContentLoaded",()=>{document.fonts.ready.then(()=>{document.dispatchEvent(forumReady),document.querySelector("#forum-body > .main-body").classList.remove("is-invisible")})});
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
Vue.component('directorio-personajes', {
|
|
2
|
+
data() {
|
|
3
|
+
return {
|
|
4
|
+
loading: true,
|
|
5
|
+
busqueda: '',
|
|
6
|
+
personajes: [],
|
|
7
|
+
}
|
|
8
|
+
},
|
|
9
|
+
computed: {
|
|
10
|
+
personajesFiltrados() {
|
|
11
|
+
if (!this.busqueda) {
|
|
12
|
+
return this.personajes;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const busquedaLower = this.busqueda.toLowerCase();
|
|
16
|
+
|
|
17
|
+
return this.personajes.filter(personaje =>
|
|
18
|
+
personaje.name.toLowerCase().includes(busquedaLower)
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
methods: {
|
|
23
|
+
async obtainCharacters() {
|
|
24
|
+
let activeMembers;
|
|
25
|
+
|
|
26
|
+
try {
|
|
27
|
+
activeMembers = await FNR.cache.useData('members', .25);
|
|
28
|
+
} catch (e) {
|
|
29
|
+
activeMembers = null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (!activeMembers) {
|
|
33
|
+
activeMembers = await FNR.forum.getMembers();
|
|
34
|
+
FNR.cache.setData('members', activeMembers, .25);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const profiles = await Promise.all(
|
|
38
|
+
activeMembers.map(user => FNR.user.getProfile(user.id.replace('/u', ''), .25))
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
this.personajes = profiles;
|
|
42
|
+
this.loading = false;
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
created() {
|
|
46
|
+
this.obtainCharacters();
|
|
47
|
+
},
|
|
48
|
+
template: `
|
|
49
|
+
<section class="member-directory">
|
|
50
|
+
<section v-if="!loading" class="generic-element">
|
|
51
|
+
<cabespecial-foro>
|
|
52
|
+
<template slot="title">Directorio de Personajes</template>
|
|
53
|
+
</cabespecial-foro>
|
|
54
|
+
<section id="memberlist-options" class="field-block">
|
|
55
|
+
<ul class="forum-fieldlist no-style">
|
|
56
|
+
<li class="field-element field-nombre">
|
|
57
|
+
<div class="forum-field">
|
|
58
|
+
<div class="field-name">Nombre</div>
|
|
59
|
+
<div class="field-content">
|
|
60
|
+
<input type="text" v-model="busqueda" placeholder="Buscar por nombre de personaje">
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</li>
|
|
64
|
+
</ul>
|
|
65
|
+
</section>
|
|
66
|
+
<separador-foro />
|
|
67
|
+
<cabecera-foro>
|
|
68
|
+
<template slot="title">Listado</template>
|
|
69
|
+
</cabecera-foro>
|
|
70
|
+
<section class="forum-memberlist">
|
|
71
|
+
<ul class="memberlist-members no-style">
|
|
72
|
+
<li v-for="personaje in personajesFiltrados" :key="personaje.name" class="row">
|
|
73
|
+
<memberitem-foro type="directory">
|
|
74
|
+
<template slot="avatar">{personaje.avatar}</template>
|
|
75
|
+
<template slot="last">{personaje.lastVisit}</template>
|
|
76
|
+
<template slot="name">{personaje.name}</template>
|
|
77
|
+
<template slot="posts">{personaje.messages.public}</template>
|
|
78
|
+
</memberitem-foro>
|
|
79
|
+
</li>
|
|
80
|
+
<li>
|
|
81
|
+
<h6>No hay personajes que coincidan con la búsqueda.</h6>
|
|
82
|
+
</li>
|
|
83
|
+
</ul>
|
|
84
|
+
</section>
|
|
85
|
+
</section>
|
|
86
|
+
<section v-else class="generic-element">
|
|
87
|
+
<cabespecial-foro>
|
|
88
|
+
<template slot="title">Directorio de Personajes</template>
|
|
89
|
+
</cabespecial-foro>
|
|
90
|
+
<separador-foro />
|
|
91
|
+
<cargando-foro text="Cargando utilidad…"></cargando-foro>
|
|
92
|
+
</section>
|
|
93
|
+
</section>
|
|
94
|
+
`
|
|
95
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Vue.component("directorio-personajes",{data:()=>({loading:!0,busqueda:"",personajes:[]}),computed:{personajesFiltrados(){if(!this.busqueda)return this.personajes;const e=this.busqueda.toLowerCase();return this.personajes.filter(a=>a.name.toLowerCase().includes(e))}},methods:{async obtainCharacters(){let e;try{e=await FNR.cache.useData("members",.25)}catch(a){e=null}e||(e=await FNR.forum.getMembers(),FNR.cache.setData("members",e,.25));const a=await Promise.all(e.map(e=>FNR.user.getProfile(e.id.replace("/u",""),.25)));this.personajes=a,this.loading=!1}},created(){this.obtainCharacters()},template:'\n <section class="member-directory">\n <section v-if="!loading" class="generic-element">\n <cabespecial-foro>\n <template slot="title">Directorio de Personajes</template>\n </cabespecial-foro>\n <section id="memberlist-options" class="field-block">\n <ul class="forum-fieldlist no-style">\n <li class="field-element field-nombre">\n <div class="forum-field">\n <div class="field-name">Nombre</div>\n <div class="field-content">\n <input type="text" v-model="busqueda" placeholder="Buscar por nombre de personaje">\n </div>\n </div>\n </li>\n </ul>\n </section>\n <separador-foro />\n \t\t<cabecera-foro>\n <template slot="title">Listado</template>\n </cabecera-foro>\n <section class="forum-memberlist">\n <ul class="memberlist-members no-style">\n <li v-for="personaje in personajesFiltrados" :key="personaje.name" class="row">\n <memberitem-foro type="directory">\n <template slot="avatar">{personaje.avatar}</template>\n <template slot="last">{personaje.lastVisit}</template>\n <template slot="name">{personaje.name}</template>\n <template slot="posts">{personaje.messages.public}</template>\n </memberitem-foro>\n </li>\n <li>\n <h6>No hay personajes que coincidan con la búsqueda.</h6>\n </li>\n </ul>\n </section>\n </section>\n <section v-else class="generic-element">\n <cabespecial-foro>\n <template slot="title">Directorio de Personajes</template>\n </cabespecial-foro>\n <separador-foro />\n <cargando-foro text="Cargando utilidad…"></cargando-foro>\n </section>\n </section>\n '});
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generic-skin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Generic Forum Skin for Forumotion created by Gaylien.",
|
|
5
|
+
"license": "ISC",
|
|
6
|
+
"author": "Gaylien",
|
|
7
|
+
"type": "commonjs",
|
|
5
8
|
"main": "readme.md",
|
|
6
9
|
"scripts": {
|
|
7
10
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
|
-
}
|
|
9
|
-
"author": "Gaylien",
|
|
10
|
-
"license": "ISC"
|
|
11
|
+
}
|
|
11
12
|
}
|