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.
@@ -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" target="_blank" title="Ir al «Panel de Usuario»">
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" target="_blank" title="Ir al «Panel de Usuario»">
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" target="_blank" title="Ir al «Panel de Administrador»">
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" target="_blank" :title="title">
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" 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>
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" target="_blank" :title="'Ir al último mensaje del tema «' + info.name + '»'">
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" target="_blank" :title="'Ir al tema «' + info.name + '»'"><span>{{ info.name }}</span></a>
814
- <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>
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»" 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>
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" target="_blank" :title="'Ir a «' + platform.name + '»'"><em :class="platform.icon"></em> {{ platform.name }}</a>
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 target="_blank" :href="link.url" :title="'Ir a «' + link.name + '»'" v-for="link in links">{{ link.name }}</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 target="_blank" :href="announcement.url" :title="'Ir al anuncio «' + announcement.name + '»'" class="anmt-element">
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" target="_blank" :title="content.desc"></a>
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
- }),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:()=>({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 target="_blank" :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 target="_blank" :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" target="_blank" :title="content.desc"></a>\n '});
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 + '" target="_blank" title="Ir al ' + (forumConfig.profileOptions.profileName === undefined ? 'perfil' : forumConfig.profileOptions.profileName) + ' de «' + userName + '»"><img src="' + userAvatar + '" alt="Avatar de «' + userName + '»" /></a>';
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 + '" target="_blank" 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>';
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 + '" target="_blank" title="Ir al ' + (forumConfig.profileOptions.profileName === undefined ? 'perfil' : forumConfig.profileOptions.profileName) + ' de «' + userName + '»">' + versionedName + '</a></h3>';
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»" 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>';
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»" target="_blank">normas</a> y <a href="' + forumConfig.usableDirections.lore + '" title="Ir a «Trasfondo»" target="_blank">trasfondo</a>.</p>';
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»" target="_blank">normas</a> y <a href="' + forumConfig.usableDirections.lore + '" title="Ir a «Trasfondo»" target="_blank">trasfondo</a>.</p>';
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()});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skin-dt-32",
3
- "version": "0.6.2",
3
+ "version": "0.7.0",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "author": "Gaylien",