skin-dt-32 0.6.2 → 0.7.0
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/config/vueComponents.js +13 -13
- package/config/vueComponents.min.js +2 -2
- package/general.js +6 -6
- package/general.min.js +1 -1
- package/package.json +1 -1
package/config/vueComponents.js
CHANGED
|
@@ -257,7 +257,7 @@ Vue.component('navbar-foro', {
|
|
|
257
257
|
</a>
|
|
258
258
|
</li>
|
|
259
259
|
<li class="navbar-item">
|
|
260
|
-
<a :href="directions.ucp"
|
|
260
|
+
<a :href="directions.ucp" title="Ir al «Panel de Usuario»">
|
|
261
261
|
<div class="icon">
|
|
262
262
|
<i class="fa-solid fa-sliders-h"></i>
|
|
263
263
|
</div>
|
|
@@ -270,7 +270,7 @@ Vue.component('navbar-foro', {
|
|
|
270
270
|
<option value="-1" hidden selected>Selec. personaje</option>
|
|
271
271
|
<option v-for="(account, index) in multiAccount.accounts" :value="index">{{ account.name }}</option>
|
|
272
272
|
</select>
|
|
273
|
-
<a :href="directions.ucp"
|
|
273
|
+
<a :href="directions.ucp" title="Ir al «Panel de Usuario»">
|
|
274
274
|
<div class="icon">
|
|
275
275
|
<i class="fa-solid fa-address-book"></i>
|
|
276
276
|
</div>
|
|
@@ -280,7 +280,7 @@ Vue.component('navbar-foro', {
|
|
|
280
280
|
</template>
|
|
281
281
|
<template v-if="userlevel === 1">
|
|
282
282
|
<li class="navbar-item">
|
|
283
|
-
<a href="/admin"
|
|
283
|
+
<a href="/admin" title="Ir al «Panel de Administrador»">
|
|
284
284
|
<div class="icon">
|
|
285
285
|
<i class="fa-solid fa-cogs"></i>
|
|
286
286
|
</div>
|
|
@@ -733,7 +733,7 @@ Vue.component('memberitem-foro', {
|
|
|
733
733
|
}
|
|
734
734
|
},
|
|
735
735
|
template: `
|
|
736
|
-
<a :class="'memberitem-element ' + group" :href="url"
|
|
736
|
+
<a :class="'memberitem-element ' + group" :href="url" :title="title">
|
|
737
737
|
<div class="memberlist-name">
|
|
738
738
|
<h3 class="is-tweakeable">
|
|
739
739
|
<span class="is-measurable">{{ name }}</span>
|
|
@@ -787,7 +787,7 @@ Vue.component('estadisticas-foro', {
|
|
|
787
787
|
<tema-ref :info="topic"></tema-ref>
|
|
788
788
|
</li>
|
|
789
789
|
</ul>
|
|
790
|
-
<small>También tienes la lista <a href="/latest"
|
|
790
|
+
<small>También tienes la lista <a href="/latest" title="Ir a la página de «Últimos temas»">general</a><template v-if="userLog !== 0"> o desde tu <a href="/search?search_id=newposts" title="Ir a la página de «Desde última conexión»">ultima conexión</a></template>.</small>
|
|
791
791
|
</li>
|
|
792
792
|
</ul>
|
|
793
793
|
`
|
|
@@ -807,11 +807,11 @@ Vue.component('tema-ref', {
|
|
|
807
807
|
},
|
|
808
808
|
template: `
|
|
809
809
|
<div class="ltopic-element">
|
|
810
|
-
<a class="ltopic-last" :href="info.lastpost.url"
|
|
810
|
+
<a class="ltopic-last" :href="info.lastpost.url" :title="'Ir al último mensaje del tema «' + info.name + '»'">
|
|
811
811
|
<i class="fas fa-link"></i>
|
|
812
812
|
</a>
|
|
813
|
-
<a class="ltopic-title" :href="info.url"
|
|
814
|
-
<small class="ltopic-info"><a :href="info.lastpost.who.url"
|
|
813
|
+
<a class="ltopic-title" :href="info.url" :title="'Ir al tema «' + info.name + '»'"><span>{{ info.name }}</span></a>
|
|
814
|
+
<small class="ltopic-info"><a :href="info.lastpost.who.url" :style="userColor" :title="'Ir al ' + profileName + ' de «' + info.lastpost.who.name + '»'">{{ info.lastpost.who.name | just-name }}</a>, {{ info.lastpost.date }} en <a :href="info.forum.url" :title="'Ir al subforo «' + info.forum.name + '»'">{{ info.forum.name }}</a></small>
|
|
815
815
|
</div>
|
|
816
816
|
`
|
|
817
817
|
});
|
|
@@ -866,11 +866,11 @@ Vue.component('footer-foro', {
|
|
|
866
866
|
<h3 class="section-title">Créditos</h3>
|
|
867
867
|
<ul class="no-style">
|
|
868
868
|
<li v-for="credit in credits" v-html="credit"></li>
|
|
869
|
-
<li class="is-hidden-mobile">El diseño y programación de la skin <a href="https://darktimes-skin.foroactivo.com/" title="Ir al sitio web de «Dark Times»"
|
|
869
|
+
<li class="is-hidden-mobile">El diseño y programación de la skin <a href="https://darktimes-skin.foroactivo.com/" title="Ir al sitio web de «Dark Times»">Dark Times</a> por <a href="https://zatrapa-gaylien.tumblr.com/" title="Ir al sitio web de «Gaylien»">Gaylien</a>. Agradecimiento especial a los equipos desarrolladores de <a href="https://vuejs.org/" title="Ir al sitio web de «Vue»">Vue</a> y <a href="https://bulma.io/" title="Ir al sitio web de «Bulma»">Bulma</a> por sus respectivos <em>Frameworks</em>.</li>
|
|
870
870
|
<li id="credits-social" v-if="social.length">
|
|
871
871
|
<ul class="no-style">
|
|
872
872
|
<li v-for="platform in social">
|
|
873
|
-
<a :href="platform.url"
|
|
873
|
+
<a :href="platform.url" :title="'Ir a «' + platform.name + '»'"><em :class="platform.icon"></em> {{ platform.name }}</a>
|
|
874
874
|
</li>
|
|
875
875
|
</ul>
|
|
876
876
|
</li>
|
|
@@ -964,7 +964,7 @@ Vue.component('links-ayuda', {
|
|
|
964
964
|
},
|
|
965
965
|
template: `
|
|
966
966
|
<div id="help-main">
|
|
967
|
-
<a
|
|
967
|
+
<a :href="link.url" :title="'Ir a «' + link.name + '»'" v-for="link in links">{{ link.name }}</a>
|
|
968
968
|
</div>
|
|
969
969
|
`
|
|
970
970
|
});
|
|
@@ -978,7 +978,7 @@ Vue.component('links-anuncios', {
|
|
|
978
978
|
template: `
|
|
979
979
|
<ul class="columns is-multiline">
|
|
980
980
|
<li v-for="announcement in announcements" class="column is-one-quarter is-half-tablet is-half-mobile">
|
|
981
|
-
<a
|
|
981
|
+
<a :href="announcement.url" :title="'Ir al anuncio «' + announcement.name + '»'" class="anmt-element">
|
|
982
982
|
<span class="anmt-title">{{ announcement.name }}</span>
|
|
983
983
|
<span class="anmt-date">{{ announcement.date }}</span>
|
|
984
984
|
</a>
|
|
@@ -1015,6 +1015,6 @@ Vue.component('busquedas', {
|
|
|
1015
1015
|
}, 16000);
|
|
1016
1016
|
},
|
|
1017
1017
|
template: `
|
|
1018
|
-
<a id="search-img" class="msg-element topbar-element" :style="'background-image: url(' + content.img + ')'" :href="content.url"
|
|
1018
|
+
<a id="search-img" class="msg-element topbar-element" :style="'background-image: url(' + content.img + ')'" :href="content.url" :title="content.desc"></a>
|
|
1019
1019
|
`
|
|
1020
1020
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Vue.component("titulo-especial",{props:["title"],computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <h3 class="is-tweakeable"><span class="is-measurable" v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n '}),Vue.component("cabecera-foro",{data(){return{title:void 0===this.$slots.title[0].tag?Vue.filter("mini-sanitize")(this.$slots.title[0].text):Vue.filter("mini-sanitize")(this.$slots.title[0].children[0].text)}},computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <div class="forum-head regular-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n </div>\n '}),Vue.component("cabcategoria-foro",{data(){return{title:void 0===this.$slots.title[0].tag?Vue.filter("mini-sanitize")(this.$slots.title[0].text):Vue.filter("mini-sanitize")(this.$slots.title[0].children[0].text)}},computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <div class="forum-head category-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n </div>\n '}),Vue.component("cabespecial-foro",{data(){return{title:void 0===this.$slots.title[0].tag?Vue.filter("mini-sanitize")(this.$slots.title[0].text):Vue.filter("mini-sanitize")(this.$slots.title[0].children[0].text)}},computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <div class="forum-head special-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n </div>\n '}),Vue.component("controles-foro",{data:()=>({maPage:0,userName:_userdata.username,userAvatar:_userdata.avatar.split('src="')[1].split('"')[0],userLevel:_userdata.user_level,userId:_userdata.user_id,userLog:_userdata.session_logged_in,userMP:0,userOut:"",isActive:!1,profileName:forumConfig.profileOptions.profileName||"perfil"}),computed:{isActiveClass(){return"has-bg"+(this.isActive?" visible":" not-visible")}},methods:{turnActive(){this.isActive=!this.isActive}},created(){0!==this.userLog&&(null!==document.querySelector("#i_icon_mini_new_message")&&null!==document.querySelector("#i_icon_mini_new_message").title.match(/[0-255]/)&&(this.userMP=parseInt(document.querySelector("#i_icon_mini_new_message").title.match(/[0-255]/)[0])),this.userOut=document.querySelector("#logout").href)},template:'\n <div :class="\'main-body\' + (isActive ? \' is-on\' : \'\')"> \n <div id="hmg-button" @click="turnActive()" class="is-pointer">\n <i class="fas fa-bars"></i>\n </div>\n <div class="top">\n <template v-if="userId !== -1">\n <a :href="\'/u\' + userId" :title="\'Ir a tu \' + profileName" class="user">\n <div class="user-avatar">\n <img :src="userAvatar" :alt="\'Avatar de \' + userName" />\n </div>\n <span>{{ userName | just-name }}</span>\n </a>\n </template>\n <template v-else>\n <a href="/" title="Ir a «Inicio»" class="user">\n <span>Invitado</span>\n </a>\n </template>\n <div id="hmg-close">\n <i class="fas fa-times is-pointer" @click="turnActive()"></i>\n </div>\n </div>\n <nav class="bottom"> \n <navbar-foro :username="userName" :userlevel="userLevel" :userid="userId" :userlog="userLog" :usermp="userMP" :userout="userOut" />\n <section v-if="maPage === 1" id="multiaccount-transition">\n <cargando-foro text="Cambiando de cuenta…"></cargando-foro>\n </section>\n </nav>\n </div>\n '}),Vue.component("navbar-foro",{props:["username","userlevel","userid","userlog","usermp","userout"],data:()=>({profileName:forumConfig.profileOptions.profileName||"perfil",items:forumContent.navbar,navigation:forumContent.links,directions:forumConfig.usableDirections,multiAccount:{status:!1,position:-1,accounts:[]}}),computed:{isStatusClass(){return(1===this.userlog?"is-logged":"is-unlogged")+(1===this.userlevel?" is-admin":" is-user")},mpText(){return 0!==this.usermp?"Tienes "+this.usermp+" mensaje"+(1===this.usermp?"":"s")+" pendientes":"Ir a tu mensajería privada"},links(){return this.navigation.filter(s=>void 0!==s.icon)}},methods:{changeAccount(){this.$parent.maPage=1,FNR.user.changeAccount(this.userout,this.multiAccount.accounts[this.multiAccount.position].name,this.multiAccount.accounts[this.multiAccount.position].password).then(s=>{s&&window.location.reload()})}},created(){this.multiAccount.status=!1!==FNR.cache.getData("usermultiaccounts")&&!1!==FNR.cache.getData("userpassword")&&FNR.cache.getData("usermultiaccounts").length>1,this.multiAccount.accounts=(!1===FNR.cache.getData("usermultiaccounts")?[]:FNR.cache.getData("usermultiaccounts").map(s=>({name:s.name,password:sjcl.decrypt(FNR.cache.getData("userpassword"),s.password)}))).filter(s=>s.name!==_userdata.username).sort((s,t)=>s.name<t.name?-1:s.name>t.name?1:0)},template:'\n <ul :class="isStatusClass">\n <li class="navbar-item is-hidden-desktop" v-for="link in links">\n <a :href="link.url" :title="\'Ir a «\' + link.name + \'»\'">\n <div class="icon">\n <i :class="link.icon"></i>\n </div>\n <div class="text">{{ link.name }}</div>\n </a>\n </li>\n <li class="navbar-item" v-for="item in items">\n <a :href="item.url" :title="\'Ir a «\' + item.name + \'»\'">\n <div class="icon">\n <i :class="item.icon"></i>\n </div>\n <div class="text">{{ item.name }}</div>\n </a>\n </li>\n <template v-if="!userlog">\n <li class="navbar-item">\n <a href="/register" title="Registrarse en el foro">\n <div class="icon">\n <i class="fa-solid fa-user-plus"></i>\n </div>\n <div class="text">Registrarse</div>\n </a>\n </li>\n <li class="navbar-item">\n <a href="/login" title="Iniciar sesión en el foro">\n <div class="icon">\n <i class="fa-solid fa-sign-in-alt"></i>\n </div>\n <div class="text">Conectarse</div>\n </a>\n </li>\n </template>\n <template v-else>\n <li class="navbar-item is-hidden-desktop">\n <a :href="\'/u\' + userid" :title="\'Ir a tu \' + profileName">\n <div class="icon">\n <i class="fa-solid fa-id-card"></i>\n </div>\n <div class="text">Perfil</div>\n </a>\n </li>\n <li class="navbar-item">\n <a href="/search?search_id=egosearch" title="Ir a tus temas personales">\n <div class="icon">\n <i class="fa-solid fa-archive"></i>\n </div>\n <div class="text">Temas</div>\n </a>\n </li>\n <li class="navbar-item">\n <a href="/privmsg?folder=inbox" :title="mpText">\n <div class="icon">\n <template v-if="usermp === 0">\n <i class="fa-solid fa-envelope"></i>\n </template>\n <template v-else>\n <i class="fa-solid fa-message-exclamation"></i>\n </template>\n </div>\n <div class="text">Mensajería</div>\n </a>\n </li>\n <li class="navbar-item">\n <a :href="directions.ucp" target="_blank" title="Ir al «Panel de Usuario»">\n <div class="icon">\n <i class="fa-solid fa-sliders-h"></i>\n </div>\n <div class="text">Editar</div>\n </a>\n </li>\n <template v-if="multiAccount.status">\n <li class="navbar-item">\n <select title="Cambiar de cuenta" v-model="multiAccount.position" @change="changeAccount()" @click="$event.stopPropagation()">\n <option value="-1" hidden selected>Selec. personaje</option>\n <option v-for="(account, index) in multiAccount.accounts" :value="index">{{ account.name }}</option>\n </select>\n <a :href="directions.ucp" target="_blank" title="Ir al «Panel de Usuario»">\n <div class="icon">\n <i class="fa-solid fa-address-book"></i>\n </div>\n <div class="text">Cuentas</div>\n </a>\n </li>\n </template>\n <template v-if="userlevel === 1">\n <li class="navbar-item">\n <a href="/admin" target="_blank" title="Ir al «Panel de Administrador»">\n <div class="icon">\n <i class="fa-solid fa-cogs"></i>\n </div>\n <div class="text">Administrar</div>\n </a>\n </li>\n </template>\n <li class="navbar-item">\n <a :href="userout" title="Cerrar sesión">\n <div class="icon">\n <i class="fa-solid fa-sign-out-alt"></i>\n </div>\n <div class="text">Salir</div>\n </a>\n </li>\n </template>\n </ul>\n '}),Vue.component("header-foro",{props:["sitename"],data:()=>({name:forumData.name,image:forumDefaults.logo}),template:'\n <section id="page-header" class="main-body">\n <a href="/" :title="\'Ir al índice de «\' + sitename + \'»\'" id="forum-logo">\n <template v-if="image">\n <img :src="image" :alt="name" />\n </template>\n <template v-else>\n <slot name="logo"></slot>\n </template>\n </a>\n </section>\n '}),Vue.component("foro-foro",{props:["url","name","posts","topics","lasturl"],data(){return{lastname:void 0===this.$slots["last-name"]?"":this.$slots["last-name"][0].text}},mounted(){const s=null!==this.url.match(/f(\d+)-/),t=s?"forum":"category",i=this.$el.parentElement.classList,e=FNR.utility.genSlug(this.name,"-"),n=s?this.url.match(/f(\d+)-/)[1]:this.url.match(/c(\d+)-/)[1];i.add(`${t}-element`),i.add(`${t}-${n}`),i.add(`${t}-${e}`)},template:'\n <section class="forum-forum">\n <a class="forum-header" :href="url" :title="\'Ir al subforo «\' + name + \'»\'">\n <div class="forum-title is-tweakeable">\n <span class="is-measurable">{{ name }}</span>\n </div>\n <div class="forum-stats">{{ posts }} mensajes — {{ topics }} temas</div>\n </a>\n <div class="forum-content">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-full is-half-desktop">\n <div class="forum-info">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-full is-two-thirds-desktop">\n <div class="forum-misc">\n <div class="forum-last">\n <template v-if="lasturl.length">\n <div class="lastpost-content">\n <div class="is-hidden-desktop">\n <a :href="lasturl" :title="\'Último mensaje en el tema «\' + lastname + \'» por \'" class="lastpost-link">{{ lastname }}</a> por <slot name="last-who"></slot>, <slot name="last-date"></slot>\n </div>\n <div class="is-hidden-touch"></div>\n </div>\n </template>\n <template v-else>Este subforo no tiene mensajes</template>\n </div>\n </div>\n </li>\n <li class="column is-one-third is-hidden-touch">\n <div class="lastpost-user">\n <div class="lastpost-avatar">\n <slot name="last-avatar"></slot>\n </div>\n <div class="lastpost-name"></div>\n </div>\n </li>\n </ul>\n </div>\n </li>\n <li class="column is-full is-half-desktop">\n <div class="forum-interior">\n <slot name="desc"></slot>\n </div>\n </li>\n </ul>\n </div>\n </section>\n '}),Vue.component("temas-foro",{props:["type","url","replies","views","quick","lastpost","mode"],data(){return{title:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},computed:{currentMode(){const s=void 0!==forumConfig.skinOptions.showTopicType&&forumConfig.skinOptions.showTopicType;return this.mode.indexOf("<strong>")>-1&&s?this.mode.split("<strong>")[1].split(":</strong>")[0]:""},currentType(){let s=this.type;return window.location.pathname.indexOf("/merge")>-1?s="radio":window.location.pathname.indexOf("/modcp")>-1&&(s="checkbox"),s},currentClass(){const s={mp:"mp",draft:"draft",radio:"mp",checkbox:"mp",followed:"mp"};return"topiclist-topic"+("normal"!==this.currentType?" topic-"+s[this.currentType]:"")}},mounted(){const s=["checkbox","radio"],t=this.$el.parentElement.classList;"normal"!==this.currentType&&t.add("is-not-lastpost"),s.indexOf(this.currentType)>-1&&t.add("is-mod")},template:'\n <div :class="currentClass">\n <template v-if="currentType === \'draft\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-repliesandviews">\n {{ replies }} - {{ views }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <a class="topic-lastpost" :href="quick" :title="\'Ir al bosquejo «\' + title + \'»\'">\n <i class="fas fa-pencil-alt"></i>\n </a>\n </div>\n </template>\n <template v-else-if="currentType === \'followed\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-repliesandviews">\n {{ replies }} - {{ views }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <slot name="radio"></slot>\n </div>\n </div>\n </template>\n <template v-else-if="currentType === \'mp\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al mensaje privado «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-pagination">{{ views }}</div>\n <div class="topic-extra-separador">-</div>\n <div class="topic-author">Por <slot name="who"></slot></div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <div class="forum-checkbox">\n <div class="checkbox-content">\n <div class="checkbox-click">\n <i class="fas fa-check"></i>\n </div>\n </div>\n <div class="checkbox-real"><slot name="checkbox"></slot></div>\n </div>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n </div>\n </template>\n <template v-else-if="currentType === \'radio\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-author">Por <slot name="topic-author"></slot></div>\n <div class="topic-repliesandviews">\n {{ replies }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <div class="forum-checkbox">\n <div class="checkbox-content">\n <div class="checkbox-click">\n <i class="fas fa-check"></i>\n </div>\n </div>\n <div class="checkbox-real"><slot name="checkbox"></slot></div>\n </div>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n </div>\n </template>\n <template v-else-if="currentType === \'checkbox\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Separar tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-author">{{ lastpost }}</div>\n <div class="topic-repliesandviews">\n {{ replies }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <div class="forum-checkbox">\n <div class="checkbox-content">\n <div class="checkbox-click">\n <i class="fas fa-check"></i>\n </div>\n </div>\n <div class="checkbox-real"><slot name="checkbox"></slot></div>\n </div>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n </div>\n </template>\n <template v-else>\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'"><template v-if="currentMode.length">{{ currentMode }}: </template>{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-pagination to-process">Páginas: <slot name="pagination"></slot></div>\n <div class="topic-extra-separador">-</div>\n <div class="topic-author">Por <slot name="topic-author"></slot></div>\n <div class="topic-repliesandviews">\n {{ replies }} - {{ views }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <slot name="last-avatar"></slot>\n <div class="topic-last">\n <a class="topic-lastpost">\n <i class="fas fa-link"></i> Último mensaje\n </a>\n Por <span class="topic-lastauthor"></span>\n <br />\n <span class="topic-lastdate"></span>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n <slot name="last-post"></slot>\n </div>\n </template>\n </div>\n '}),Vue.component("mensaje-foro",{props:["id","online","edited","date"],computed:{slugId(){return"post-"+this.id},currentClass(){return"postlist-post"+this.online},currentDate(){const s=s=>s.split("el ")[1];return this.date.length?(this.date.indexOf("el")>-1?s(this.date).trim():this.date.trim())+(this.edited.length&&-1===this.edited.indexOf("not-show")?' <a title="'+this.edited.split("<br /><br />")[1].split(",")[0]+'">Editado</a> ':""):""}},template:'\n <section :id="slugId" :class="currentClass">\n <a :id="id" class="page-anchor" />\n <div class="post-header">\n <div class="header-side"></div>\n </div>\n <div class="post-content">\n <div class="post-info">\n <div class="post-side">\n <a :href="\'#\' + id" title="Enlace permanente" class="post-permalink">\n <i class="fas fa-link"></i>\n </a>\n <div class="post-title" v-html="currentDate" v-if="currentDate.length"></div>\n </div>\n <ul class="post-buttons"></ul>\n </div>\n <div class="is-content">\n <slot name="content"></slot>\n </div>\n </div>\n <div class="post-profile">\n <slot name="profile"></slot>\n </div>\n </section>\n '}),Vue.component("memberitem-foro",{props:["profile","type"],data(){return{configType:"none"!==this.profile,configName:forumConfig.profileOptions.profileName||"perfil",configRank:forumConfig.profileOptions.profileRank,url:"/",title:`Ir al índice de «${forumData.name}»`,mp:"/",name:"Usuario",avatar:forumDefaults.avatar,alt:"Avatar por defecto",rank:"Miembro",group:"usergroup-unknown",messages:0,lastvisit:"Cargando…",currentlyLooking:""}},created(){this.$slots.name&&(this.$slots.name[0].text?this.name=this.$slots.name[0].text:this.name=this.$slots.name[0].children[0].children[0].text||"Buscador"),this.$slots.avatar&&(this.avatar=this.$slots.avatar[0].data.attrs.src),this.$slots.posts&&(this.messages=this.$slots.posts[0].text),this.$slots.last&&(this.lastvisit=this.$slots.last[0].text),this.$slots.site&&(this.currentlyLooking=this.$slots.site[0].children[0].text),this.configType&&FNR.user.getProfile(this.profile.split("/u")[1],.25).then(s=>{this.url=s.links.profile,this.title=`Ir al ${this.configName} de «${s.name}»`,this.mp=s.links.mp,this.alt=`Avatar de «${s.name}»`,this.rank=s.fields[this.configRank].content,this.group="usergroup-"+s.colour,this.$slots.name||(this.name=s.name),this.$slots.avatar||(this.avatar=s.avatar),this.$slots.posts||(this.messages=s.messages.public),this.$slots.last||(this.lastvisit=s.lastvisit)})},template:'\n <a :class="\'memberitem-element \' + group" :href="url" target="_blank" :title="title">\n <div class="memberlist-name">\n <h3 class="is-tweakeable">\n <span class="is-measurable">{{ name }}</span>\n </h3>\n <div v-if="type === \'memberlist\'" class="is-tweakeable">\n <span class="is-measurable">{{ currentlyLooking ? currentlyLooking : lastvisit }}</span>\n </div>\n </div>\n <img class="memberlist-avatar" :src="avatar" :alt="alt" />\n </a>\n '}),Vue.component("estadisticas-foro",{props:["msg","users"],data:()=>({lastTopics:[],userLog:_userdata.session_logged_in}),created(){FNR.forum.getTopics(forumConfig.skinOptions.excludedForums,forumConfig.skinOptions.lastTopics).then(s=>{this.lastTopics=s})},template:'\n <ul class="columns is-multiline is-gapless">\n <li id="bloque-estadisticas" class="column is-one-third is-full-touch">\n <div id="new-connected">\n <h6>Ahora</h6>\n <div class="has-users">\n <span class="curconnected-users"></span>\n </div>\n </div>\n <div id="past-connected">\n <h6>Últimas <span class="lastconnected-hour"></span> horas</h6>\n <div class="has-users">\n <span class="lastconnected-users"></span>\n </div>\n </div>\n </li>\n <li id="bloque-grupos" class="column is-two-thirds is-full-touch">\n <div id="image-banner"></div>\n <ul id="census"></ul>\n </li>\n <li id="bloque-ultimostemas" class="column is-full">\n <h6>Últimos temas</h6>\n <ul class="ltopic-list">\n <li v-for="topic in lastTopics">\n <tema-ref :info="topic"></tema-ref>\n </li>\n </ul>\n <small>También tienes la lista <a href="/latest" target="_blank" title="Ir a la página de «Últimos temas»">general</a><template v-if="userLog !== 0"> o desde tu <a href="/search?search_id=newposts" target="_blank" title="Ir a la página de «Desde última conexión»">ultima conexión</a></template>.</small>\n </li>\n \t</ul>\n '}),Vue.component("tema-ref",{props:["info"],data:()=>({profileName:forumConfig.profileOptions.profileName||"perfil"}),computed:{userColor(){return"color: "+this.info.lastpost.who.color}},template:'\n <div class="ltopic-element">\n <a class="ltopic-last" :href="info.lastpost.url" target="_blank" :title="\'Ir al último mensaje del tema «\' + info.name + \'»\'">\n <i class="fas fa-link"></i>\n </a>\n <a class="ltopic-title" :href="info.url" target="_blank" :title="\'Ir al tema «\' + info.name + \'»\'"><span>{{ info.name }}</span></a>\n <small class="ltopic-info"><a :href="info.lastpost.who.url" target="_blank" :style="userColor" :title="\'Ir al \' + profileName + \' de «\' + info.lastpost.who.name + \'»\'">{{ info.lastpost.who.name | just-name }}</a>, {{ info.lastpost.date }} en <a :href="info.forum.url" target="_blank" :title="\'Ir al subforo «\' + info.forum.name + \'»\'">{{ info.forum.name }}</a></small>\n </div>\n '}),Vue.component("footer-foro",{data:()=>({afis:{},normal:forumConfig.usableDirections.normal,credits:forumCredits.paragraphs,social:forumCredits.social}),created(){FNR.forum.getAffiliates().then(s=>{this.afis=s})},template:'\n <section id="page-afiliates" class="main-body">\n <categoria-foro id="afiliados">\n <div class="forum-head category-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span>Afiliados <span class="extra">+</span> Créditos</span><small>afiliados <span class="extra">+</span> creditos</small></h3>\n </div>\n <ul class="columns is-gapless">\n <li id="forum-affiliates" class="column is-two-thirds is-full-touch">\n <ul class="columns is-gapless is-multiline">\n <li id="forum-affiliates-sisters" class="column is-full affiliates-collection">\n <h3 class="section-title">Hermanas</h3>\n <ul v-html="afis.sister" class="no-style"></ul>\n </li>\n <li id="forum-affiliates-elite" class="column is-full">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-two-thirds is-full-touch affiliates-collection">\n <h3 class="section-title">Élite</h3>\n <ul v-html="afis.elite" class="no-style"></ul>\n </li>\n <li class="column is-one-third is-full-touch affiliates-collection">\n <h3 class="section-title">Directorios</h3>\n <ul v-html="afis.directory" class="no-style"></ul>\n </li>\n </ul>\n </li>\n <li id="forum-affiliates-regular" class="column is-full" v-if="normal.length">\n <h3 class="section-title"><a :href="normal" title="Ir a «Afiliaciones Normales»"><i class="fas fa-link"></i> Normales</a></h3>\n </li>\n </ul>\n </li>\n <li id="forum-cred" class="column is-full-touch">\n <div class="is-content">\n <h3 class="section-title">Créditos</h3>\n <ul class="no-style">\n <li v-for="credit in credits" v-html="credit"></li>\n <li class="is-hidden-mobile">El diseño y programación de la skin <a href="https://darktimes-skin.foroactivo.com/" title="Ir al sitio web de «Dark Times»" target="_blank">Dark Times</a> por <a href="https://zatrapa-gaylien.tumblr.com/" title="Ir al sitio web de «Gaylien»" target="_blank">Gaylien</a>. Agradecimiento especial a los equipos desarrolladores de <a href="https://vuejs.org/" title="Ir al sitio web de «Vue»" target="_blank">Vue</a> y <a href="https://bulma.io/" title="Ir al sitio web de «Bulma»" target="_blank">Bulma</a> por sus respectivos <em>Frameworks</em>.</li>\n <li id="credits-social" v-if="social.length">\n <ul class="no-style">\n <li v-for="platform in social">\n <a :href="platform.url" target="_blank" :title="\'Ir a «\' + platform.name + \'»\'"><em :class="platform.icon"></em> {{ platform.name }}</a>\n </li>\n </ul>\n </li> \n </ul>\n </div>\n </li>\n </ul>\n </categoria-foro>\n </section>\n '
|
|
2
|
-
|
|
1
|
+
Vue.component("titulo-especial",{props:["title"],computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <h3 class="is-tweakeable"><span class="is-measurable" v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n '}),Vue.component("cabecera-foro",{data(){return{title:void 0===this.$slots.title[0].tag?Vue.filter("mini-sanitize")(this.$slots.title[0].text):Vue.filter("mini-sanitize")(this.$slots.title[0].children[0].text)}},computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <div class="forum-head regular-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n </div>\n '}),Vue.component("cabcategoria-foro",{data(){return{title:void 0===this.$slots.title[0].tag?Vue.filter("mini-sanitize")(this.$slots.title[0].text):Vue.filter("mini-sanitize")(this.$slots.title[0].children[0].text)}},computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <div class="forum-head category-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n </div>\n '}),Vue.component("cabespecial-foro",{data(){return{title:void 0===this.$slots.title[0].tag?Vue.filter("mini-sanitize")(this.$slots.title[0].text):Vue.filter("mini-sanitize")(this.$slots.title[0].children[0].text)}},computed:{cleanedTitle(){return FNR.utility.genSlug(this.title," ")}},template:'\n <div class="forum-head special-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span v-html="title"></span><small v-html="cleanedTitle"></small></h3>\n </div>\n '}),Vue.component("controles-foro",{data:()=>({maPage:0,userName:_userdata.username,userAvatar:_userdata.avatar.split('src="')[1].split('"')[0],userLevel:_userdata.user_level,userId:_userdata.user_id,userLog:_userdata.session_logged_in,userMP:0,userOut:"",isActive:!1,profileName:forumConfig.profileOptions.profileName||"perfil"}),computed:{isActiveClass(){return"has-bg"+(this.isActive?" visible":" not-visible")}},methods:{turnActive(){this.isActive=!this.isActive}},created(){0!==this.userLog&&(null!==document.querySelector("#i_icon_mini_new_message")&&null!==document.querySelector("#i_icon_mini_new_message").title.match(/[0-255]/)&&(this.userMP=parseInt(document.querySelector("#i_icon_mini_new_message").title.match(/[0-255]/)[0])),this.userOut=document.querySelector("#logout").href)},template:'\n <div :class="\'main-body\' + (isActive ? \' is-on\' : \'\')"> \n <div id="hmg-button" @click="turnActive()" class="is-pointer">\n <i class="fas fa-bars"></i>\n </div>\n <div class="top">\n <template v-if="userId !== -1">\n <a :href="\'/u\' + userId" :title="\'Ir a tu \' + profileName" class="user">\n <div class="user-avatar">\n <img :src="userAvatar" :alt="\'Avatar de \' + userName" />\n </div>\n <span>{{ userName | just-name }}</span>\n </a>\n </template>\n <template v-else>\n <a href="/" title="Ir a «Inicio»" class="user">\n <span>Invitado</span>\n </a>\n </template>\n <div id="hmg-close">\n <i class="fas fa-times is-pointer" @click="turnActive()"></i>\n </div>\n </div>\n <nav class="bottom"> \n <navbar-foro :username="userName" :userlevel="userLevel" :userid="userId" :userlog="userLog" :usermp="userMP" :userout="userOut" />\n <section v-if="maPage === 1" id="multiaccount-transition">\n <cargando-foro text="Cambiando de cuenta…"></cargando-foro>\n </section>\n </nav>\n </div>\n '}),Vue.component("navbar-foro",{props:["username","userlevel","userid","userlog","usermp","userout"],data:()=>({profileName:forumConfig.profileOptions.profileName||"perfil",items:forumContent.navbar,navigation:forumContent.links,directions:forumConfig.usableDirections,multiAccount:{status:!1,position:-1,accounts:[]}}),computed:{isStatusClass(){return(1===this.userlog?"is-logged":"is-unlogged")+(1===this.userlevel?" is-admin":" is-user")},mpText(){return 0!==this.usermp?"Tienes "+this.usermp+" mensaje"+(1===this.usermp?"":"s")+" pendientes":"Ir a tu mensajería privada"},links(){return this.navigation.filter(s=>void 0!==s.icon)}},methods:{changeAccount(){this.$parent.maPage=1,FNR.user.changeAccount(this.userout,this.multiAccount.accounts[this.multiAccount.position].name,this.multiAccount.accounts[this.multiAccount.position].password).then(s=>{s&&window.location.reload()})}},created(){this.multiAccount.status=!1!==FNR.cache.getData("usermultiaccounts")&&!1!==FNR.cache.getData("userpassword")&&FNR.cache.getData("usermultiaccounts").length>1,this.multiAccount.accounts=(!1===FNR.cache.getData("usermultiaccounts")?[]:FNR.cache.getData("usermultiaccounts").map(s=>({name:s.name,password:sjcl.decrypt(FNR.cache.getData("userpassword"),s.password)}))).filter(s=>s.name!==_userdata.username).sort((s,t)=>s.name<t.name?-1:s.name>t.name?1:0)},template:'\n <ul :class="isStatusClass">\n <li class="navbar-item is-hidden-desktop" v-for="link in links">\n <a :href="link.url" :title="\'Ir a «\' + link.name + \'»\'">\n <div class="icon">\n <i :class="link.icon"></i>\n </div>\n <div class="text">{{ link.name }}</div>\n </a>\n </li>\n <li class="navbar-item" v-for="item in items">\n <a :href="item.url" :title="\'Ir a «\' + item.name + \'»\'">\n <div class="icon">\n <i :class="item.icon"></i>\n </div>\n <div class="text">{{ item.name }}</div>\n </a>\n </li>\n <template v-if="!userlog">\n <li class="navbar-item">\n <a href="/register" title="Registrarse en el foro">\n <div class="icon">\n <i class="fa-solid fa-user-plus"></i>\n </div>\n <div class="text">Registrarse</div>\n </a>\n </li>\n <li class="navbar-item">\n <a href="/login" title="Iniciar sesión en el foro">\n <div class="icon">\n <i class="fa-solid fa-sign-in-alt"></i>\n </div>\n <div class="text">Conectarse</div>\n </a>\n </li>\n </template>\n <template v-else>\n <li class="navbar-item is-hidden-desktop">\n <a :href="\'/u\' + userid" :title="\'Ir a tu \' + profileName">\n <div class="icon">\n <i class="fa-solid fa-id-card"></i>\n </div>\n <div class="text">Perfil</div>\n </a>\n </li>\n <li class="navbar-item">\n <a href="/search?search_id=egosearch" title="Ir a tus temas personales">\n <div class="icon">\n <i class="fa-solid fa-archive"></i>\n </div>\n <div class="text">Temas</div>\n </a>\n </li>\n <li class="navbar-item">\n <a href="/privmsg?folder=inbox" :title="mpText">\n <div class="icon">\n <template v-if="usermp === 0">\n <i class="fa-solid fa-envelope"></i>\n </template>\n <template v-else>\n <i class="fa-solid fa-message-exclamation"></i>\n </template>\n </div>\n <div class="text">Mensajería</div>\n </a>\n </li>\n <li class="navbar-item">\n <a :href="directions.ucp" title="Ir al «Panel de Usuario»">\n <div class="icon">\n <i class="fa-solid fa-sliders-h"></i>\n </div>\n <div class="text">Editar</div>\n </a>\n </li>\n <template v-if="multiAccount.status">\n <li class="navbar-item">\n <select title="Cambiar de cuenta" v-model="multiAccount.position" @change="changeAccount()" @click="$event.stopPropagation()">\n <option value="-1" hidden selected>Selec. personaje</option>\n <option v-for="(account, index) in multiAccount.accounts" :value="index">{{ account.name }}</option>\n </select>\n <a :href="directions.ucp" title="Ir al «Panel de Usuario»">\n <div class="icon">\n <i class="fa-solid fa-address-book"></i>\n </div>\n <div class="text">Cuentas</div>\n </a>\n </li>\n </template>\n <template v-if="userlevel === 1">\n <li class="navbar-item">\n <a href="/admin" title="Ir al «Panel de Administrador»">\n <div class="icon">\n <i class="fa-solid fa-cogs"></i>\n </div>\n <div class="text">Administrar</div>\n </a>\n </li>\n </template>\n <li class="navbar-item">\n <a :href="userout" title="Cerrar sesión">\n <div class="icon">\n <i class="fa-solid fa-sign-out-alt"></i>\n </div>\n <div class="text">Salir</div>\n </a>\n </li>\n </template>\n </ul>\n '}),Vue.component("header-foro",{props:["sitename"],data:()=>({name:forumData.name,image:forumDefaults.logo}),template:'\n <section id="page-header" class="main-body">\n <a href="/" :title="\'Ir al índice de «\' + sitename + \'»\'" id="forum-logo">\n <template v-if="image">\n <img :src="image" :alt="name" />\n </template>\n <template v-else>\n <slot name="logo"></slot>\n </template>\n </a>\n </section>\n '}),Vue.component("foro-foro",{props:["url","name","posts","topics","lasturl"],data(){return{lastname:void 0===this.$slots["last-name"]?"":this.$slots["last-name"][0].text}},mounted(){const s=null!==this.url.match(/f(\d+)-/),t=s?"forum":"category",i=this.$el.parentElement.classList,e=FNR.utility.genSlug(this.name,"-"),n=s?this.url.match(/f(\d+)-/)[1]:this.url.match(/c(\d+)-/)[1];i.add(`${t}-element`),i.add(`${t}-${n}`),i.add(`${t}-${e}`)},template:'\n <section class="forum-forum">\n <a class="forum-header" :href="url" :title="\'Ir al subforo «\' + name + \'»\'">\n <div class="forum-title is-tweakeable">\n <span class="is-measurable">{{ name }}</span>\n </div>\n <div class="forum-stats">{{ posts }} mensajes — {{ topics }} temas</div>\n </a>\n <div class="forum-content">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-full is-half-desktop">\n <div class="forum-info">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-full is-two-thirds-desktop">\n <div class="forum-misc">\n <div class="forum-last">\n <template v-if="lasturl.length">\n <div class="lastpost-content">\n <div class="is-hidden-desktop">\n <a :href="lasturl" :title="\'Último mensaje en el tema «\' + lastname + \'» por \'" class="lastpost-link">{{ lastname }}</a> por <slot name="last-who"></slot>, <slot name="last-date"></slot>\n </div>\n <div class="is-hidden-touch"></div>\n </div>\n </template>\n <template v-else>Este subforo no tiene mensajes</template>\n </div>\n </div>\n </li>\n <li class="column is-one-third is-hidden-touch">\n <div class="lastpost-user">\n <div class="lastpost-avatar">\n <slot name="last-avatar"></slot>\n </div>\n <div class="lastpost-name"></div>\n </div>\n </li>\n </ul>\n </div>\n </li>\n <li class="column is-full is-half-desktop">\n <div class="forum-interior">\n <slot name="desc"></slot>\n </div>\n </li>\n </ul>\n </div>\n </section>\n '}),Vue.component("temas-foro",{props:["type","url","replies","views","quick","lastpost","mode"],data(){return{title:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},computed:{currentMode(){const s=void 0!==forumConfig.skinOptions.showTopicType&&forumConfig.skinOptions.showTopicType;return this.mode.indexOf("<strong>")>-1&&s?this.mode.split("<strong>")[1].split(":</strong>")[0]:""},currentType(){let s=this.type;return window.location.pathname.indexOf("/merge")>-1?s="radio":window.location.pathname.indexOf("/modcp")>-1&&(s="checkbox"),s},currentClass(){const s={mp:"mp",draft:"draft",radio:"mp",checkbox:"mp",followed:"mp"};return"topiclist-topic"+("normal"!==this.currentType?" topic-"+s[this.currentType]:"")}},mounted(){const s=["checkbox","radio"],t=this.$el.parentElement.classList;"normal"!==this.currentType&&t.add("is-not-lastpost"),s.indexOf(this.currentType)>-1&&t.add("is-mod")},template:'\n <div :class="currentClass">\n <template v-if="currentType === \'draft\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-repliesandviews">\n {{ replies }} - {{ views }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <a class="topic-lastpost" :href="quick" :title="\'Ir al bosquejo «\' + title + \'»\'">\n <i class="fas fa-pencil-alt"></i>\n </a>\n </div>\n </template>\n <template v-else-if="currentType === \'followed\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-repliesandviews">\n {{ replies }} - {{ views }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <slot name="radio"></slot>\n </div>\n </div>\n </template>\n <template v-else-if="currentType === \'mp\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al mensaje privado «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-pagination">{{ views }}</div>\n <div class="topic-extra-separador">-</div>\n <div class="topic-author">Por <slot name="who"></slot></div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <div class="forum-checkbox">\n <div class="checkbox-content">\n <div class="checkbox-click">\n <i class="fas fa-check"></i>\n </div>\n </div>\n <div class="checkbox-real"><slot name="checkbox"></slot></div>\n </div>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n </div>\n </template>\n <template v-else-if="currentType === \'radio\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-author">Por <slot name="topic-author"></slot></div>\n <div class="topic-repliesandviews">\n {{ replies }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <div class="forum-checkbox">\n <div class="checkbox-content">\n <div class="checkbox-click">\n <i class="fas fa-check"></i>\n </div>\n </div>\n <div class="checkbox-real"><slot name="checkbox"></slot></div>\n </div>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n </div>\n </template>\n <template v-else-if="currentType === \'checkbox\'">\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Separar tema «\' + title + \'»\'">{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-author">{{ lastpost }}</div>\n <div class="topic-repliesandviews">\n {{ replies }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <div class="topic-lastpost" title="¡Seleccióname!">\n <div class="forum-checkbox">\n <div class="checkbox-content">\n <div class="checkbox-click">\n <i class="fas fa-check"></i>\n </div>\n </div>\n <div class="checkbox-real"><slot name="checkbox"></slot></div>\n </div>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n </div>\n </template>\n <template v-else>\n <div class="topic-main">\n <div class="topic-icon"></div>\n <div class="topic-container">\n <span class="topic-title">\n <a :href="url" :title="\'Ir al tema «\' + title + \'»\'"><template v-if="currentMode.length">{{ currentMode }}: </template>{{ title }}</a>\n </span>\n <div class="topic-extra">\n <div class="topic-pagination to-process">Páginas: <slot name="pagination"></slot></div>\n <div class="topic-extra-separador">-</div>\n <div class="topic-author">Por <slot name="topic-author"></slot></div>\n <div class="topic-repliesandviews">\n {{ replies }} - {{ views }}\n </div>\n </div>\n </div>\n </div>\n <div class="topic-quicklink">\n <slot name="last-avatar"></slot>\n <div class="topic-last">\n <a class="topic-lastpost">\n <i class="fas fa-link"></i> Último mensaje\n </a>\n Por <span class="topic-lastauthor"></span>\n <br />\n <span class="topic-lastdate"></span>\n </div>\n </div>\n <div class="to-process">\n <slot name="status"></slot>\n <slot name="last-post"></slot>\n </div>\n </template>\n </div>\n '}),Vue.component("mensaje-foro",{props:["id","online","edited","date"],computed:{slugId(){return"post-"+this.id},currentClass(){return"postlist-post"+this.online},currentDate(){const s=s=>s.split("el ")[1];return this.date.length?(this.date.indexOf("el")>-1?s(this.date).trim():this.date.trim())+(this.edited.length&&-1===this.edited.indexOf("not-show")?' <a title="'+this.edited.split("<br /><br />")[1].split(",")[0]+'">Editado</a> ':""):""}},template:'\n <section :id="slugId" :class="currentClass">\n <a :id="id" class="page-anchor" />\n <div class="post-header">\n <div class="header-side"></div>\n </div>\n <div class="post-content">\n <div class="post-info">\n <div class="post-side">\n <a :href="\'#\' + id" title="Enlace permanente" class="post-permalink">\n <i class="fas fa-link"></i>\n </a>\n <div class="post-title" v-html="currentDate" v-if="currentDate.length"></div>\n </div>\n <ul class="post-buttons"></ul>\n </div>\n <div class="is-content">\n <slot name="content"></slot>\n </div>\n </div>\n <div class="post-profile">\n <slot name="profile"></slot>\n </div>\n </section>\n '}),Vue.component("memberitem-foro",{props:["profile","type"],data(){return{configType:"none"!==this.profile,configName:forumConfig.profileOptions.profileName||"perfil",configRank:forumConfig.profileOptions.profileRank,url:"/",title:`Ir al índice de «${forumData.name}»`,mp:"/",name:"Usuario",avatar:forumDefaults.avatar,alt:"Avatar por defecto",rank:"Miembro",group:"usergroup-unknown",messages:0,lastvisit:"Cargando…",currentlyLooking:""}},created(){this.$slots.name&&(this.$slots.name[0].text?this.name=this.$slots.name[0].text:this.name=this.$slots.name[0].children[0].children[0].text||"Buscador"),this.$slots.avatar&&(this.avatar=this.$slots.avatar[0].data.attrs.src),this.$slots.posts&&(this.messages=this.$slots.posts[0].text),this.$slots.last&&(this.lastvisit=this.$slots.last[0].text),this.$slots.site&&(this.currentlyLooking=this.$slots.site[0].children[0].text),this.configType&&FNR.user.getProfile(this.profile.split("/u")[1],.25).then(s=>{this.url=s.links.profile,this.title=`Ir al ${this.configName} de «${s.name}»`,this.mp=s.links.mp,this.alt=`Avatar de «${s.name}»`,this.rank=s.fields[this.configRank].content,this.group="usergroup-"+s.colour,this.$slots.name||(this.name=s.name),this.$slots.avatar||(this.avatar=s.avatar),this.$slots.posts||(this.messages=s.messages.public),this.$slots.last||(this.lastvisit=s.lastvisit)})},template:'\n <a :class="\'memberitem-element \' + group" :href="url" :title="title">\n <div class="memberlist-name">\n <h3 class="is-tweakeable">\n <span class="is-measurable">{{ name }}</span>\n </h3>\n <div v-if="type === \'memberlist\'" class="is-tweakeable">\n <span class="is-measurable">{{ currentlyLooking ? currentlyLooking : lastvisit }}</span>\n </div>\n </div>\n <img class="memberlist-avatar" :src="avatar" :alt="alt" />\n </a>\n '}),Vue.component("estadisticas-foro",{props:["msg","users"],data:()=>({lastTopics:[],userLog:_userdata.session_logged_in}),created(){FNR.forum.getTopics(forumConfig.skinOptions.excludedForums,forumConfig.skinOptions.lastTopics).then(s=>{this.lastTopics=s})},template:'\n <ul class="columns is-multiline is-gapless">\n <li id="bloque-estadisticas" class="column is-one-third is-full-touch">\n <div id="new-connected">\n <h6>Ahora</h6>\n <div class="has-users">\n <span class="curconnected-users"></span>\n </div>\n </div>\n <div id="past-connected">\n <h6>Últimas <span class="lastconnected-hour"></span> horas</h6>\n <div class="has-users">\n <span class="lastconnected-users"></span>\n </div>\n </div>\n </li>\n <li id="bloque-grupos" class="column is-two-thirds is-full-touch">\n <div id="image-banner"></div>\n <ul id="census"></ul>\n </li>\n <li id="bloque-ultimostemas" class="column is-full">\n <h6>Últimos temas</h6>\n <ul class="ltopic-list">\n <li v-for="topic in lastTopics">\n <tema-ref :info="topic"></tema-ref>\n </li>\n </ul>\n <small>También tienes la lista <a href="/latest" title="Ir a la página de «Últimos temas»">general</a><template v-if="userLog !== 0"> o desde tu <a href="/search?search_id=newposts" title="Ir a la página de «Desde última conexión»">ultima conexión</a></template>.</small>\n </li>\n \t</ul>\n '}),Vue.component("tema-ref",{props:["info"],data:()=>({profileName:forumConfig.profileOptions.profileName||"perfil"}),computed:{userColor(){return"color: "+this.info.lastpost.who.color}},template:'\n <div class="ltopic-element">\n <a class="ltopic-last" :href="info.lastpost.url" :title="\'Ir al último mensaje del tema «\' + info.name + \'»\'">\n <i class="fas fa-link"></i>\n </a>\n <a class="ltopic-title" :href="info.url" :title="\'Ir al tema «\' + info.name + \'»\'"><span>{{ info.name }}</span></a>\n <small class="ltopic-info"><a :href="info.lastpost.who.url" :style="userColor" :title="\'Ir al \' + profileName + \' de «\' + info.lastpost.who.name + \'»\'">{{ info.lastpost.who.name | just-name }}</a>, {{ info.lastpost.date }} en <a :href="info.forum.url" :title="\'Ir al subforo «\' + info.forum.name + \'»\'">{{ info.forum.name }}</a></small>\n </div>\n '}),Vue.component("footer-foro",{data:()=>({afis:{},normal:forumConfig.usableDirections.normal,credits:forumCredits.paragraphs,social:forumCredits.social}),created(){FNR.forum.getAffiliates().then(s=>{this.afis=s})},template:'\n <section id="page-afiliates" class="main-body">\n <categoria-foro id="afiliados">\n <div class="forum-head category-head">\n <i class="fa-solid fa-caret-right"></i>\n <h3><span>Afiliados <span class="extra">+</span> Créditos</span><small>afiliados <span class="extra">+</span> creditos</small></h3>\n </div>\n <ul class="columns is-gapless">\n <li id="forum-affiliates" class="column is-two-thirds is-full-touch">\n <ul class="columns is-gapless is-multiline">\n <li id="forum-affiliates-sisters" class="column is-full affiliates-collection">\n <h3 class="section-title">Hermanas</h3>\n <ul v-html="afis.sister" class="no-style"></ul>\n </li>\n <li id="forum-affiliates-elite" class="column is-full">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-two-thirds is-full-touch affiliates-collection">\n <h3 class="section-title">Élite</h3>\n <ul v-html="afis.elite" class="no-style"></ul>\n </li>\n <li class="column is-one-third is-full-touch affiliates-collection">\n <h3 class="section-title">Directorios</h3>\n <ul v-html="afis.directory" class="no-style"></ul>\n </li>\n </ul>\n </li>\n <li id="forum-affiliates-regular" class="column is-full" v-if="normal.length">\n <h3 class="section-title"><a :href="normal" title="Ir a «Afiliaciones Normales»"><i class="fas fa-link"></i> Normales</a></h3>\n </li>\n </ul>\n </li>\n <li id="forum-cred" class="column is-full-touch">\n <div class="is-content">\n <h3 class="section-title">Créditos</h3>\n <ul class="no-style">\n <li v-for="credit in credits" v-html="credit"></li>\n <li class="is-hidden-mobile">El diseño y programación de la skin <a href="https://darktimes-skin.foroactivo.com/" title="Ir al sitio web de «Dark Times»">Dark Times</a> por <a href="https://zatrapa-gaylien.tumblr.com/" title="Ir al sitio web de «Gaylien»">Gaylien</a>. Agradecimiento especial a los equipos desarrolladores de <a href="https://vuejs.org/" title="Ir al sitio web de «Vue»">Vue</a> y <a href="https://bulma.io/" title="Ir al sitio web de «Bulma»">Bulma</a> por sus respectivos <em>Frameworks</em>.</li>\n <li id="credits-social" v-if="social.length">\n <ul class="no-style">\n <li v-for="platform in social">\n <a :href="platform.url" :title="\'Ir a «\' + platform.name + \'»\'"><em :class="platform.icon"></em> {{ platform.name }}</a>\n </li>\n </ul>\n </li> \n </ul>\n </div>\n </li>\n </ul>\n </categoria-foro>\n </section>\n '}),Vue.component("tablon-titulo",{props:["title"],template:'\n <h4 class="plank-title">\n <i class="fa-solid fa-caret-right"></i><span v-html="title"></span>\n </h4>\n '}),Vue.component("tablon-superior",{data:()=>({
|
|
2
|
+
name:forumData.name}),template:'\n <section id="topbar-section" class="basic-element">\n <categoria-foro id="tablon">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-full">\n <div id="plank-anmt" class="plank-block">\n <tablon-titulo title="Anuncios <span class=\'extra\'>+</span> Novedades"></tablon-titulo>\n <links-anuncios></links-anuncios>\n </div>\n </li>\n <li class="column is-full is-two-thirds-desktop">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-full">\n <div id="plank-staff" class="plank-block">\n <tablon-titulo title="Administración"></tablon-titulo>\n <links-staff></links-staff>\n </div>\n </li>\n <li class="column is-half">\n <div id="plank-search" class="plank-block">\n <tablon-titulo title="Búsquedas"></tablon-titulo>\n <busquedas></busquedas>\n </div>\n </li>\n <li class="column is-half">\n <div id="plank-sq" class="plank-block">\n <tablon-titulo title="¿Sabías qué?"></tablon-titulo>\n <sabias-que></sabias-que>\n </div>\n </li>\n </ul>\n </li>\n <li class="column is-full is-one-third-desktop">\n <div id="plank-help" class="plank-block">\n <tablon-titulo title="Ayuda"></tablon-titulo>\n <links-ayuda></links-ayuda>\n </div>\n </li>\n </ul>\n </categoria-foro>\n <categoria-foro id="navegacion">\n <ul class="columns is-gapless is-multiline">\n <li class="column">\n <nav id="forum-breadcrumb" class="breadcrumb has-succeeds-separator left" aria-label="breadcrumbs">\n <ul>\n <li>\n <a href="/" title="Ir a «Inicio»">{{ name }}</a>\n </li>\n </ul>\n </nav>\n </li>\n </ul>\n </categoria-foro>\n </section>\n '}),Vue.component("links-ayuda",{data:()=>({links:forumContent.links}),template:'\n <div id="help-main">\n <a :href="link.url" :title="\'Ir a «\' + link.name + \'»\'" v-for="link in links">{{ link.name }}</a>\n </div>\n '}),Vue.component("links-anuncios",{data:()=>({announcements:forumContent.announcements.list}),template:'\n <ul class="columns is-multiline">\n <li v-for="announcement in announcements" class="column is-one-quarter is-half-tablet is-half-mobile">\n <a :href="announcement.url" :title="\'Ir al anuncio «\' + announcement.name + \'»\'" class="anmt-element">\n <span class="anmt-title">{{ announcement.name }}</span>\n <span class="anmt-date">{{ announcement.date }}</span>\n </a>\n </li>\n </ul>\n '}),Vue.component("sabias-que",{data:()=>({content:forumContent.sq[Math.floor(Math.random()*forumContent.sq.length)]}),created(){setInterval(()=>{this.content=forumContent.sq[Math.floor(Math.random()*forumContent.sq.length)]},12e3)},template:'\n <div id="sq-img" class="msg-element topbar-element" :style="\'background-image: url(\' + content + \')\'"></div>\n '}),Vue.component("busquedas",{data:()=>({content:forumContent.searches[Math.floor(Math.random()*forumContent.searches.length)]}),created(){setInterval(()=>{this.content=forumContent.searches[Math.floor(Math.random()*forumContent.searches.length)]},16e3)},template:'\n <a id="search-img" class="msg-element topbar-element" :style="\'background-image: url(\' + content.img + \')\'" :href="content.url" :title="content.desc"></a>\n '});
|
package/general.js
CHANGED
|
@@ -166,7 +166,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
166
166
|
|
|
167
167
|
html = '';
|
|
168
168
|
|
|
169
|
-
html += '<a class="miniprofile-main" href="' + userLink + '"
|
|
169
|
+
html += '<a class="miniprofile-main" href="' + userLink + '" title="Ir al ' + (forumConfig.profileOptions.profileName === undefined ? 'perfil' : forumConfig.profileOptions.profileName) + ' de «' + userName + '»"><img src="' + userAvatar + '" alt="Avatar de «' + userName + '»" /></a>';
|
|
170
170
|
|
|
171
171
|
profile.insertAdjacentHTML('beforeend', html);
|
|
172
172
|
profile.classList.add('profile-sticky');
|
|
@@ -174,7 +174,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
174
174
|
if (userFields[forumConfig.profileOptions.profileSignature] !== undefined) {
|
|
175
175
|
html = '';
|
|
176
176
|
|
|
177
|
-
html += '<a class="miniprofile-signature" href="' + userLink + '"
|
|
177
|
+
html += '<a class="miniprofile-signature" href="' + userLink + '" title="Ir al ' + (forumConfig.profileOptions.profileName === undefined ? 'perfil' : forumConfig.profileOptions.profileName) + ' de «' + userName + '»"><img class="is-avatar" src="' + userAvatar + '" alt="Avatar de «' + userName + '»" /><img class="is-signature" src="' + userFields[forumConfig.profileOptions.profileSignature].content + '" alt="Firma de «' + userName + '»" /></a>';
|
|
178
178
|
|
|
179
179
|
signature.insertAdjacentHTML('beforebegin', html);
|
|
180
180
|
|
|
@@ -194,7 +194,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
194
194
|
|
|
195
195
|
const versionedName = '<span class="is-hidden-tablet">' + Vue.filter('just-name')(userName) + '</span><span class="is-hidden-mobile">' + userName + '</span>';
|
|
196
196
|
|
|
197
|
-
html += '<h3 class="is-tweakeable"><a class="is-measurable" href="' + userLink + '"
|
|
197
|
+
html += '<h3 class="is-tweakeable"><a class="is-measurable" href="' + userLink + '" title="Ir al ' + (forumConfig.profileOptions.profileName === undefined ? 'perfil' : forumConfig.profileOptions.profileName) + ' de «' + userName + '»">' + versionedName + '</a></h3>';
|
|
198
198
|
|
|
199
199
|
signature.querySelector('.miniprofile-name').insertAdjacentHTML('beforeend', html);
|
|
200
200
|
|
|
@@ -307,7 +307,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
307
307
|
final += '<h3 class="is-hidden-touch">¡Saludos!</h3>';
|
|
308
308
|
final += '<hr class="is-hidden-touch"/>';
|
|
309
309
|
final += '<p class="is-hidden-touch">' + forumData.desc + '</p>';
|
|
310
|
-
final += '<p>Si aún no dispones de cuenta y estás interesado en unirte a nosotros puedes <a href="/register" title="Ir a «Registro»"
|
|
310
|
+
final += '<p>Si aún no dispones de cuenta y estás interesado en unirte a nosotros puedes <a href="/register" title="Ir a «Registro»">registrarte</a> con suma facilidad, asimismo, te instamos a leerte nuestras <a href="' + forumConfig.usableDirections.norms + '" title="Ir a «Normativa»">normas</a> y <a href="' + forumConfig.usableDirections.lore + '" title="Ir a «Trasfondo»">trasfondo</a>.</p>';
|
|
311
311
|
final += '<p class="is-hidden-touch">Atte. Administración de <strong>' + forumData.name + '</strong>.</p>';
|
|
312
312
|
final += '</div>';
|
|
313
313
|
final += '</li>';
|
|
@@ -567,7 +567,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
567
567
|
final += '<h3 class="is-hidden-touch">¡Saludos!</h3>';
|
|
568
568
|
final += '<hr class="is-hidden-touch"/>';
|
|
569
569
|
final += '<p class="is-hidden-touch">' + forumData.desc + '</p>';
|
|
570
|
-
final += '<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="' + forumConfig.usableDirections.norms + '" title="Ir a «Normativa»"
|
|
570
|
+
final += '<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="' + forumConfig.usableDirections.norms + '" title="Ir a «Normativa»">normas</a> y <a href="' + forumConfig.usableDirections.lore + '" title="Ir a «Trasfondo»">trasfondo</a>.</p>';
|
|
571
571
|
final += '<p class="is-hidden-touch">Atte. Administración de <strong>' + forumData.name + '</strong>.</p>';
|
|
572
572
|
final += '</div>';
|
|
573
573
|
final += '</li>';
|
|
@@ -636,7 +636,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
636
636
|
final += '<h3 class="is-hidden-touch">¡Saludos!</h3>';
|
|
637
637
|
final += '<hr class="is-hidden-touch"/>';
|
|
638
638
|
final += '<p class="is-hidden-touch">' + forumData.desc + '</p>';
|
|
639
|
-
final += '<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="' + forumConfig.usableDirections.norms + '" title="Ir a «Normativa»"
|
|
639
|
+
final += '<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="' + forumConfig.usableDirections.norms + '" title="Ir a «Normativa»">normas</a> y <a href="' + forumConfig.usableDirections.lore + '" title="Ir a «Trasfondo»">trasfondo</a>.</p>';
|
|
640
640
|
final += '<p class="is-hidden-touch">Atte. Administración de <strong>' + forumData.name + '</strong>.</p>';
|
|
641
641
|
final += '</div>';
|
|
642
642
|
final += '</li>';
|
package/general.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const getForumHeader=e=>{const t=e||"Informaciones";let o="";return o+='<div class="forum-head special-head">',o+='<i class="fa-solid fa-caret-right"></i>',o+="<h3>",o+="<span>"+t+"</span>",o+="<small>"+FNR.utility.genSlug(t," ")+"</small>",o+="</h3>",o+="</div>",o},getForumNotSupportedPage=(e,t)=>{const o=e||"Módulo no soportado. Redirigiendo al índice.",i=t||"/";let n="";n+='<section id="forum-content" class="is-not-vue">',n+='<div class="to-process">',n+='<div id="breadcrumbs">',n+='<a href="#">Informaciones</a>',n+="</div>",n+="</div>",n+='<section id="message-section" class="basic-element">',n+='<section class="generic-element">',n+=getForumHeader(),n+='<div class="msg-element is-content">'+o+"</div>",n+="</section>",n+="</section>",n+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",n),setTimeout(()=>{window.location.replace(i)},5e3)};let forumProfiles=[];document.addEventListener("DOMContentLoaded",()=>{const e=e=>e.querySelector("img")?e.querySelector("img").src:e.innerHTML;document.querySelector("#topic-section .postlist-post")&&[].forEach.call(document.querySelectorAll("#topic-section .postlist-post"),(t,o)=>{if("post-0"===t.id)return void t.remove();const i=t.querySelector(".postprofile-username").textContent,n=t.querySelector(".postprofile-avatar img").src,s=t.querySelector(".postprofile-username span")?FNR.utility.getGroup("rgb_"+t.querySelector(".postprofile-username span").style.color.split("rgb(")[1].split(")")[0].split(", ").join("_")):"unknown";let r={},a={};t.querySelector(".postprofile-field")&&[].forEach.call(t.querySelectorAll(".postprofile-field"),t=>{const o=t.querySelector(".postprofile-field-label .label span").textContent,i=e(t.querySelector(".postprofile-field-content"));r[FNR.utility.genSlug(o,"_")]={name:o,content:i}}),t.querySelector(".postprofile-rank").textContent.length&&(r.rango={name:"Rango",content:t.querySelector(".postprofile-rank").textContent});const l=t.querySelector(".postprofile-username a")?t.querySelector(".postprofile-username a").href:"Invitado"===r[forumConfig.profileOptions.profileRank].content?"/":FNR.user.getUrl(i);t.querySelector(".postprofile-contact").children.length&&[].forEach.call(t.querySelector(".postprofile-contact").children,e=>{let t,o,n,s=!1;if(e.querySelector("img"))switch(e.querySelector("img").src){case"https://2img.net/i/fa/prosilver/icon_contact_pm.png":s="Contactar",t="Enviar un mensaje privado a «"+i+"»",o=e.querySelector("a").href,n=forumConfig.profileUser.contactFields.mp;break;case"https://2img.net/i.imgur.com/LbaEYDr.png":s=forumConfig.profileOptions.profileLinks.firstLink,t="Ir a "+s+" de «"+i+"»",o=e.querySelector("a").href,n=forumConfig.profileUser.contactFields[FNR.utility.genSlug(s,"_")];break;case"https://2img.net/i.imgur.com/V9WL9zX.png":s=forumConfig.profileOptions.profileLinks.secondLink,t="Ir a "+s+" de «"+i+"»",o=e.querySelector("a").href,n=forumConfig.profileUser.contactFields[FNR.utility.genSlug(s,"_")];break;case"https://2img.net/i.imgur.com/LprMCaL.png":s=forumConfig.profileOptions.profileLinks.thirdLink,t="Ir a "+s+" de «"+i+"»",o=e.querySelector("a").href,n=forumConfig.profileUser.contactFields[FNR.utility.genSlug(s,"_")]}!1!==s&&(a[FNR.utility.genSlug(s,"_")]={name:s,title:t,content:o,icon:n})}),t.classList.add("usergroup-"+s),t.querySelector(".post-profile").innerHTML="",forumProfiles.push({username:i,avatar:n,group:s,profile:l,fields:r,contact:a});const c=t.querySelector(".post-profile"),d=t.querySelector(".header-side");let u;if(u="",u+='<a class="miniprofile-main" href="'+l+'" target="_blank" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+i+'»"><img src="'+n+'" alt="Avatar de «'+i+'»" /></a>',c.insertAdjacentHTML("beforeend",u),c.classList.add("profile-sticky"),void 0!==r[forumConfig.profileOptions.profileSignature]){u="",u+='<a class="miniprofile-signature" href="'+l+'" target="_blank" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+i+'»"><img class="is-avatar" src="'+n+'" alt="Avatar de «'+i+'»" /><img class="is-signature" src="'+r[forumConfig.profileOptions.profileSignature].content+'" alt="Firma de «'+i+'»" /></a>',d.insertAdjacentHTML("beforebegin",u),u="",u+='<div class="miniprofile-quote">'+r[forumConfig.profileOptions.profileCite].content+"</div>",d.insertAdjacentHTML("beforeend",u),u="",u+='<div class="miniprofile-name"></div>',d.insertAdjacentHTML("beforeend",u),u="";const e='<span class="is-hidden-tablet">'+Vue.filter("just-name")(i)+'</span><span class="is-hidden-mobile">'+i+"</span>";u+='<h3 class="is-tweakeable"><a class="is-measurable" href="'+l+'" target="_blank" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+i+'»">'+e+"</a></h3>",d.querySelector(".miniprofile-name").insertAdjacentHTML("beforeend",u);const t=r[forumConfig.profileOptions.profileRank].content;delete r[forumConfig.profileOptions.profileSignature],delete r[forumConfig.profileOptions.profileCite],delete r[forumConfig.profileOptions.profileRank],delete r.rango,Object.values(r).length&&(u="",u+='<ul class="miniprofile-fields">',u+='<li class="miniprofile-field miniprofile-field-rango">',u+="<strong>Rango</strong>"+t,u+="</li>",forumConfig.profileUser.miniFields.forEach(e=>{const t=r[e];u+='<li class="miniprofile-field miniprofile-field-'+FNR.utility.genSlug(t.name,"-")+'">',u+="<strong>"+t.name+"</strong>"+t.content,u+="</li>"}),u+="</ul>",d.insertAdjacentHTML("beforeend",u))}Object.values(a).length&&(u="",u+='<ul class="miniprofile-contacts">',Object.values(a).forEach(e=>{u+='<li class="miniprofile-contact miniprofile-contact-'+FNR.utility.genSlug(e.name,"-")+'">',u+='<a href="'+e.content+'" title="'+e.title+'">'+e.name+"</a>",u+="</li>"}),u+="</ul>",c.querySelector(".miniprofile-main").insertAdjacentHTML("afterend",u),d.querySelector(".miniprofile-name")&&d.insertAdjacentHTML("beforeend",u))})}),document.addEventListener("DOMContentLoaded",()=>{if("/login"===window.location.pathname&&document.querySelector('form[name="form_login"]')){let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Conectarse</a>',e+="</div>",e+="</div>",e+='<form action="/login" method="post" name="form_login" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Conectarse al foro"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Nombre de usuario</div>',e+='<div class="field-content"><input type="text" name="username" id="username" size="25" maxlength="40" value=""></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña</div>',e+='<div class="field-content"><input type="password" id="password" name="password" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element mt-5">',e+='<div id="checkbox-autologin" class="forum-checkbox">',e+='<div class="checkbox-content">',e+='<div class="checkbox-click">',e+='<i class="fas fa-check"></i>',e+="</div>",e+='<div class="checkbox-name">Iniciar sesión automáticamente</div>',e+="</div>",e+='<div class="checkbox-real">',e+='<input type="checkbox" id="autologin" name="autologin" checked="checked">',e+="</div>",e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="hidden" name="redirect" value="">',e+='<input type="hidden" name="query" value="">',e+='<input type="submit" name="login" value="Conectarse" class="button1 btn-main">',e+='<a class="button1" href="/profile?mode=sendpassword">Recuperar contraseña</a>',e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+='<p>Si aún no dispones de cuenta y estás interesado en unirte a nosotros puedes <a href="/register" title="Ir a «Registro»" target="_blank">registrarte</a> con suma facilidad, asimismo, te instamos a leerte nuestras <a href="'+forumConfig.usableDirections.norms+'" title="Ir a «Normativa»" target="_blank">normas</a> y <a href="'+forumConfig.usableDirections.lore+'" title="Ir a «Trasfondo»" target="_blank">trasfondo</a>.</p>',e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{if(!document.querySelector("#main-body .msg-element"))if("/profile"===window.location.pathname)switch(window.location.search){case"?mode=sendpassword":let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Recuperar contraseña</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Recuperar contraseña"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Nombre de usuario</div>',e+='<div class="field-content"><input type="text" name="username" value=""></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-correo">',e+='<div class="forum-field">',e+='<div class="field-name">Correo electrónico</div>',e+='<div class="field-content"><input type="text" name="email" value=""></div>',e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="submit" name="submit" value="Enviar" class="button2 btn-main">',e+='<input type="reset" name="reset" value="Reiniciar" class="button2">',e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+="<p>Tras pulsar el botón «Enviar» (si los datos son verídicos) recibirás un correo en tu cuenta con instrucciones sobre como reestablecer tu contraseña.</p>",e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e);break;default:if(window.location.search.indexOf("?change_password")>-1){document.querySelector('input[value="Registrar"]').classList.add("btn-main");let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Cambiar contraseña</a>',e+="</div>",e+="</div>",e+='<form action="/profile" enctype="multipart/form-data" method="post" name="post" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Cambiar contraseña"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-contrasena-actual">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña actual</div>',e+='<div class="field-content"><input type="password" name="cur_password" value=""></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-nueva-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Nueva contraseña</div>',e+='<div class="field-content"><input type="password" name="new_password" value="" class="inputbox" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-confirmar-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Confirmar contraseña</div>',e+='<div class="field-content"><input type="password" name="password_confirm" value="" class="inputbox" maxlength="25"><input type="hidden" name="change_password" value="change_password"></div>',e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+=document.querySelector("#ucp .submit-buttons").innerHTML,e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+="<p>Tras pulsar el botón «Registrar» (si los datos son verídicos) podrás cambiar tu contraseña. Recibirás un correo electrónico confirmando dicho cambio.</p>",e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e),document.querySelector('input[value="REINICIAR"]').value="Reiniciar"}else getForumNotSupportedPage()}else if("/profile.php"===window.location.pathname){document.querySelector('input[type="reset"]').removeAttribute("style"),document.querySelector('input[value="Registrar"]').classList.add("btn-main");let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Recuperar contraseña</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Recuperar contraseña"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña</div>',e+='<div class="field-content"><input type="password" id="password_reg" name="password" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-correo">',e+='<div class="forum-field">',e+='<div class="field-name">Confirmar contraseña</div>',e+='<div class="field-content"><input type="password" id="password_confirm" name="password_confirm" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+=document.querySelector(".submit-buttons").innerHTML,e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+="<p>Tras pulsar el botón «Registrar» (si las contraseñas coinciden) podrás entrar de nuevo al foro.</p>",e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{if("/register"===window.location.pathname)if(document.querySelector("form#ucp")){let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Registro</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" name="post" id="register-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Registro"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Nombre de usuario</div>',e+='<div class="field-content"><input type="text" id="username_reg" name="username" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-correo">',e+='<div class="forum-field">',e+='<div class="field-name">Correo electrónico</div>',e+='<div class="field-content"><input type="text" id="email" name="email" value="" size="25" maxlength="64"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña</div>',e+='<div class="field-content"><input type="password" id="password_reg" name="password" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element mt-5">',e+='<div id="checkbox-wantnews" class="forum-checkbox">',e+='<div class="checkbox-content">',e+='<div class="checkbox-click">',e+='<i class="fas fa-check"></i>',e+="</div>",e+='<div class="checkbox-name">Acepto recibir noticias del foro</div>',e+="</div>",e+='<div class="checkbox-real">',e+='<input type="checkbox" id="wantsnews" name="wantsnews" value="1">',e+="</div>",e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="submit" name="submit" value="Registrar" class="button2 btn-main">',e+='<input type="reset" name="reset" value="Reiniciar" class="button2">',e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+='<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="'+forumConfig.usableDirections.norms+'" title="Ir a «Normativa»" target="_blank">normas</a> y <a href="'+forumConfig.usableDirections.lore+'" title="Ir a «Trasfondo»" target="_blank">trasfondo</a>.</p>',e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",document.querySelector('p[style="color: red;"]')&&console.log(document.querySelector('p[style="color: red;"]').textContent),[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e),document.querySelector("#register-section").onsubmit=(e=>{let t=0;document.querySelector('input[name="username"]').value=document.querySelector('input[name="username"]').value.replace(/"/g,()=>(t++,t%2==0?"»":"«")).replace(/`/g,"'").replace(/´/g,"'")})}else if(document.querySelector("form#form_confirm")){document.querySelector('input[value="Registrar"]').classList.add("btn-main");let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Registro</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" name="form_confirm" id="register-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Registro"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-confirmar-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Confirmar contraseña</div>',e+='<div class="field-content"><input type="password" name="password_confirm" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-cloudflare mb-0">',e+=document.querySelector(".fields2 > script").outerHTML,e+=document.querySelector(".fields2 > .cf-turnstile").outerHTML,e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="hidden" name="username" value="">',e+='<input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response-3">',e+='<input type="hidden" name="submit" value="1">',e+=document.querySelector('input[value="Registrar"]').parentElement.innerHTML,e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+='<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="'+forumConfig.usableDirections.norms+'" title="Ir a «Normativa»" target="_blank">normas</a> y <a href="'+forumConfig.usableDirections.lore+'" title="Ir a «Trasfondo»" target="_blank">trasfondo</a>.</p>',e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+=document.querySelector("#form_confirm script").outerHTML,e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector('p[style="text-align:center"]')&&"Un nuevo mensaje ha sido añadido mientras escribías el tuyo. Puedes ver los últimos mensajes posteados abajo y decidir si quieres modificarlo o registrarlo."===document.querySelector('p[style="text-align:center"]').textContent){document.querySelector('form[action="/post"] .submit-buttons').remove();let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Informaciones</a>',e+="</div>",e+="</div>",e+='<form action="/post" method="post" name="post" id="message-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader(),e+='<div class="msg-element is-content">',e+="<p>Un nuevo mensaje ha sido añadido mientras escribías el tuyo. Puedes decidir si quieres modificarlo o registrarlo.</p>",e+="<p><u><strong>Recuerda, si procedes e ibas a hacer una tirada, esta no se hará.</strong></u></p>",e+="</div>",e+='<div id="usereply-comand">',e+=document.querySelector('form[action="/post"]').innerHTML,e+='<input type="submit" name="prevent_post" value="Registrar" class="button1 btn-main">',e+='<input type="submit" name="prevent_modif" value="Modificar" class="button2">',e+="</div>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{const e=["?search_id=draftsearch","?search_id=watchsearch"];e.forEach(e=>{window.location.search.indexOf(e)>-1&&getForumNotSupportedPage()})}),document.addEventListener("DOMContentLoaded",()=>{const e=["/gallery","/calendar","/faq","/contact","/abuse","/statistics","/privacy","/images","/discover","/search"];e.forEach(e=>{window.location.pathname.indexOf(e)>-1&&getForumNotSupportedPage()})}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector("#mod-controls")&&document.querySelector("#mod-controls").children.length>0){const e=()=>{let e="";return e+='<li class="btn-element btn-gestionar">',e+='<div class="dropdown is-dropeable is-right">',e+='<div class="dropdown-trigger">',e+='<a targer="_blank" title="Gestionar" class="forum-button is-pointer" aria-haspopup="true" aria-controls="dropdown-menu">',e+='<span class="icon"><i class="fas fa-wrench"></i></span>',e+='<span class="text is-hidden-touch">Gestionar</span>',e+="</a>",e+="</div>",e+='<div class="dropdown-menu" role="menu">',e+='<div class="dropdown-content">',[].forEach.call(document.querySelector("#mod-controls").children,t=>{switch(t.querySelector("img")){case null:const o=t.textContent.match(/Dejar/)?"Dejar de vigilar tema":"Vigilar tema";e+='<a href="'+t.href+'" title="'+o+'" class="dropdown-item">'+o+"</a>";break;default:e+='<a href="'+t.href+'" title="'+t.querySelector("img").title+'" class="dropdown-item">'+t.querySelector("img").title+"</a>"}}),e+="</div>",e+="</div>",e+="</div>",e+="</li>",e};[].forEach.call(document.querySelectorAll(".page-buttons"),t=>{t.insertAdjacentHTML("afterbegin",e())})}}),document.addEventListener("DOMContentLoaded",()=>{const e=[{url:`${window.location.origin}/search?search_id=draftsearch`,substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`},{url:"/search?search_id=draftsearch",substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`},{url:`${window.location.origin}/search?search_id=topicdraftsearch`,substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`},{url:"/search?search_id=topicdraftsearch",substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`}];e.forEach(e=>{const t=document.querySelectorAll(`a[href^="${e.url}"]`);[].forEach.call(t,t=>{t.href=e.substitute})})}),document.addEventListener("forumReady",()=>{document.querySelector("#g-recaptcha-response-3")&&"undefined"!=typeof captchaCheck&&(inputToken=document.querySelector("#g-recaptcha-response-3"),inputToken.closest("form").addEventListener("submit",captchaCheck))}),document.addEventListener("DOMContentLoaded",()=>{const e='<section id="forum-header">'+document.querySelector("#page-header").innerHTML+"</section>",t='<section id="extracredits-section" class="basic-element">'+document.querySelector("#page-afiliates").innerHTML+"</section>",o=document.querySelector("#forum-footer").outerHTML,i=document.querySelector("#forum-topbar .category-navegacion nav").outerHTML;document.querySelector("body>header").remove(),document.querySelector("footer").remove(),document.querySelector("#forum-footer").remove(),document.querySelector("#forum-topbar .category-navegacion").remove(),document.querySelector("#content-container").insertAdjacentHTML("afterbegin",e),document.querySelector("#content-container").insertAdjacentHTML("beforeend",o),document.querySelector("#forum-topbar").insertAdjacentHTML("beforebegin",i),document.querySelector("#forum-content .basic-element")?document.querySelector("#forum-content .basic-element").parentElement.insertAdjacentHTML("beforeend",t):document.querySelector("#forum-wiki .basic-element")&&document.querySelector("#forum-wiki .basic-element").parentElement.insertAdjacentHTML("beforeend",t)}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".forum-forum")&&[].forEach.call(document.querySelectorAll(".forum-forum"),e=>{e.querySelector(".forum-misc")&&e.querySelector(".forum-box")&&(e.querySelector(".forum-misc").insertAdjacentHTML("afterbegin",e.querySelector(".forum-box").outerHTML),e.querySelector(".forum-interior .forum-box").remove())})}),document.addEventListener("forumReady",()=>{document.querySelector(".forum-forum")&&[].forEach.call(document.querySelectorAll(".forum-forum"),e=>{if(e.querySelector(".forum-last .is-hidden-desktop > strong")&&(e.querySelector(".lastpost-name").insertAdjacentHTML("beforeend",e.querySelector(".forum-last .is-hidden-desktop > strong").outerHTML),e.querySelector(".lastpost-name > strong a"))){const t=e.querySelector(".lastpost-name > strong a").innerHTML,o=e.querySelector(".lastpost-name > strong").innerHTML.split(t);e.querySelector(".lastpost-name > strong").innerHTML=t,e.querySelector(".lastpost-user").outerHTML=`${o[0]}${e.querySelector(".lastpost-user").innerHTML}${o[1]}`,e.querySelector(".is-one-third > a").classList.add("lastpost-user")}if(e.querySelector(".forum-last .is-hidden-desktop .lastpost-link")){const t=e.querySelector(".forum-last .is-hidden-desktop .lastpost-link").outerHTML,o=e.querySelector(".forum-last .is-hidden-desktop").innerHTML.split("</strong>, ")[1];e.querySelector(".forum-last .is-hidden-touch").insertAdjacentHTML("beforeend",`${t}, ${o}`)}})}),document.addEventListener("forumReady",()=>{document.querySelector("body")&&forumConfig.skinOptions.monochromeImages&&document.querySelectorAll("body").classList.add("is-monochrome")}),document.addEventListener("forumReady",()=>{"/"!==window.location.pathname&&document.querySelector("#forum-topbar")&&forumConfig.skinOptions.hideTopbar&&document.querySelector("#forum-topbar").remove()});
|
|
1
|
+
const getForumHeader=e=>{const o=e||"Informaciones";let t="";return t+='<div class="forum-head special-head">',t+='<i class="fa-solid fa-caret-right"></i>',t+="<h3>",t+="<span>"+o+"</span>",t+="<small>"+FNR.utility.genSlug(o," ")+"</small>",t+="</h3>",t+="</div>",t},getForumNotSupportedPage=(e,o)=>{const t=e||"Módulo no soportado. Redirigiendo al índice.",i=o||"/";let n="";n+='<section id="forum-content" class="is-not-vue">',n+='<div class="to-process">',n+='<div id="breadcrumbs">',n+='<a href="#">Informaciones</a>',n+="</div>",n+="</div>",n+='<section id="message-section" class="basic-element">',n+='<section class="generic-element">',n+=getForumHeader(),n+='<div class="msg-element is-content">'+t+"</div>",n+="</section>",n+="</section>",n+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",n),setTimeout(()=>{window.location.replace(i)},5e3)};let forumProfiles=[];document.addEventListener("DOMContentLoaded",()=>{const e=e=>e.querySelector("img")?e.querySelector("img").src:e.innerHTML;document.querySelector("#topic-section .postlist-post")&&[].forEach.call(document.querySelectorAll("#topic-section .postlist-post"),(o,t)=>{if("post-0"===o.id)return void o.remove();const i=o.querySelector(".postprofile-username").textContent,n=o.querySelector(".postprofile-avatar img").src,s=o.querySelector(".postprofile-username span")?FNR.utility.getGroup("rgb_"+o.querySelector(".postprofile-username span").style.color.split("rgb(")[1].split(")")[0].split(", ").join("_")):"unknown";let r={},a={};o.querySelector(".postprofile-field")&&[].forEach.call(o.querySelectorAll(".postprofile-field"),o=>{const t=o.querySelector(".postprofile-field-label .label span").textContent,i=e(o.querySelector(".postprofile-field-content"));r[FNR.utility.genSlug(t,"_")]={name:t,content:i}}),o.querySelector(".postprofile-rank").textContent.length&&(r.rango={name:"Rango",content:o.querySelector(".postprofile-rank").textContent});const l=o.querySelector(".postprofile-username a")?o.querySelector(".postprofile-username a").href:"Invitado"===r[forumConfig.profileOptions.profileRank].content?"/":FNR.user.getUrl(i);o.querySelector(".postprofile-contact").children.length&&[].forEach.call(o.querySelector(".postprofile-contact").children,e=>{let o,t,n,s=!1;if(e.querySelector("img"))switch(e.querySelector("img").src){case"https://2img.net/i/fa/prosilver/icon_contact_pm.png":s="Contactar",o="Enviar un mensaje privado a «"+i+"»",t=e.querySelector("a").href,n=forumConfig.profileUser.contactFields.mp;break;case"https://2img.net/i.imgur.com/LbaEYDr.png":s=forumConfig.profileOptions.profileLinks.firstLink,o="Ir a "+s+" de «"+i+"»",t=e.querySelector("a").href,n=forumConfig.profileUser.contactFields[FNR.utility.genSlug(s,"_")];break;case"https://2img.net/i.imgur.com/V9WL9zX.png":s=forumConfig.profileOptions.profileLinks.secondLink,o="Ir a "+s+" de «"+i+"»",t=e.querySelector("a").href,n=forumConfig.profileUser.contactFields[FNR.utility.genSlug(s,"_")];break;case"https://2img.net/i.imgur.com/LprMCaL.png":s=forumConfig.profileOptions.profileLinks.thirdLink,o="Ir a "+s+" de «"+i+"»",t=e.querySelector("a").href,n=forumConfig.profileUser.contactFields[FNR.utility.genSlug(s,"_")]}!1!==s&&(a[FNR.utility.genSlug(s,"_")]={name:s,title:o,content:t,icon:n})}),o.classList.add("usergroup-"+s),o.querySelector(".post-profile").innerHTML="",forumProfiles.push({username:i,avatar:n,group:s,profile:l,fields:r,contact:a});const c=o.querySelector(".post-profile"),d=o.querySelector(".header-side");let u;if(u="",u+='<a class="miniprofile-main" href="'+l+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+i+'»"><img src="'+n+'" alt="Avatar de «'+i+'»" /></a>',c.insertAdjacentHTML("beforeend",u),c.classList.add("profile-sticky"),void 0!==r[forumConfig.profileOptions.profileSignature]){u="",u+='<a class="miniprofile-signature" href="'+l+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+i+'»"><img class="is-avatar" src="'+n+'" alt="Avatar de «'+i+'»" /><img class="is-signature" src="'+r[forumConfig.profileOptions.profileSignature].content+'" alt="Firma de «'+i+'»" /></a>',d.insertAdjacentHTML("beforebegin",u),u="",u+='<div class="miniprofile-quote">'+r[forumConfig.profileOptions.profileCite].content+"</div>",d.insertAdjacentHTML("beforeend",u),u="",u+='<div class="miniprofile-name"></div>',d.insertAdjacentHTML("beforeend",u),u="";const e='<span class="is-hidden-tablet">'+Vue.filter("just-name")(i)+'</span><span class="is-hidden-mobile">'+i+"</span>";u+='<h3 class="is-tweakeable"><a class="is-measurable" href="'+l+'" title="Ir al '+(void 0===forumConfig.profileOptions.profileName?"perfil":forumConfig.profileOptions.profileName)+" de «"+i+'»">'+e+"</a></h3>",d.querySelector(".miniprofile-name").insertAdjacentHTML("beforeend",u);const o=r[forumConfig.profileOptions.profileRank].content;delete r[forumConfig.profileOptions.profileSignature],delete r[forumConfig.profileOptions.profileCite],delete r[forumConfig.profileOptions.profileRank],delete r.rango,Object.values(r).length&&(u="",u+='<ul class="miniprofile-fields">',u+='<li class="miniprofile-field miniprofile-field-rango">',u+="<strong>Rango</strong>"+o,u+="</li>",forumConfig.profileUser.miniFields.forEach(e=>{const o=r[e];u+='<li class="miniprofile-field miniprofile-field-'+FNR.utility.genSlug(o.name,"-")+'">',u+="<strong>"+o.name+"</strong>"+o.content,u+="</li>"}),u+="</ul>",d.insertAdjacentHTML("beforeend",u))}Object.values(a).length&&(u="",u+='<ul class="miniprofile-contacts">',Object.values(a).forEach(e=>{u+='<li class="miniprofile-contact miniprofile-contact-'+FNR.utility.genSlug(e.name,"-")+'">',u+='<a href="'+e.content+'" title="'+e.title+'">'+e.name+"</a>",u+="</li>"}),u+="</ul>",c.querySelector(".miniprofile-main").insertAdjacentHTML("afterend",u),d.querySelector(".miniprofile-name")&&d.insertAdjacentHTML("beforeend",u))})}),document.addEventListener("DOMContentLoaded",()=>{if("/login"===window.location.pathname&&document.querySelector('form[name="form_login"]')){let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Conectarse</a>',e+="</div>",e+="</div>",e+='<form action="/login" method="post" name="form_login" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Conectarse al foro"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Nombre de usuario</div>',e+='<div class="field-content"><input type="text" name="username" id="username" size="25" maxlength="40" value=""></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña</div>',e+='<div class="field-content"><input type="password" id="password" name="password" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element mt-5">',e+='<div id="checkbox-autologin" class="forum-checkbox">',e+='<div class="checkbox-content">',e+='<div class="checkbox-click">',e+='<i class="fas fa-check"></i>',e+="</div>",e+='<div class="checkbox-name">Iniciar sesión automáticamente</div>',e+="</div>",e+='<div class="checkbox-real">',e+='<input type="checkbox" id="autologin" name="autologin" checked="checked">',e+="</div>",e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="hidden" name="redirect" value="">',e+='<input type="hidden" name="query" value="">',e+='<input type="submit" name="login" value="Conectarse" class="button1 btn-main">',e+='<a class="button1" href="/profile?mode=sendpassword">Recuperar contraseña</a>',e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+='<p>Si aún no dispones de cuenta y estás interesado en unirte a nosotros puedes <a href="/register" title="Ir a «Registro»">registrarte</a> con suma facilidad, asimismo, te instamos a leerte nuestras <a href="'+forumConfig.usableDirections.norms+'" title="Ir a «Normativa»">normas</a> y <a href="'+forumConfig.usableDirections.lore+'" title="Ir a «Trasfondo»">trasfondo</a>.</p>',e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{if(!document.querySelector("#main-body .msg-element"))if("/profile"===window.location.pathname)switch(window.location.search){case"?mode=sendpassword":let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Recuperar contraseña</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Recuperar contraseña"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Nombre de usuario</div>',e+='<div class="field-content"><input type="text" name="username" value=""></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-correo">',e+='<div class="forum-field">',e+='<div class="field-name">Correo electrónico</div>',e+='<div class="field-content"><input type="text" name="email" value=""></div>',e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="submit" name="submit" value="Enviar" class="button2 btn-main">',e+='<input type="reset" name="reset" value="Reiniciar" class="button2">',e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+="<p>Tras pulsar el botón «Enviar» (si los datos son verídicos) recibirás un correo en tu cuenta con instrucciones sobre como reestablecer tu contraseña.</p>",e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e);break;default:if(window.location.search.indexOf("?change_password")>-1){document.querySelector('input[value="Registrar"]').classList.add("btn-main");let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Cambiar contraseña</a>',e+="</div>",e+="</div>",e+='<form action="/profile" enctype="multipart/form-data" method="post" name="post" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Cambiar contraseña"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-contrasena-actual">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña actual</div>',e+='<div class="field-content"><input type="password" name="cur_password" value=""></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-nueva-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Nueva contraseña</div>',e+='<div class="field-content"><input type="password" name="new_password" value="" class="inputbox" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-confirmar-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Confirmar contraseña</div>',e+='<div class="field-content"><input type="password" name="password_confirm" value="" class="inputbox" maxlength="25"><input type="hidden" name="change_password" value="change_password"></div>',e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+=document.querySelector("#ucp .submit-buttons").innerHTML,e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+="<p>Tras pulsar el botón «Registrar» (si los datos son verídicos) podrás cambiar tu contraseña. Recibirás un correo electrónico confirmando dicho cambio.</p>",e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e),document.querySelector('input[value="REINICIAR"]').value="Reiniciar"}else getForumNotSupportedPage()}else if("/profile.php"===window.location.pathname){document.querySelector('input[type="reset"]').removeAttribute("style"),document.querySelector('input[value="Registrar"]').classList.add("btn-main");let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Recuperar contraseña</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" id="login-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Recuperar contraseña"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña</div>',e+='<div class="field-content"><input type="password" id="password_reg" name="password" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-correo">',e+='<div class="forum-field">',e+='<div class="field-name">Confirmar contraseña</div>',e+='<div class="field-content"><input type="password" id="password_confirm" name="password_confirm" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+=document.querySelector(".submit-buttons").innerHTML,e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+="<p>Tras pulsar el botón «Registrar» (si las contraseñas coinciden) podrás entrar de nuevo al foro.</p>",e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{if("/register"===window.location.pathname)if(document.querySelector("form#ucp")){let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Registro</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" name="post" id="register-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Registro"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-nombre-de-usuario">',e+='<div class="forum-field">',e+='<div class="field-name">Nombre de usuario</div>',e+='<div class="field-content"><input type="text" id="username_reg" name="username" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-correo">',e+='<div class="forum-field">',e+='<div class="field-name">Correo electrónico</div>',e+='<div class="field-content"><input type="text" id="email" name="email" value="" size="25" maxlength="64"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Contraseña</div>',e+='<div class="field-content"><input type="password" id="password_reg" name="password" value="" size="25" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element mt-5">',e+='<div id="checkbox-wantnews" class="forum-checkbox">',e+='<div class="checkbox-content">',e+='<div class="checkbox-click">',e+='<i class="fas fa-check"></i>',e+="</div>",e+='<div class="checkbox-name">Acepto recibir noticias del foro</div>',e+="</div>",e+='<div class="checkbox-real">',e+='<input type="checkbox" id="wantsnews" name="wantsnews" value="1">',e+="</div>",e+="</div>",e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="submit" name="submit" value="Registrar" class="button2 btn-main">',e+='<input type="reset" name="reset" value="Reiniciar" class="button2">',e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+='<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="'+forumConfig.usableDirections.norms+'" title="Ir a «Normativa»">normas</a> y <a href="'+forumConfig.usableDirections.lore+'" title="Ir a «Trasfondo»">trasfondo</a>.</p>',e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+="</form>",e+="</section>",document.querySelector('p[style="color: red;"]')&&console.log(document.querySelector('p[style="color: red;"]').textContent),[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e),document.querySelector("#register-section").onsubmit=(e=>{let o=0;document.querySelector('input[name="username"]').value=document.querySelector('input[name="username"]').value.replace(/"/g,()=>(o++,o%2==0?"»":"«")).replace(/`/g,"'").replace(/´/g,"'")})}else if(document.querySelector("form#form_confirm")){document.querySelector('input[value="Registrar"]').classList.add("btn-main");let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Registro</a>',e+="</div>",e+="</div>",e+='<form action="" method="post" name="form_confirm" id="register-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader("Registro"),e+='<ul class="columns is-vcentered is-multiline is-two-columns-page">',e+='<li id="bloque-login" class="column is-full-touch is-first">',e+='<ul class="forum-fieldlist is-horizontal no-style">',e+='<li class="field-element field-confirmar-contrasena">',e+='<div class="forum-field">',e+='<div class="field-name">Confirmar contraseña</div>',e+='<div class="field-content"><input type="password" name="password_confirm" maxlength="25"></div>',e+="</div>",e+="</li>",e+='<li class="field-element field-cloudflare mb-0">',e+=document.querySelector(".fields2 > script").outerHTML,e+=document.querySelector(".fields2 > .cf-turnstile").outerHTML,e+="</li>",e+="</ul>",e+='<div id="usereply-comand">',e+='<input type="hidden" name="username" value="">',e+='<input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response-3">',e+='<input type="hidden" name="submit" value="1">',e+=document.querySelector('input[value="Registrar"]').parentElement.innerHTML,e+="</div>",e+="</li>",e+='<li id="bloque-info" class="column is-full-touch is-second">',e+='<div class="is-content">',e+='<h3 class="is-hidden-touch">¡Saludos!</h3>',e+='<hr class="is-hidden-touch"/>',e+='<p class="is-hidden-touch">'+forumData.desc+"</p>",e+='<p>Recuerda, antes de proceder, echar un vistazo a nuestras <a href="'+forumConfig.usableDirections.norms+'" title="Ir a «Normativa»">normas</a> y <a href="'+forumConfig.usableDirections.lore+'" title="Ir a «Trasfondo»">trasfondo</a>.</p>',e+='<p class="is-hidden-touch">Atte. Administración de <strong>'+forumData.name+"</strong>.</p>",e+="</div>",e+="</li>",e+="</ul>",e+="</section>",e+=document.querySelector("#form_confirm script").outerHTML,e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector('p[style="text-align:center"]')&&"Un nuevo mensaje ha sido añadido mientras escribías el tuyo. Puedes ver los últimos mensajes posteados abajo y decidir si quieres modificarlo o registrarlo."===document.querySelector('p[style="text-align:center"]').textContent){document.querySelector('form[action="/post"] .submit-buttons').remove();let e="";e+='<section id="forum-content" class="is-not-vue">',e+='<div class="to-process">',e+='<div id="breadcrumbs">',e+='<a href="#">Informaciones</a>',e+="</div>",e+="</div>",e+='<form action="/post" method="post" name="post" id="message-section" class="basic-element">',e+='<section class="generic-element">',e+=getForumHeader(),e+='<div class="msg-element is-content">',e+="<p>Un nuevo mensaje ha sido añadido mientras escribías el tuyo. Puedes decidir si quieres modificarlo o registrarlo.</p>",e+="<p><u><strong>Recuerda, si procedes e ibas a hacer una tirada, esta no se hará.</strong></u></p>",e+="</div>",e+='<div id="usereply-comand">',e+=document.querySelector('form[action="/post"]').innerHTML,e+='<input type="submit" name="prevent_post" value="Registrar" class="button1 btn-main">',e+='<input type="submit" name="prevent_modif" value="Modificar" class="button2">',e+="</div>",e+="</section>",e+="</form>",e+="</section>",[].forEach.call(document.querySelectorAll("#content-container > *:not(#forum-topbar)"),e=>{e.remove()}),document.querySelector("#content-container").insertAdjacentHTML("beforeend",e)}}),document.addEventListener("DOMContentLoaded",()=>{const e=["?search_id=draftsearch","?search_id=watchsearch"];e.forEach(e=>{window.location.search.indexOf(e)>-1&&getForumNotSupportedPage()})}),document.addEventListener("DOMContentLoaded",()=>{const e=["/gallery","/calendar","/faq","/contact","/abuse","/statistics","/privacy","/images","/discover","/search"];e.forEach(e=>{window.location.pathname.indexOf(e)>-1&&getForumNotSupportedPage()})}),document.addEventListener("DOMContentLoaded",()=>{if(document.querySelector("#mod-controls")&&document.querySelector("#mod-controls").children.length>0){const e=()=>{let e="";return e+='<li class="btn-element btn-gestionar">',e+='<div class="dropdown is-dropeable is-right">',e+='<div class="dropdown-trigger">',e+='<a targer="_blank" title="Gestionar" class="forum-button is-pointer" aria-haspopup="true" aria-controls="dropdown-menu">',e+='<span class="icon"><i class="fas fa-wrench"></i></span>',e+='<span class="text is-hidden-touch">Gestionar</span>',e+="</a>",e+="</div>",e+='<div class="dropdown-menu" role="menu">',e+='<div class="dropdown-content">',[].forEach.call(document.querySelector("#mod-controls").children,o=>{switch(o.querySelector("img")){case null:const t=o.textContent.match(/Dejar/)?"Dejar de vigilar tema":"Vigilar tema";e+='<a href="'+o.href+'" title="'+t+'" class="dropdown-item">'+t+"</a>";break;default:e+='<a href="'+o.href+'" title="'+o.querySelector("img").title+'" class="dropdown-item">'+o.querySelector("img").title+"</a>"}}),e+="</div>",e+="</div>",e+="</div>",e+="</li>",e};[].forEach.call(document.querySelectorAll(".page-buttons"),o=>{o.insertAdjacentHTML("afterbegin",e())})}}),document.addEventListener("DOMContentLoaded",()=>{const e=[{url:`${window.location.origin}/search?search_id=draftsearch`,substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`},{url:"/search?search_id=draftsearch",substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`},{url:`${window.location.origin}/search?search_id=topicdraftsearch`,substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`},{url:"/search?search_id=topicdraftsearch",substitute:`${forumConfig.usableDirections.ucp}#/bosquejos`}];e.forEach(e=>{const o=document.querySelectorAll(`a[href^="${e.url}"]`);[].forEach.call(o,o=>{o.href=e.substitute})})}),document.addEventListener("forumReady",()=>{document.querySelector("#g-recaptcha-response-3")&&"undefined"!=typeof captchaCheck&&(inputToken=document.querySelector("#g-recaptcha-response-3"),inputToken.closest("form").addEventListener("submit",captchaCheck))}),document.addEventListener("DOMContentLoaded",()=>{const e='<section id="forum-header">'+document.querySelector("#page-header").innerHTML+"</section>",o='<section id="extracredits-section" class="basic-element">'+document.querySelector("#page-afiliates").innerHTML+"</section>",t=document.querySelector("#forum-footer").outerHTML,i=document.querySelector("#forum-topbar .category-navegacion nav").outerHTML;document.querySelector("body>header").remove(),document.querySelector("footer").remove(),document.querySelector("#forum-footer").remove(),document.querySelector("#forum-topbar .category-navegacion").remove(),document.querySelector("#content-container").insertAdjacentHTML("afterbegin",e),document.querySelector("#content-container").insertAdjacentHTML("beforeend",t),document.querySelector("#forum-topbar").insertAdjacentHTML("beforebegin",i),document.querySelector("#forum-content .basic-element")?document.querySelector("#forum-content .basic-element").parentElement.insertAdjacentHTML("beforeend",o):document.querySelector("#forum-wiki .basic-element")&&document.querySelector("#forum-wiki .basic-element").parentElement.insertAdjacentHTML("beforeend",o)}),document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".forum-forum")&&[].forEach.call(document.querySelectorAll(".forum-forum"),e=>{e.querySelector(".forum-misc")&&e.querySelector(".forum-box")&&(e.querySelector(".forum-misc").insertAdjacentHTML("afterbegin",e.querySelector(".forum-box").outerHTML),e.querySelector(".forum-interior .forum-box").remove())})}),document.addEventListener("forumReady",()=>{document.querySelector(".forum-forum")&&[].forEach.call(document.querySelectorAll(".forum-forum"),e=>{if(e.querySelector(".forum-last .is-hidden-desktop > strong")&&(e.querySelector(".lastpost-name").insertAdjacentHTML("beforeend",e.querySelector(".forum-last .is-hidden-desktop > strong").outerHTML),e.querySelector(".lastpost-name > strong a"))){const o=e.querySelector(".lastpost-name > strong a").innerHTML,t=e.querySelector(".lastpost-name > strong").innerHTML.split(o);e.querySelector(".lastpost-name > strong").innerHTML=o,e.querySelector(".lastpost-user").outerHTML=`${t[0]}${e.querySelector(".lastpost-user").innerHTML}${t[1]}`,e.querySelector(".is-one-third > a").classList.add("lastpost-user")}if(e.querySelector(".forum-last .is-hidden-desktop .lastpost-link")){const o=e.querySelector(".forum-last .is-hidden-desktop .lastpost-link").outerHTML,t=e.querySelector(".forum-last .is-hidden-desktop").innerHTML.split("</strong>, ")[1];e.querySelector(".forum-last .is-hidden-touch").insertAdjacentHTML("beforeend",`${o}, ${t}`)}})}),document.addEventListener("forumReady",()=>{document.querySelector("body")&&forumConfig.skinOptions.monochromeImages&&document.querySelectorAll("body").classList.add("is-monochrome")}),document.addEventListener("forumReady",()=>{"/"!==window.location.pathname&&document.querySelector("#forum-topbar")&&forumConfig.skinOptions.hideTopbar&&document.querySelector("#forum-topbar").remove()});
|