skin-dt-32 0.3.6 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/config/vueComponents.js
CHANGED
|
@@ -258,7 +258,7 @@ Vue.component('navbar-foro', {
|
|
|
258
258
|
</li>
|
|
259
259
|
<template v-if="multiAccount.status">
|
|
260
260
|
<li class="navbar-item">
|
|
261
|
-
<select v-model="multiAccount.position" @change="changeAccount()" @click="$event.stopPropagation()">
|
|
261
|
+
<select title="Cambiar de cuenta" v-model="multiAccount.position" @change="changeAccount()" @click="$event.stopPropagation()">
|
|
262
262
|
<option value="-1" hidden selected>Selec. personaje</option>
|
|
263
263
|
<option v-for="(account, index) in multiAccount.accounts" :value="index">{{ account.name }}</option>
|
|
264
264
|
</select>
|
|
@@ -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.getElementById("i_icon_mini_new_message")&&null!==document.getElementById("i_icon_mini_new_message").title.match(/[0-255]/)&&(this.userMP=parseInt(document.getElementById("i_icon_mini_new_message").title.match(/[0-255]/)[0])),this.userOut=document.getElementById("logout").href)},template:'\n <div class="main-body">\n <template v-if="userId !== -1">\n <a :href="\'/u\' + userId" :title="\'Ir a tu \' + profileName" class="top">\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="top">\n <span>Invitado</span>\n </a>\n </template>\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 <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" 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 <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 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-author">{{ lastpost }}</div>\n <div class="topic-extra">\n <div class="topic-repliesandviews">\n {{ replies }}\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 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 regular-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="for-afis" class="column is-two-thirds is-full-touch">\n <ul class="columns is-gapless is-multiline">\n <li id="for-afis-sis" class="column is-full afi-collection">\n <h3 class="section-title">Hermanas</h3>\n <ul v-html="afis.sister" class="no-style"></ul>\n </li>\n <li id="for-afis-nosis" class="column is-full">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-two-thirds is-full-touch afi-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 afi-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="for-afis-norm" 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="for-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 Frameworks.</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 '}),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}),
|
|
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">\n <template v-if="userId !== -1">\n <a :href="\'/u\' + userId" :title="\'Ir a tu \' + profileName" class="top">\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="top">\n <span>Invitado</span>\n </a>\n </template>\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 <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" 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 <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-author">{{ lastpost }}</div>\n <div class="topic-extra">\n <div class="topic-repliesandviews">\n {{ replies }}\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 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 regular-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="for-afis" class="column is-two-thirds is-full-touch">\n <ul class="columns is-gapless is-multiline">\n <li id="for-afis-sis" class="column is-full afi-collection">\n <h3 class="section-title">Hermanas</h3>\n <ul v-html="afis.sister" class="no-style"></ul>\n </li>\n <li id="for-afis-nosis" class="column is-full">\n <ul class="columns is-gapless is-multiline">\n <li class="column is-two-thirds is-full-touch afi-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 afi-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="for-afis-norm" 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="for-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 Frameworks.</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 '}),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}),
|
|
2
2
|
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 al 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 '});
|