generic-skin 2.5.3 → 3.0.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.
@@ -9,7 +9,7 @@ Vue.component('categoria-foro', {
9
9
  }
10
10
  },
11
11
  template: `
12
- <section :class="'category-element ' + slugName">
12
+ <section v-bind:class="'category-element ' + slugName">
13
13
  <slot></slot>
14
14
  </section>
15
15
  `
@@ -23,7 +23,7 @@ Vue.component('cabecera-foro', {
23
23
  },
24
24
  template: `
25
25
  <div class="forum-head regular-head">
26
- <titulo-especial :data-title="dataTitle"></titulo-especial>
26
+ <titulo-especial v-bind:data-title="dataTitle"></titulo-especial>
27
27
  </div>
28
28
  `
29
29
  });
@@ -36,7 +36,7 @@ Vue.component('cabcategoria-foro', {
36
36
  },
37
37
  template: `
38
38
  <div class="forum-head category-head">
39
- <titulo-especial :data-title="dataTitle"></titulo-especial>
39
+ <titulo-especial v-bind:data-title="dataTitle"></titulo-especial>
40
40
  </div>
41
41
  `
42
42
  });
@@ -49,7 +49,7 @@ Vue.component('cabespecial-foro', {
49
49
  },
50
50
  template: `
51
51
  <div class="forum-head special-head">
52
- <titulo-especial :data-title="dataTitle"></titulo-especial>
52
+ <titulo-especial v-bind:data-title="dataTitle"></titulo-especial>
53
53
  </div>
54
54
  `
55
55
  });
@@ -75,7 +75,7 @@ Vue.component('subforo-foro', {
75
75
  }
76
76
  },
77
77
  template: `
78
- <section :class="'subforum-element ' + slugId + ' ' + slugName">
78
+ <section v-bind:class="'subforum-element ' + slugId + ' ' + slugName">
79
79
  <slot></slot>
80
80
  </section>
81
81
  `
@@ -91,7 +91,7 @@ Vue.component('lista-temas-cabecera', {
91
91
  template: `
92
92
  <ul class="topiclist-header no-style">
93
93
  <li v-for="element in elementos">
94
- <titulo-especial :data-title="element"></titulo-especial>
94
+ <titulo-especial v-bind:data-title="element"></titulo-especial>
95
95
  </li>
96
96
  </ul>
97
97
  `
@@ -117,7 +117,7 @@ Vue.component('tema-foro', {
117
117
  }
118
118
  },
119
119
  template: `
120
- <section :class="'topic-element ' + slugId + ' ' + slugName">
120
+ <section v-bind:class="'topic-element ' + slugId + ' ' + slugName">
121
121
  <slot></slot>
122
122
  </section>
123
123
  `
@@ -142,7 +142,7 @@ Vue.component('mando-foro', {
142
142
  });
143
143
  },
144
144
  template: `
145
- <section :id="dataId" :class="isStatusClass">
145
+ <section v-bind:id="dataId" v-bind:class="isStatusClass">
146
146
  <template v-if="dataApp === 'true'">
147
147
  <div class="left page-pagination">
148
148
  <slot name="pagination"></slot>
@@ -186,7 +186,7 @@ Vue.component('cuerpo-widget', {
186
186
  },
187
187
  template: `
188
188
  <div class="plank-content">
189
- <div :class="currentClass">
189
+ <div v-bind:class="currentClass">
190
190
  <slot></slot>
191
191
  </div>
192
192
  </div>
@@ -202,7 +202,7 @@ Vue.component('separador-foro', {
202
202
  },
203
203
  template: `
204
204
  <section class="forumseparator-element">
205
- <img :src="image" />
205
+ <img v-bind:src="image" />
206
206
  </section>
207
207
  `
208
208
  });
@@ -221,12 +221,12 @@ Vue.component('tema-ref', {
221
221
  },
222
222
  template: `
223
223
  <div class="ltopic-element">
224
- <a class="ltopic-last" :href="dataInfo.lastpost.url" target="_blank" :title="'Ir al último mensaje del tema «' + dataInfo.name + '»'">
224
+ <a class="ltopic-last" v-bind:href="dataInfo.lastpost.url" target="_blank" v-bind:title="'Ir al último mensaje del tema «' + dataInfo.name + '»'">
225
225
  <i class="fas fa-link"></i>
226
226
  </a>
227
227
  <div class="ltopic-data">
228
- <a class="ltopic-title" :href="dataInfo.url" target="_blank" :title="'Ir al tema «' + dataInfo.name + '»'">{{ dataInfo.name }}</a>
229
- <small class="ltopic-info"><a :href="dataInfo.lastpost.who.url" target="_blank" :style="userColor" :title="'Ir al ' + profileName + ' de «' + dataInfo.lastpost.who.name + '»'">{{ dataInfo.lastpost.who.name | just-name }}</a>, {{ dataInfo.lastpost.date }} en <a :href="dataInfo.forum.url" target="_blank" :title="'Ir al subforo «' + dataInfo.forum.name + '»'">{{ dataInfo.forum.name }}</a></small>
228
+ <a class="ltopic-title" v-bind:href="dataInfo.url" target="_blank" v-bind:title="'Ir al tema «' + dataInfo.name + '»'">{{ dataInfo.name }}</a>
229
+ <small class="ltopic-info"><a v-bind:href="dataInfo.lastpost.who.url" target="_blank" v-bind:style="userColor" v-bind:title="'Ir al ' + profileName + ' de «' + dataInfo.lastpost.who.name + '»'">{{ dataInfo.lastpost.who.name | just-name }}</a>, {{ dataInfo.lastpost.date }} en <a v-bind:href="dataInfo.forum.url" target="_blank" v-bind:title="'Ir al subforo «' + dataInfo.forum.name + '»'">{{ dataInfo.forum.name }}</a></small>
230
230
  </div>
231
231
  </div>
232
232
  `
@@ -272,11 +272,11 @@ Vue.component('boton-foro', {
272
272
  classList.add('btn-' + FNR.utility.genSlug(this.dataName, '-'));
273
273
  },
274
274
  template: `
275
- <a :href="realUrl" targer="_blank" :class="realClass" :title="dataName">
275
+ <a v-bind:href="realUrl" targer="_blank" v-bind:class="realClass" v-bind:title="dataName">
276
276
  <span class="icon">
277
- <i :class="dataIcon"></i>
277
+ <i v-bind:class="dataIcon"></i>
278
278
  </span>
279
- <span :class="realName">{{ dataName }}</span>
279
+ <span v-bind:class="realName">{{ dataName }}</span>
280
280
  <span v-if="dataInput === 'true'" class="input-real">
281
281
  <slot name="input"></slot>
282
282
  </span>
@@ -365,15 +365,15 @@ Vue.component('controles-foro', {
365
365
  </nav>
366
366
  <nav class="right">
367
367
  <section id="forum-navbar-desktop" class="is-hidden-touch">
368
- <navbar-foro :data-username="userName" :data-userlevel="userLevel" :data-userid="userId" :data-userlog="userLog" :data-usermp="userMP" :data-userout="userOut" />
368
+ <navbar-foro v-bind:data-username="userName" v-bind:data-userlevel="userLevel" v-bind:data-userid="userId" v-bind:data-userlog="userLog" v-bind:data-usermp="userMP" v-bind:data-userout="userOut" />
369
369
  </section>
370
370
  <section id="forum-navbar-mobile" class="is-hidden-desktop">
371
371
  <div id="hmg-button" v-on:click="turnActive()" class="is-pointer">
372
372
  <i class="fas fa-bars"></i>
373
373
  </div>
374
- <div id="hmg-menu" :class="isActiveClass">
374
+ <div id="hmg-menu" v-bind:class="isActiveClass">
375
375
  <h3>{{ userName | just-name }}<i class="fas fa-times is-pointer" v-on:click="turnActive()"></i></h3>
376
- <navbar-foro :data-username="userName" :data-userlevel="userLevel" :data-userid="userId" :data-userlog="userLog" :data-usermp="userMP" :data-userout="userOut" />
376
+ <navbar-foro v-bind:data-username="userName" v-bind:data-userlevel="userLevel" v-bind:data-userid="userId" v-bind:data-userlog="userLog" v-bind:data-usermp="userMP" v-bind:data-userout="userOut" />
377
377
  </div>
378
378
  <div class="bg-active" v-on:click="turnActive()"></div>
379
379
  </section>
@@ -439,7 +439,7 @@ Vue.component('navbar-foro', {
439
439
  });
440
440
  },
441
441
  template: `
442
- <ul :class="isStatusClass">
442
+ <ul v-bind:class="isStatusClass">
443
443
  <template v-if="!dataUserlog">
444
444
  <li class="navbar-item">
445
445
  <a href="/register" title="Registrarse en el foro">
@@ -460,17 +460,17 @@ Vue.component('navbar-foro', {
460
460
  </template>
461
461
  <template v-else>
462
462
  <li class="navbar-item is-hidden-desktop" v-for="link in links">
463
- <a :href="link.url" :title="'Ir a «' + link.name + '»'">
463
+ <a v-bind:href="link.url" v-bind:title="'Ir a «' + link.name + '»'">
464
464
  <div class="icon">
465
- <i :class="link.icon"></i>
465
+ <i v-bind:class="link.icon"></i>
466
466
  </div>
467
467
  <div class="text">{{ link.name }}</div>
468
468
  </a>
469
469
  </li>
470
470
  <li class="navbar-item" v-for="item in items">
471
- <a :href="item.url" :title="'Ir a «' + item.name + '»'">
471
+ <a v-bind:href="item.url" v-bind:title="'Ir a «' + item.name + '»'">
472
472
  <div class="icon">
473
- <i :class="item.icon"></i>
473
+ <i v-bind:class="item.icon"></i>
474
474
  </div>
475
475
  <div class="text">{{ item.name }}</div>
476
476
  </a>
@@ -499,13 +499,13 @@ Vue.component('navbar-foro', {
499
499
  <div class="text">Panel Administrador</div>
500
500
  </a>
501
501
  </template>
502
- <a class="navbar-item" :href="directions.ucp" target="_blank" title="Ir al «Panel de Usuario»">
502
+ <a class="navbar-item" v-bind:href="directions.ucp" target="_blank" title="Ir al «Panel de Usuario»">
503
503
  <div class="icon">
504
504
  <i class="fas fa-sliders-h"></i>
505
505
  </div>
506
506
  <div class="text">Panel Usuario</div>
507
507
  </a>
508
- <a class="navbar-item" :href="'/u' + dataUserid" :title="'Ir a tu ' + profileName">
508
+ <a class="navbar-item" v-bind:href="'/u' + dataUserid" v-bind:title="'Ir a tu ' + profileName">
509
509
  <div class="icon">
510
510
  <i class="far fa-id-card"></i>
511
511
  </div>
@@ -517,7 +517,7 @@ Vue.component('navbar-foro', {
517
517
  </div>
518
518
  <div class="text">Temas personales</div>
519
519
  </a>
520
- <a class="navbar-item" :href="dataUserout">
520
+ <a class="navbar-item" v-bind:href="dataUserout">
521
521
  <div class="icon">
522
522
  <i class="fas fa-sign-out-alt"></i>
523
523
  </div>
@@ -528,7 +528,7 @@ Vue.component('navbar-foro', {
528
528
  <div class="select-container">
529
529
  <select v-model="multiAccount.position" v-on:change="changeAccount()" v-on:click="$event.stopPropagation()">
530
530
  <option value="-1" hidden selected>Selec. personaje</option>
531
- <option v-for="(account, index) in multiAccount.accounts" :value="index">{{ account.name }}</option>
531
+ <option v-for="(account, index) in multiAccount.accounts" v-bind:value="index">{{ account.name }}</option>
532
532
  </select>
533
533
  </div>
534
534
  </template>
@@ -548,7 +548,7 @@ Vue.component('links-ayuda', {
548
548
  },
549
549
  template: `
550
550
  <div class="columns is-multiline is-gapless is-vcentered">
551
- <a target="_blank" :href="link.url" :title="'Ir a «' + link.name + '»'" class="column" v-for="link in links">{{ link.name }}</a>
551
+ <a target="_blank" v-bind:href="link.url" v-bind:title="'Ir a «' + link.name + '»'" class="column" v-for="link in links">{{ link.name }}</a>
552
552
  </div>
553
553
  `
554
554
  });
@@ -562,7 +562,7 @@ Vue.component('links-anuncios', {
562
562
  template: `
563
563
  <div id="anmt-main">
564
564
  <template v-for="(announcement, index) in announcements">
565
- <a target="_blank" :href="announcement.url" :title="'Ir al anuncio «' + announcement.name + '»'" class="anmt-element"><span class="anmt-title">{{ announcement.name }}</span><span class="anmt-date">{{ announcement.date }}</span></a>
565
+ <a target="_blank" v-bind:href="announcement.url" v-bind:title="'Ir al anuncio «' + announcement.name + '»'" class="anmt-element"><span class="anmt-title">{{ announcement.name }}</span><span class="anmt-date">{{ announcement.date }}</span></a>
566
566
  <div class="anmt-sep" v-if="(announcements.length - 1) !== index"></div>
567
567
  </template>
568
568
  </div>
@@ -577,7 +577,7 @@ Vue.component('links-staff', {
577
577
  },
578
578
  template: `
579
579
  <div id="admin-main">
580
- <a target="_blank" :href="admin.url" class="admin-element" :style="'background-image: url(' + admin.avatar + ')'" :title="admin.title" v-for="admin in staff"><span class="admin-name">{{ admin.name }}</span><span class="admin-desc">{{ admin.desc }}</span></a>
580
+ <a target="_blank" v-bind:href="admin.url" class="admin-element" v-bind:style="'background-image: url(' + admin.avatar + ')'" v-bind:title="admin.title" v-for="admin in staff"><span class="admin-name">{{ admin.name }}</span><span class="admin-desc">{{ admin.desc }}</span></a>
581
581
  </div>
582
582
  `
583
583
  });
@@ -585,45 +585,41 @@ Vue.component('links-staff', {
585
585
  Vue.component('sabias-que', {
586
586
  data: function () {
587
587
  return {
588
- content: forumContent.sq,
589
- position: forumContent.sq[Math.floor(Math.random() * forumContent.sq.length)]
590
- }
591
- },
592
- computed: {
593
- current: function () {
594
- return this.content[this.position];
588
+ content: {}
595
589
  }
596
590
  },
597
591
  created() {
592
+ const sq = forumContent.sq;
593
+
594
+ this.content = sq[Math.floor(Math.random() * sq.length)];
595
+
598
596
  setInterval(() => {
599
- this.position = this.content[Math.floor(Math.random() * this.content.length)];
597
+ this.content = sq[Math.floor(Math.random() * sq.length)];
600
598
  }, 12000);
601
599
  },
602
600
  template: `
603
- <img id="sq-img" :src="current" alt="¿Sabías que?" />
601
+ <img id="sq-img" v-bind:src="current" alt="¿Sabías que?" />
604
602
  `
605
603
  });
606
604
 
607
605
  Vue.component('busquedas', {
608
606
  data: function () {
609
607
  return {
610
- content: forumContent.searches,
611
- position: forumContent.searches[Math.floor(Math.random() * forumContent.searches.length)]
612
- }
613
- },
614
- computed: {
615
- current: function () {
616
- return this.content[this.position];
608
+ content: {}
617
609
  }
618
610
  },
619
611
  created() {
612
+ const search = forumContent.searches;
613
+
614
+ this.content = search[Math.floor(Math.random() * search.length)];
615
+
620
616
  setInterval(() => {
621
- this.position = this.content[Math.floor(Math.random() * this.content.length)];
617
+ this.content = search[Math.floor(Math.random() * search.length)];
622
618
  }, 16000);
623
619
  },
624
620
  template: `
625
- <a id="search-img" :href="current.url" target="_blank" :title="current.desc">
626
- <img :src="current.img" alt="Búsqueda" />
621
+ <a id="search-img" v-bind:href="current.url" target="_blank" v-bind:title="current.desc">
622
+ <img v-bind:src="current.img" alt="Búsqueda" />
627
623
  </a>
628
624
  `
629
625
  });
@@ -685,8 +681,8 @@ Vue.component('wiki-index-items-d', {
685
681
  <ul>
686
682
  <li v-for="content in dataContent">
687
683
  <div class="wiki-controls">
688
- <router-link :to="content.id" v-if="!content.children.length" :title="'Ir al artículo de «' + content.name + '»'">{{ content.name }}</router-link>
689
- <a class="wiki-cascade" :title="'Desplegar categoría de «' + content.name + '»'" v-else>
684
+ <router-link v-bind:to="content.id" v-if="!content.children.length" v-bind:title="'Ir al artículo de «' + content.name + '»'">{{ content.name }}</router-link>
685
+ <a class="wiki-cascade" v-bind:title="'Desplegar categoría de «' + content.name + '»'" v-else>
690
686
  <span class="text">{{ content.name }}</span>
691
687
  <span class="icon">
692
688
  <i class="fas fa-plus"></i>
@@ -694,7 +690,7 @@ Vue.component('wiki-index-items-d', {
694
690
  </span>
695
691
  </a>
696
692
  </div>
697
- <wiki-index-items-d v-if="content.children.length" :data-content="content.children"></wiki-index-items-d>
693
+ <wiki-index-items-d v-if="content.children.length" v-bind:data-content="content.children"></wiki-index-items-d>
698
694
  </li>
699
695
  </ul>
700
696
  `
@@ -736,37 +732,37 @@ Vue.component('wiki-index', {
736
732
  <aside class="wiki-index is-content profile-sticky">
737
733
  <div class="is-hidden-touch">
738
734
  <h3>Contenido</h3>
739
- <wiki-index-items-d :data-content="indexContent"></wiki-index-items-d>
735
+ <wiki-index-items-d v-bind:data-content="indexContent"></wiki-index-items-d>
740
736
  </div>
741
737
  <div class="select-container is-hidden-desktop">
742
738
  <select>
743
739
  <option value="-1" hidden selected>Contenido</option>
744
740
  <template v-for="content in indexContent">
745
741
  <template v-if="content.children.length">
746
- <option :value="content.id" disabled >— {{ content.name }}</option>
742
+ <option v-bind:value="content.id" disabled >— {{ content.name }}</option>
747
743
  <template v-for="content in content.children">
748
744
  <template v-if="content.children.length">
749
- <option :value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
745
+ <option v-bind:value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
750
746
  <template v-for="content in content.children">
751
747
  <template v-if="content.children.length">
752
- <option :value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
748
+ <option v-bind:value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
753
749
  <template v-for="content in content.children">
754
750
  <template v-if="content.children.length">
755
- <option :value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
751
+ <option v-bind:value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
756
752
  <template v-for="content in content.children">
757
- <option :value="content.id">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
753
+ <option v-bind:value="content.id">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
758
754
  </template>
759
755
  </template>
760
- <option :value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
756
+ <option v-bind:value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
761
757
  </template>
762
758
  </template>
763
- <option :value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
759
+ <option v-bind:value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
764
760
  </template>
765
761
  </template>
766
- <option :value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
762
+ <option v-bind:value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>
767
763
  </template>
768
764
  </template>
769
- <option :value="content.id" v-else >— {{ content.name }}</option>
765
+ <option v-bind:value="content.id" v-else >— {{ content.name }}</option>
770
766
  </template>
771
767
  </select>
772
768
  </div>
@@ -823,9 +819,9 @@ Vue.component('wiki-nav', {
823
819
  template: `
824
820
  <div class="wiki-nav" v-if="more">
825
821
  <h2>Navegación</h2>
826
- <template v-if="nav.prev !== false">* <router-link :to="nav.prev.path" :title="'Ir al artículo «' + nav.prev.component.page_name + '»'">Página anterior: {{ nav.prev.component.page_name }}</router-link></template>
822
+ <template v-if="nav.prev !== false">* <router-link v-bind:to="nav.prev.path" v-bind:title="'Ir al artículo «' + nav.prev.component.page_name + '»'">Página anterior: {{ nav.prev.component.page_name }}</router-link></template>
827
823
  <br v-if="nav.prev !== false && nav.next !== false"/>
828
- <template v-if="nav.next !== false">* <router-link :to="nav.next.path" :title="'Ir al artículo «' + nav.next.component.page_name + '»'">Página siguiente: {{ nav.next.component.page_name }}</router-link></template>
824
+ <template v-if="nav.next !== false">* <router-link v-bind:to="nav.next.path" v-bind:title="'Ir al artículo «' + nav.next.component.page_name + '»'">Página siguiente: {{ nav.next.component.page_name }}</router-link></template>
829
825
  </div>
830
826
  `
831
827
  });
@@ -844,7 +840,7 @@ Vue.component('wiki-children', {
844
840
  template: `
845
841
  <div class="wiki-nav" v-if="nav.length > 0">
846
842
  <h2>{{ dataName }}</h2>
847
- <template v-for="route in nav">* <router-link :to="route.path" :title="'Ir al artículo «' + route.component.page_name + '»'">{{ route.component.page_name }}</router-link><br/></template>
843
+ <template v-for="route in nav">* <router-link v-bind:to="route.path" v-bind:title="'Ir al artículo «' + route.component.page_name + '»'">{{ route.component.page_name }}</router-link><br/></template>
848
844
  </div>
849
845
  `
850
846
  });
@@ -1043,7 +1039,7 @@ Vue.component('expediente-usuario', {
1043
1039
  template: `
1044
1040
  <section class="profile-element">
1045
1041
  <cabespecial-foro><template slot="title">Perfil de {{ profile.name }}</template></cabespecial-foro>
1046
- <section :class="currentClass">
1042
+ <section v-bind:class="currentClass">
1047
1043
  <section id="profile-head">
1048
1044
  <div id="profile-minifields" class="profile-container is-align-items-flex-start wiki-index is-content has-text-left" v-if="lengthBigFields">
1049
1045
  <h3>Contenido</h3>
@@ -1066,18 +1062,18 @@ Vue.component('expediente-usuario', {
1066
1062
  </ul>
1067
1063
  </div>
1068
1064
  <ul id="profile-minifields" class="profile-container is-align-items-center wiki-index is-content" v-else>
1069
- <li :id="'profile-minifield-' + field.id" v-for="field in usableMiniFields" class="minifield-element">
1065
+ <li v-bind:id="'profile-minifield-' + field.id" v-for="field in usableMiniFields" class="minifield-element">
1070
1066
  <span class="minifield-label">{{ field.title }}</span>
1071
1067
  <span class="minifield-content">{{ field.content }}</span>
1072
1068
  </li>
1073
1069
  </ul>
1074
- <div id="profile-userinfo" :style="'background-image: url(' + userCover + ');'">
1070
+ <div id="profile-userinfo" v-bind:style="'background-image: url(' + userCover + ');'">
1075
1071
  <div id="profile-userdata">
1076
1072
  <div id="profile-rank">{{ userRank }}</div>
1077
1073
  <div id="profile-username">{{ profile.name }}</div>
1078
1074
  </div>
1079
1075
  <div id="profile-usergest" v-if="Object.keys(profile.admin).length">
1080
- <a :href="profile.admin.admin" :title="'Administrar a «' + profile.name + '»'" target="_blank">Administrar</a> / <a :href="profile.admin.ban" :title="'Banear a «' + profile.name + '»'" target="_blank">Banear</a>
1076
+ <a v-bind:href="profile.admin.admin" v-bind:title="'Administrar a «' + profile.name + '»'" target="_blank">Administrar</a> / <a v-bind:href="profile.admin.ban" v-bind:title="'Banear a «' + profile.name + '»'" target="_blank">Banear</a>
1081
1077
  </div>
1082
1078
  </div>
1083
1079
  </section>
@@ -1093,27 +1089,27 @@ Vue.component('expediente-usuario', {
1093
1089
  <div class="column is-half is-half-mobile">
1094
1090
  <ul class="profile-links">
1095
1091
  <li>
1096
- <a :href="profile.links.posts" :title="'Mensajes de «' + profile.name + '»'" target="_blank">
1097
- <i :class="config.contactFields.mensajes"></i> Mensajes
1092
+ <a v-bind:href="profile.links.posts" v-bind:title="'Mensajes de «' + profile.name + '»'" target="_blank">
1093
+ <i v-bind:class="config.contactFields.mensajes"></i> Mensajes
1098
1094
  </a>
1099
1095
  </li>
1100
1096
  <li>
1101
- <a :href="profile.links.topics" :title="'Temas de «' + profile.name + '»'" target="_blank">
1102
- <i :class="config.contactFields.temas"></i> Temas
1097
+ <a v-bind:href="profile.links.topics" v-bind:title="'Temas de «' + profile.name + '»'" target="_blank">
1098
+ <i v-bind:class="config.contactFields.temas"></i> Temas
1103
1099
  </a>
1104
1100
  </li>
1105
1101
  <li v-if="profile.contact.mensaje_privado !== undefined">
1106
- <a :href="profile.contact.mensaje_privado.content" :title="'Enviar un mensaje privado a «' + profile.name + '»'" target="_blank">
1107
- <i :class="config.contactFields.mp"></i> Mensaje Privado
1102
+ <a v-bind:href="profile.contact.mensaje_privado.content" v-bind:title="'Enviar un mensaje privado a «' + profile.name + '»'" target="_blank">
1103
+ <i v-bind:class="config.contactFields.mp"></i> Mensaje Privado
1108
1104
  </a>
1109
1105
  </li>
1110
1106
  </ul>
1111
1107
  </div>
1112
1108
  <div class="column is-half is-half-mobile">
1113
1109
  <ul class="profile-links">
1114
- <li :id="'profile-link-' + field.id" v-for="field in usableLinkFields">
1115
- <a :href="field.url" :title="field.desc" target="_blank">
1116
- <i :class="field.icon"></i> {{ field.title }}
1110
+ <li v-bind:id="'profile-link-' + field.id" v-for="field in usableLinkFields">
1111
+ <a v-bind:href="field.url" v-bind:title="field.desc" target="_blank">
1112
+ <i v-bind:class="field.icon"></i> {{ field.title }}
1117
1113
  </a>
1118
1114
  </li>
1119
1115
  </ul>
@@ -1127,14 +1123,14 @@ Vue.component('expediente-usuario', {
1127
1123
  <aside id="profile-infominifields" class="wiki-index profile-sticky">
1128
1124
  <h3>Datos básicos</h3>
1129
1125
  <ul class="p-0">
1130
- <li :id="'profile-minifield-' + field.id" v-for="field in usableMiniFields" class="minifield-element">
1126
+ <li v-bind:id="'profile-minifield-' + field.id" v-for="field in usableMiniFields" class="minifield-element">
1131
1127
  <span class="minifield-label">{{ field.title }}</span>
1132
1128
  <span class="minifield-content">{{ field.content }}</span>
1133
1129
  </li>
1134
1130
  </ul>
1135
1131
  </aside>
1136
1132
  <ul id="profile-infofields">
1137
- <li :id="'profile-field-' + field.id" class="profilefield-element" v-for="field in usableBigFields" v-if="field.content.length">
1133
+ <li v-bind:id="'profile-field-' + field.id" class="profilefield-element" v-for="field in usableBigFields" v-if="field.content.length">
1138
1134
  <div class="field-head">
1139
1135
  <h4>{{ field.title }}</h4>
1140
1136
  <h6>{{ field.subtitle }}</h6>
@@ -1149,7 +1145,7 @@ Vue.component('expediente-usuario', {
1149
1145
  <span>Extras</span>
1150
1146
  </div>
1151
1147
  <ul class="profile-container profile-extra-space">
1152
- <li :id="'profile-extrafield-' + field.id" class="extrafield-element" v-for="field in usableExtraFields" v-if="field.content.length">
1148
+ <li v-bind:id="'profile-extrafield-' + field.id" class="extrafield-element" v-for="field in usableExtraFields" v-if="field.content.length">
1153
1149
  <div class="extrafield-head">
1154
1150
  <h4>{{ field.title }}</h4>
1155
1151
  </div>
@@ -1169,7 +1165,7 @@ Vue.component('expediente-usuario', {
1169
1165
  </div>
1170
1166
  <ul id="chronology-element" class="is-two-columns-list">
1171
1167
  <template v-for="element in chronologyField">
1172
- <elemento-cronologia :data-element="element" data-type="profile" />
1168
+ <elemento-cronologia v-bind:data-element="element" data-type="profile" />
1173
1169
  </template>
1174
1170
  </ul>
1175
1171
  </li>
@@ -1179,7 +1175,7 @@ Vue.component('expediente-usuario', {
1179
1175
  </div>
1180
1176
  <ul id="relationships-element" class="is-two-columns-list">
1181
1177
  <template v-for="element in relationshipsField">
1182
- <elemento-relaciones :data-element="element" data-type="profile" />
1178
+ <elemento-relaciones v-bind:data-element="element" data-type="profile" />
1183
1179
  </template>
1184
1180
  </ul>
1185
1181
  </li>
@@ -1,2 +1,2 @@
1
- Vue.component("categoria-foro",{props:["dataId"],computed:{slugName:function(){const n=this.dataId.indexOf("<h2>")>-1?FNR.utility.genSlug(this.dataId.split("<h2>")[1].split("</h2>")[0],"-"):FNR.utility.genSlug(this.dataId,"-");return"category-"+n}},template:"\n <section :class=\"'category-element ' + slugName\">\n \t\t<slot></slot>\n </section>\n "}),Vue.component("cabecera-foro",{data:function(){return{dataTitle:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},template:'\n <div class="forum-head regular-head">\n <titulo-especial :data-title="dataTitle"></titulo-especial>\n </div>\n '}),Vue.component("cabcategoria-foro",{data:function(){return{dataTitle:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},template:'\n <div class="forum-head category-head">\n <titulo-especial :data-title="dataTitle"></titulo-especial>\n </div>\n '}),Vue.component("cabespecial-foro",{data:function(){return{dataTitle:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},template:'\n <div class="forum-head special-head">\n <titulo-especial :data-title="dataTitle"></titulo-especial>\n </div>\n '}),Vue.component("subforo-foro",{props:["dataId"],computed:{slugId:function(){let n="";return window.location.pathname.match(/f(\d+)-/)?n=window.location.pathname.match(/f(\d+)-/)[1]:window.location.pathname.match(/f(\d+)p(\d+)-/)&&(n=window.location.pathname.match(/f(\d+)p(\d+)-/)[1]),"subforum-"+n},slugName:function(){const n=this.dataId.indexOf("<h2>")>-1?FNR.utility.genSlug(this.dataId.split("<h2>")[1].split("</h2>")[0],"-"):FNR.utility.genSlug(this.dataId,"-");return"subforum-"+n}},template:"\n <section :class=\"'subforum-element ' + slugId + ' ' + slugName\">\n \t\t<slot></slot>\n </section>\n "}),Vue.component("lista-temas-cabecera",{props:["dataElements"],data:function(){return{elementos:JSON.parse(this.dataElements.replace(/'/g,'"'))}},template:'\n <ul class="topiclist-header no-style">\n <li v-for="element in elementos">\n <titulo-especial :data-title="element"></titulo-especial>\n </li>\n </ul>\n '}),Vue.component("tema-foro",{computed:{slugId:function(){let n="";return window.location.pathname.match(/t(\d+)-/)?n=window.location.pathname.match(/t(\d+)-/)[1]:window.location.pathname.match(/t(\d+)p(\d+)-/)&&(n=window.location.pathname.match(/t(\d+)p(\d+)-/)[1]),"topic-"+n},slugName:function(){const n=FNR.utility.genSlug(void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text,"-");return"topic-"+n}},template:"\n <section :class=\"'topic-element ' + slugId + ' ' + slugName\">\n \t\t<slot></slot>\n </section>\n "}),Vue.component("mando-foro",{props:["dataId","dataApp"],data:function(){return{children:0}},computed:{isStatusClass:function(){return this.children>0?"forum-controls":"forum-controls not-show"}},created(){Object.values(this.$slots).map(n=>{this.children+=n.length})},template:'\n <section :id="dataId" :class="isStatusClass">\n <template v-if="dataApp === \'true\'">\n <div class="left page-pagination">\n <slot name="pagination"></slot>\n </div>\n <ul class="right no-style page-buttons">\n <slot name="controls"></slot>\n </ul>\n </template>\n <template v-else>\n <div class="left page-pagination"></div>\n <ul class="right no-style page-buttons"></ul>\n </template>\n </section>\n '}),Vue.component("titulo-especial",{props:["dataTitle"],computed:{cleaned:function(){return this.dataTitle.indexOf("<h2>")>-1?this.dataTitle.split("<h2>")[1].split("</h2>")[0]:this.dataTitle},minimized:function(){return FNR.utility.genSlug(this.cleaned," ")}},template:'\n <h3 class="is-tweakeable"><span class="is-measurable">{{ cleaned }}</span></h3>\n '}),Vue.component("cuerpo-widget",{props:["dataClass"],computed:{currentClass:function(){return void 0===this.dataClass?"plank-inner":"plank-inner "+this.dataClass}},template:'\n <div class="plank-content">\n <div :class="currentClass">\n <slot></slot>\n </div>\t\t\t\t\t\t \n </div>\n '}),Vue.component("separador-foro",{props:["dataFaction"],data:function(){return{image:forumDefaults.separator}},template:'\n <section class="forumseparator-element">\n <img :src="image" />\n </section>\n '}),Vue.component("tema-ref",{props:["dataInfo"],data:function(){return{profileName:forumConfig.profileOptions.profileName||"perfil"}},computed:{userColor:function(){return"color: "+this.dataInfo.lastpost.who.color}},template:'\n <div class="ltopic-element">\n <a class="ltopic-last" :href="dataInfo.lastpost.url" target="_blank" :title="\'Ir al último mensaje del tema «\' + dataInfo.name + \'»\'">\n <i class="fas fa-link"></i>\n </a>\n <div class="ltopic-data">\n <a class="ltopic-title" :href="dataInfo.url" target="_blank" :title="\'Ir al tema «\' + dataInfo.name + \'»\'">{{ dataInfo.name }}</a>\n <small class="ltopic-info"><a :href="dataInfo.lastpost.who.url" target="_blank" :style="userColor" :title="\'Ir al \' + profileName + \' de «\' + dataInfo.lastpost.who.name + \'»\'">{{ dataInfo.lastpost.who.name | just-name }}</a>, {{ dataInfo.lastpost.date }} en <a :href="dataInfo.forum.url" target="_blank" :title="\'Ir al subforo «\' + dataInfo.forum.name + \'»\'">{{ dataInfo.forum.name }}</a></small>\n </div>\n </div>\n '}),Vue.component("campo-foro",{props:["dataName"],mounted(){const n=this.$el.parentElement.classList;n.add("field-element"),n.add("field-"+FNR.utility.genSlug(this.dataName,"-"))},template:'\n <div class="forum-field">\n <div class="field-name">{{ dataName | capitalize }}</div>\n <div class="field-content">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("boton-foro",{props:["dataUrl","dataName","dataIcon","dataType","dataInput"],computed:{realClass:function(){return"true"===this.dataInput?"forum-button is-input":"forum-button"},realName:function(){return"text"+("no-name"===this.dataType?" is-hidden-touch":"")},realUrl:function(){return"true"===this.dataInput?"javascript:{}":this.dataUrl}},mounted(){const n=this.$el.parentElement.classList;n.add("btn-element"),n.add("btn-"+FNR.utility.genSlug(this.dataName,"-"))},template:'\n <a :href="realUrl" targer="_blank" :class="realClass" :title="dataName">\n <span class="icon">\n <i :class="dataIcon"></i>\n </span>\n <span :class="realName">{{ dataName }}</span>\n <span v-if="dataInput === \'true\'" class="input-real">\n <slot name="input"></slot>\n </span>\n </a>\n '}),Vue.component("cargando-foro",{props:["dataText"],template:'\n <section id="loading-element">\n <div id="loading-content">\n <i class="fas fa-circle-notch fa-spin"></i>\n <span>{{ dataText }}</span>\n </div>\n </section>\n '}),Vue.component("aviso-foro",{template:' \n <div class="forum-infoblock">\n <h5>Antes de proceder recuerda:</h5>\n <slot></slot>\n </div>\n '}),Vue.component("afiliaciones-foro",{data:function(){return{afis:{}}},created(){FNR.forum.getAffiliates().then(n=>{this.afis=n})},template:'\n <ul v-html="afis.normal" class="no-style"></ul>\n '}),Vue.component("controles-foro",{data:function(){return{maPage:0,userName:_userdata.username,userLevel:_userdata.user_level,userId:_userdata.user_id,userLog:_userdata.session_logged_in,userMP:0,userOut:"",isActive:!1}},computed:{isActiveClass:function(){return"has-bg"+(this.isActive?" visible":" not-visible")}},methods:{turnActive:function(){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 \t\t<nav id="forum-breadcrumb" class="breadcrumb has-succeeds-separator left" aria-label="breadcrumbs">\n \t<ul>\n \t<li>\n \t<a href="/" title="Ir a «Inicio»">Inicio</a>\n \t</li>\n \t</ul>\n \t</nav>\n <nav class="right"> \n <section id="forum-navbar-desktop" class="is-hidden-touch">\n <navbar-foro :data-username="userName" :data-userlevel="userLevel" :data-userid="userId" :data-userlog="userLog" :data-usermp="userMP" :data-userout="userOut" />\n </section>\n <section id="forum-navbar-mobile" class="is-hidden-desktop">\n <div id="hmg-button" v-on:click="turnActive()" class="is-pointer">\n <i class="fas fa-bars"></i>\n </div>\n <div id="hmg-menu" :class="isActiveClass">\n <h3>{{ userName | just-name }}<i class="fas fa-times is-pointer" v-on:click="turnActive()"></i></h3>\n <navbar-foro :data-username="userName" :data-userlevel="userLevel" :data-userid="userId" :data-userlog="userLog" :data-usermp="userMP" :data-userout="userOut" />\n </div>\n <div class="bg-active" v-on:click="turnActive()"></div>\n </section>\n <section v-if="maPage === 1" id="multiaccount-transition">\n <cargando-foro data-text="Cambiando de cuenta…"></cargando-foro>\n </section>\n </nav>\n </div>\n '}),Vue.component("navbar-foro",{props:["dataUsername","dataUserlevel","dataUserid","dataUserlog","dataUsermp","dataUserout"],data:function(){return{profileName:forumConfig.profileOptions.profileName||"perfil",items:forumContent.navbar,directions:forumConfig.usableDirections,multiAccount:{status:!1,position:-1,accounts:[]}}},computed:{isStatusClass:function(){return(1===this.dataUserlog?"is-logged":"is-unlogged")+(1===this.dataUserlevel?" is-admin":" is-user")},mpText:function(){return"Mensajería"+(0!==this.dataUsermp?" ("+this.dataUsermp+")":"")},links:function(){return forumContent.links.filter(n=>void 0!==n.icon)}},methods:{changeAccount:function(){this.$parent.maPage=1,FNR.user.changeAccount(this.dataUserout,this.multiAccount.accounts[this.multiAccount.position].name,this.multiAccount.accounts[this.multiAccount.position].password).then(n=>{n&&window.location.reload()})}},created(){this.multiAccount.status=!1!==FNR.cache.getData("usermultiaccounts")&&!1!==FNR.cache.getData("userpassword"),this.multiAccount.accounts=(!1===FNR.cache.getData("usermultiaccounts")?[]:FNR.cache.getData("usermultiaccounts").map(n=>({name:n.name,password:sjcl.decrypt(FNR.cache.getData("userpassword"),n.password)}))).filter(n=>n.name!==_userdata.username).sort((n,t)=>n.name<t.name?-1:n.name>t.name?1:0)},template:'\n <ul :class="isStatusClass">\n <template v-if="!dataUserlog">\n <li class="navbar-item">\n <a href="/register" title="Registrarse en el foro">\n <div class="icon">\n <i class="fas 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="fas 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">\n <a href="/privmsg?folder=inbox" title="Ir a tu mensajería privada">\n <div class="icon">\n <i class="fas fa-envelope"></i>\n </div>\n <div class="text">{{ mpText }}</div>\n </a>\n </li>\n <li class="navbar-item has-dropdown is-dropeable has-bg">\n <a class="navbar-link is-pointer" title="Accionar menú de usuario">\n <div class="icon">\n <i class="fas fa-user"></i>\n </div>\n <div class="text">{{ dataUsername | just-name }}</div>\n </a>\n <div class="navbar-dropdown is-right">\n <template v-if="dataUserlevel === 1">\n <a class="navbar-item" href="/admin" target="_blank" title="Ir al «Panel de Administrador»">\n <div class="icon">\n <i class="fas fa-cogs"></i>\n </div>\n <div class="text">Panel Administrador</div>\n </a>\n </template>\n <a class="navbar-item" :href="directions.ucp" target="_blank" title="Ir al «Panel de Usuario»">\n <div class="icon">\n <i class="fas fa-sliders-h"></i>\n </div>\n <div class="text">Panel Usuario</div>\n </a>\n <a class="navbar-item" :href="\'/u\' + dataUserid" :title="\'Ir a tu \' + profileName">\n <div class="icon">\n <i class="far fa-id-card"></i>\n </div>\n <div class="text">{{ profileName | capitalize }}</div>\n </a>\n <a class="navbar-item" href="/search?search_id=egosearch" title="Ir a tus temas personales">\n <div class="icon">\n <i class="fas fa-archive"></i>\n </div>\n <div class="text">Temas personales</div>\n </a>\n <a class="navbar-item" :href="dataUserout">\n <div class="icon">\n <i class="fas fa-sign-out-alt"></i>\n </div>\n <div class="text">Cerrar sesión</div>\n </a>\n <template v-if="multiAccount.status">\n <hr/>\n <div class="select-container">\n <select v-model="multiAccount.position" v-on:change="changeAccount()" v-on: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 </div>\n </template>\n </div>\n </li>\n </template>\n </ul>\n '}),Vue.component("links-ayuda",{data:function(){return{links:forumContent.links}},template:'\n <div class="columns is-multiline is-gapless is-vcentered">\n <a target="_blank" :href="link.url" :title="\'Ir a «\' + link.name + \'»\'" class="column" v-for="link in links">{{ link.name }}</a>\n </div>\n '}),Vue.component("links-anuncios",{data:function(){return{announcements:forumContent.announcements}},template:'\n <div id="anmt-main">\n <template v-for="(announcement, index) in announcements">\n <a target="_blank" :href="announcement.url" :title="\'Ir al anuncio «\' + announcement.name + \'»\'" class="anmt-element"><span class="anmt-title">{{ announcement.name }}</span><span class="anmt-date">{{ announcement.date }}</span></a>\n <div class="anmt-sep" v-if="(announcements.length - 1) !== index"></div>\n </template>\n </div>\n '}),Vue.component("links-staff",{data:function(){return{staff:forumContent.staff}},template:'\n <div id="admin-main">\n <a target="_blank" :href="admin.url" class="admin-element" :style="\'background-image: url(\' + admin.avatar + \')\'" :title="admin.title" v-for="admin in staff"><span class="admin-name">{{ admin.name }}</span><span class="admin-desc">{{ admin.desc }}</span></a>\n </div>\n '}),Vue.component("sabias-que",{data:function(){return{content:forumContent.sq,position:forumContent.sq[Math.floor(Math.random()*forumContent.sq.length)]}},computed:{current:function(){return this.content[this.position]}},created(){setInterval(()=>{this.position=this.content[Math.floor(Math.random()*this.content.length)]},12e3)},template:'\n <img id="sq-img" :src="current" alt="¿Sabías que?" />\n '}),Vue.component("busquedas",{data:function(){return{content:forumContent.searches,position:forumContent.searches[Math.floor(Math.random()*forumContent.searches.length)]}},computed:{current:function(){return this.content[this.position]}},created(){setInterval(()=>{this.position=this.content[Math.floor(Math.random()*this.content.length)]},16e3)},template:'\n <a id="search-img" :href="current.url" target="_blank" :title="current.desc">\n <img :src="current.img" alt="Búsqueda" />\n </a>\n '}),Vue.component("note-info",{template:'\n <div class="admin-block admin-note">\n <div class="admin-icon fas fa-caret-right"></div>\n <div class="admin-content admin-title">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("redirect",{props:["dataTo"],computed:{currentStatus:function(){return!!window.location.pathname.match(/t(\d+)-/)}},created(){this.currentStatus&&window.location.replace(this.dataTo)},template:'\n <div class="is-content">\n <template v-if="!currentStatus">\n <p>No hay mensaje.</p>\n </template>\n </div>\n '}),Vue.component("quote",{props:["dataFrom","from"],template:'\n <div class="admin-block admin-box user-coolquote">\n <div class="coolquote-quote">\n <div class="fas fa-quote-left"></div>\n <div class="coolquote-content">\n <slot></slot>\n </div>\n <div class="fas fa-quote-right"></div>\n </div>\n <div class="coolquote-from">{{ dataFrom }}{{ from }}</div>\n </div>\n '}),Vue.component("wiki-index-items-d",{props:["dataContent"],template:'\n <ul>\n <li v-for="content in dataContent">\n <div class="wiki-controls">\n <router-link :to="content.id" v-if="!content.children.length" :title="\'Ir al artículo de «\' + content.name + \'»\'">{{ content.name }}</router-link>\n <a class="wiki-cascade" :title="\'Desplegar categoría de «\' + content.name + \'»\'" v-else>\n <span class="text">{{ content.name }}</span>\n <span class="icon">\n <i class="fas fa-plus"></i>\n <i class="fas fa-minus"></i>\n </span>\n </a>\n </div>\n <wiki-index-items-d v-if="content.children.length" :data-content="content.children"></wiki-index-items-d>\n </li>\n </ul>\n '}),Vue.component("wiki-index",{computed:{indexContent:function(){const n=e=>t.filter(n=>n.component.page_parent===e).map(t=>({id:t.path,name:t.component.page_name,children:n(t.component.page_name)})),t=routes.filter(n=>void 0!==n.component).filter(n=>!n.component.page_skip);return t.filter(n=>void 0===n.component.page_parent).map(t=>({id:t.path,name:t.component.page_name,children:n(t.component.page_name)}))}},template:'\n <aside class="wiki-index is-content profile-sticky">\n <div class="is-hidden-touch">\n <h3>Contenido</h3>\n <wiki-index-items-d :data-content="indexContent"></wiki-index-items-d>\n </div>\n <div class="select-container is-hidden-desktop">\n <select>\n <option value="-1" hidden selected>Contenido</option>\n <template v-for="content in indexContent">\n <template v-if="content.children.length">\n <option :value="content.id" disabled >— {{ content.name }}</option>\n <template v-for="content in content.children">\n <template v-if="content.children.length">\n <option :value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n <template v-for="content in content.children">\n <template v-if="content.children.length">\n <option :value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n <template v-for="content in content.children">\n <template v-if="content.children.length">\n <option :value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n <template v-for="content in content.children">\n <option :value="content.id">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option :value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option :value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option :value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option :value="content.id" v-else >— {{ content.name }}</option>\n </template>\n </select>\n </div>\n </aside>\n '}),Vue.component("wiki-contenido",{props:["dataMode"],template:'\n <div class="wiki-body has-small-topiclist">\n <wiki-index></wiki-index>\n <template v-if="dataMode === \'app\'">\n <slot></slot>\n </template>\n <template v-else>\n <section class="wiki-content is-dramatic">\n <slot></slot>\n </section>\n </template>\n </div>\n '}),Vue.component("wiki-nav",{computed:{more:function(){return routes.filter(n=>n.component).filter(n=>n.component.page_parent===routes.filter(n=>n.path===router.history.current.path)[0].component.page_parent).length>1},nav:function(){const n=routes.filter(n=>n.component).filter(n=>n.component.page_parent===routes.filter(n=>n.path===router.history.current.path)[0].component.page_parent),t=n.map(n=>n.path).indexOf(router.history.current.path);return{next:!(t+1>=n.length)&&n[t+1],prev:!(t-1<0)&&n[t-1]}}},template:'\n <div class="wiki-nav" v-if="more">\n <h2>Navegación</h2>\n <template v-if="nav.prev !== false">* <router-link :to="nav.prev.path" :title="\'Ir al artículo «\' + nav.prev.component.page_name + \'»\'">Página anterior: {{ nav.prev.component.page_name }}</router-link></template>\n <br v-if="nav.prev !== false && nav.next !== false"/>\n <template v-if="nav.next !== false">* <router-link :to="nav.next.path" :title="\'Ir al artículo «\' + nav.next.component.page_name + \'»\'">Página siguiente: {{ nav.next.component.page_name }}</router-link></template>\n </div>\n '}),Vue.component("wiki-children",{props:["dataName","dataCategory"],computed:{nav:function(){return routes.filter(n=>n.component).filter(n=>n.component.page_parent===this.dataCategory)}},template:'\n <div class="wiki-nav" v-if="nav.length > 0">\n <h2>{{ dataName }}</h2>\n <template v-for="route in nav">* <router-link :to="route.path" :title="\'Ir al artículo «\' + route.component.page_name + \'»\'">{{ route.component.page_name }}</router-link><br/></template>\n </div>\n '}),Vue.component("modal-foro",{props:["dataTitle"],methods:{modalClose:function(){this.$parent.state.modal=!1,this.$emit("modal-close")}},template:' \n <div id="forum-modal">\n <div class="modal-element">\n <div class="modal-title">\n <h3>{{ dataTitle }}</h3>\n <a v-on:click="modalClose()">\n <i class="fas fa-times"></i>\n </a>\n </div>\n <div class="modal-content">\n <div class="is-content">\n <slot name="content"></slot>\n </div>\n <slot name="controls"></slot>\n </div>\n </div>\n <div class="is-bgmodal bg-active" v-on:click="modalClose()"></div>\n </div>\n '}),Vue.component("controles-modal",{template:' \n <div class="modal-buttons">\n <slot></slot>\n </div>\n '}),Vue.component("expediente-usuario",{data:function(){return{info:{name:_userdata.username,level:_userdata.user_level,log:_userdata.session_logged_in},config:forumConfig.profileUser,profile:profile}},computed:{userRank:function(){return this.profile.fields[forumConfig.profileOptions.profileRank].content},userCite:function(){return this.profile.fields[forumConfig.profileOptions.profileCite].content},userCover:function(){return this.profile.fields[forumConfig.profileOptions.profileCover].content},usableMiniFields:function(){return void 0!==this.config.miniFields&&this.config.miniFields.length?Object.entries(this.profile.fields).filter(n=>this.config.miniFields.indexOf(n[0])>-1).map(n=>({id:n[0],title:n[1].label,content:n[1].content})).sort((n,t)=>this.config.miniFields.indexOf(n.id)>this.config.miniFields.indexOf(t.id)?1:-1).map(n=>({id:FNR.utility.genSlug(n.title,"-"),title:n.title,content:n.content})):[]},usableBigFields:function(){return void 0!==this.config.mainFields&&Object.keys(this.config.mainFields).length?Object.entries(this.profile.fields).filter(n=>Object.keys(this.config.mainFields).indexOf(n[0])>-1).map(n=>({id:n[0],title:n[1].label,subtitle:this.config.mainFields[n[0]],content:" &nbsp;-"===n[1].content?"":n[1].content})).sort((n,t)=>Object.keys(this.config.mainFields).indexOf(n.id)>Object.keys(this.config.mainFields).indexOf(t.id)?1:-1).map(n=>({id:FNR.utility.genSlug(n.title,"-"),title:n.title,subtitle:n.subtitle,content:n.content})):[]},lengthBigFields:function(){let n=0;return this.usableBigFields.map(t=>{void 0!==t.content&&(n+=t.content.length)}),n},usableExtraFields:function(){return void 0!==this.config.extraFields&&this.config.extraFields.length?Object.entries(this.profile.fields).filter(n=>this.config.extraFields.indexOf(n[0])>-1).map(n=>({id:n[0],title:n[1].label,content:" &nbsp;-"===n[1].content?"":n[1].content})).sort((n,t)=>this.config.extraFields.indexOf(n.id)>this.config.extraFields.indexOf(t.id)?1:-1).map(n=>({id:FNR.utility.genSlug(n.title,"-"),title:n.title,content:n.content})):[]},lengthExtraFields:function(){let n=0;return this.usableExtraFields.map(t=>{void 0!==t.content&&(n+=t.content.length)}),n},usableLinkFields:function(){return this.profile.contact.length?[]:Object.entries(this.profile.contact).filter(n=>"Mensaje Privado"!==n[1].label).map(n=>({id:FNR.utility.genSlug(n[1].label,"-"),title:n[1].label,url:n[1].content,icon:this.config.contactFields[n[0]],desc:"Ir a "+n[1].label+" de «"+this.profile.name+"»"}))},chronologyField:function(){return void 0!==this.config.cronoField&&this.config.cronoField.length?FNR.utility.genArray(this.profile.fields[FNR.utility.genSlug(this.config.cronoField,"_")].content):[]},relationshipsField:function(){return void 0!==this.config.relaField&&this.config.relaField.length?FNR.utility.genArray(this.profile.fields[FNR.utility.genSlug(this.config.relaField,"_")].content):[]},lengthHistoryFields:function(){let n=0;return n+=this.chronologyField.length,n+=this.relationshipsField.length,n},currentClass:function(){return"usergroup-"+this.profile.colour}},
2
- template:' \n <section class="profile-element"> \n <cabespecial-foro><template slot="title">Perfil de {{ profile.name }}</template></cabespecial-foro>\n <section :class="currentClass">\n <section id="profile-head">\n <div id="profile-minifields" class="profile-container is-align-items-flex-start wiki-index is-content has-text-left" v-if="lengthBigFields">\n <h3>Contenido</h3>\n <ul>\n <li v-if="lengthBigFields">\n <div class="wiki-controls">\n <a href="#anchor-info">Información</a>\n </div>\n </li>\n <li v-if="lengthExtraFields">\n <div class="wiki-controls">\n <a href="#anchor-extras">Extras</a>\n </div>\n </li>\n <li v-if="lengthHistoryFields">\n <div class="wiki-controls">\n <a href="#anchor-history">Historial</a>\n </div>\n </li>\n </ul>\n </div>\n <ul id="profile-minifields" class="profile-container is-align-items-center wiki-index is-content" v-else>\n <li :id="\'profile-minifield-\' + field.id" v-for="field in usableMiniFields" class="minifield-element">\n <span class="minifield-label">{{ field.title }}</span>\n <span class="minifield-content">{{ field.content }}</span>\n </li>\n </ul>\n <div id="profile-userinfo" :style="\'background-image: url(\' + userCover + \');\'">\n <div id="profile-userdata">\n <div id="profile-rank">{{ userRank }}</div>\n <div id="profile-username">{{ profile.name }}</div>\n </div>\n <div id="profile-usergest" v-if="Object.keys(profile.admin).length">\n <a :href="profile.admin.admin" :title="\'Administrar a «\' + profile.name + \'»\'" target="_blank">Administrar</a> / <a :href="profile.admin.ban" :title="\'Banear a «\' + profile.name + \'»\'" target="_blank">Banear</a>\n </div>\n </div>\n </section>\n <section id="profile-subhead">\n <div class="columns is-vcentered">\n <div class="column is-6 is-full-mobile">\n <div id="profile-quote" class="is-content">\n <quote>{{ userCite }}</quote>\n </div>\n </div>\n <div class="column is-5 is-offset-1 is-full-mobile is-offset-0-mobile">\n <div class="columns is-flex is-vcentered">\n <div class="column is-half is-half-mobile">\n <ul class="profile-links">\n <li>\n <a :href="profile.links.posts" :title="\'Mensajes de «\' + profile.name + \'»\'" target="_blank">\n <i :class="config.contactFields.mensajes"></i> Mensajes\n </a>\n </li>\n <li>\n <a :href="profile.links.topics" :title="\'Temas de «\' + profile.name + \'»\'" target="_blank">\n <i :class="config.contactFields.temas"></i> Temas\n </a>\n </li>\n <li v-if="profile.contact.mensaje_privado !== undefined">\n <a :href="profile.contact.mensaje_privado.content" :title="\'Enviar un mensaje privado a «\' + profile.name + \'»\'" target="_blank">\n <i :class="config.contactFields.mp"></i> Mensaje Privado\n </a>\n </li>\n </ul>\n </div>\n <div class="column is-half is-half-mobile">\n <ul class="profile-links">\n <li :id="\'profile-link-\' + field.id" v-for="field in usableLinkFields">\n <a :href="field.url" :title="field.desc" target="_blank">\n <i :class="field.icon"></i> {{ field.title }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section id="profile-fields" class="profile-container is-relative" v-if="lengthBigFields">\n <a id="anchor-info" class="page-anchor"></a>\n <aside id="profile-infominifields" class="wiki-index profile-sticky">\n <h3>Datos básicos</h3>\n <ul class="p-0">\n <li :id="\'profile-minifield-\' + field.id" v-for="field in usableMiniFields" class="minifield-element">\n <span class="minifield-label">{{ field.title }}</span>\n <span class="minifield-content">{{ field.content }}</span>\n </li>\n </ul>\n </aside>\n <ul id="profile-infofields">\n <li :id="\'profile-field-\' + field.id" class="profilefield-element" v-for="field in usableBigFields" v-if="field.content.length">\n <div class="field-head">\n <h4>{{ field.title }}</h4>\n <h6>{{ field.subtitle }}</h6>\n </div>\n <div class="field-content is-content" v-html="field.content"></div>\n </li>\n </ul>\n </section>\n <section id="profile-extras" class="profile-extra is-relative" v-if="lengthExtraFields">\n <a id="anchor-extras" class="page-anchor"></a>\n <div class="profile-extra-header">\n <span>Extras</span>\n </div>\n <ul class="profile-container profile-extra-space">\n <li :id="\'profile-extrafield-\' + field.id" class="extrafield-element" v-for="field in usableExtraFields" v-if="field.content.length">\n <div class="extrafield-head">\n <h4>{{ field.title }}</h4>\n </div>\n <div class="extrafield-content is-content" v-html="field.content"></div>\n </li>\n </ul>\n </section>\n <section id="profile-history" class="profile-extra is-relative" v-if="lengthHistoryFields">\n <a id="anchor-history" class="page-anchor"></a>\n <div class="profile-extra-header">\n <span>Historial</span>\n </div>\n <ul class="profile-container profile-extra-space">\n <li id="profile-extrafield-chronology" class="extrafield-element" v-if="chronologyField.length">\n <div class="extrafield-head">\n <h4>Cronología</h4>\n </div>\n <ul id="chronology-element" class="is-two-columns-list">\n <template v-for="element in chronologyField">\n <elemento-cronologia :data-element="element" data-type="profile" />\n </template>\n </ul>\n </li>\n <li id="profile-extrafield-relationships" class="extrafield-element" v-if="relationshipsField.length">\n <div class="extrafield-head">\n <h4>Relaciones</h4>\n </div>\n <ul id="relationships-element" class="is-two-columns-list">\n <template v-for="element in relationshipsField">\n <elemento-relaciones :data-element="element" data-type="profile" />\n </template>\n </ul>\n </li>\n </ul>\n </section>\n </section>\n </section>\n '}),Vue.component("cuerpo-principal",{props:["dataTitle"],computed:{title:function(){return void 0===this.dataTitle?"":this.dataTitle}},template:' \n <div class="main-slat">\n <div class="mainslat-title" v-if="title.length">{{ title }}</div>\n <div class="mainslat-content">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("cuerpo-interior",{props:["dataTitle"],computed:{title:function(){return void 0===this.dataTitle?"":this.dataTitle}},template:' \n <div class="slat-interior">\n <div class="slatinterior-title" v-if="title.length">{{ title }}</div>\n <div class="slatinterior-content">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("cuerpo-lista",{props:["dataTitle"],computed:{title:function(){return void 0===this.dataTitle?"":this.dataTitle}},template:' \n <div class="slat-list">\n <div class="slatlist-title" v-if="title.length">{{ title }}</div>\n <ol class="slatlist-content">\n <slot></slot>\n </ol>\n </div>\n '});
1
+ Vue.component("categoria-foro",{props:["dataId"],computed:{slugName:function(){const n=this.dataId.indexOf("<h2>")>-1?FNR.utility.genSlug(this.dataId.split("<h2>")[1].split("</h2>")[0],"-"):FNR.utility.genSlug(this.dataId,"-");return"category-"+n}},template:"\n <section v-bind:class=\"'category-element ' + slugName\">\n \t\t<slot></slot>\n </section>\n "}),Vue.component("cabecera-foro",{data:function(){return{dataTitle:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},template:'\n <div class="forum-head regular-head">\n <titulo-especial v-bind:data-title="dataTitle"></titulo-especial>\n </div>\n '}),Vue.component("cabcategoria-foro",{data:function(){return{dataTitle:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},template:'\n <div class="forum-head category-head">\n <titulo-especial v-bind:data-title="dataTitle"></titulo-especial>\n </div>\n '}),Vue.component("cabespecial-foro",{data:function(){return{dataTitle:void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text}},template:'\n <div class="forum-head special-head">\n <titulo-especial v-bind:data-title="dataTitle"></titulo-especial>\n </div>\n '}),Vue.component("subforo-foro",{props:["dataId"],computed:{slugId:function(){let n="";return window.location.pathname.match(/f(\d+)-/)?n=window.location.pathname.match(/f(\d+)-/)[1]:window.location.pathname.match(/f(\d+)p(\d+)-/)&&(n=window.location.pathname.match(/f(\d+)p(\d+)-/)[1]),"subforum-"+n},slugName:function(){const n=this.dataId.indexOf("<h2>")>-1?FNR.utility.genSlug(this.dataId.split("<h2>")[1].split("</h2>")[0],"-"):FNR.utility.genSlug(this.dataId,"-");return"subforum-"+n}},template:"\n <section v-bind:class=\"'subforum-element ' + slugId + ' ' + slugName\">\n \t\t<slot></slot>\n </section>\n "}),Vue.component("lista-temas-cabecera",{props:["dataElements"],data:function(){return{elementos:JSON.parse(this.dataElements.replace(/'/g,'"'))}},template:'\n <ul class="topiclist-header no-style">\n <li v-for="element in elementos">\n <titulo-especial v-bind:data-title="element"></titulo-especial>\n </li>\n </ul>\n '}),Vue.component("tema-foro",{computed:{slugId:function(){let n="";return window.location.pathname.match(/t(\d+)-/)?n=window.location.pathname.match(/t(\d+)-/)[1]:window.location.pathname.match(/t(\d+)p(\d+)-/)&&(n=window.location.pathname.match(/t(\d+)p(\d+)-/)[1]),"topic-"+n},slugName:function(){const n=FNR.utility.genSlug(void 0===this.$slots.title[0].tag?this.$slots.title[0].text:this.$slots.title[0].children[0].text,"-");return"topic-"+n}},template:"\n <section v-bind:class=\"'topic-element ' + slugId + ' ' + slugName\">\n \t\t<slot></slot>\n </section>\n "}),Vue.component("mando-foro",{props:["dataId","dataApp"],data:function(){return{children:0}},computed:{isStatusClass:function(){return this.children>0?"forum-controls":"forum-controls not-show"}},created(){Object.values(this.$slots).map(n=>{this.children+=n.length})},template:'\n <section v-bind:id="dataId" v-bind:class="isStatusClass">\n <template v-if="dataApp === \'true\'">\n <div class="left page-pagination">\n <slot name="pagination"></slot>\n </div>\n <ul class="right no-style page-buttons">\n <slot name="controls"></slot>\n </ul>\n </template>\n <template v-else>\n <div class="left page-pagination"></div>\n <ul class="right no-style page-buttons"></ul>\n </template>\n </section>\n '}),Vue.component("titulo-especial",{props:["dataTitle"],computed:{cleaned:function(){return this.dataTitle.indexOf("<h2>")>-1?this.dataTitle.split("<h2>")[1].split("</h2>")[0]:this.dataTitle},minimized:function(){return FNR.utility.genSlug(this.cleaned," ")}},template:'\n <h3 class="is-tweakeable"><span class="is-measurable">{{ cleaned }}</span></h3>\n '}),Vue.component("cuerpo-widget",{props:["dataClass"],computed:{currentClass:function(){return void 0===this.dataClass?"plank-inner":"plank-inner "+this.dataClass}},template:'\n <div class="plank-content">\n <div v-bind:class="currentClass">\n <slot></slot>\n </div>\t\t\t\t\t\t \n </div>\n '}),Vue.component("separador-foro",{props:["dataFaction"],data:function(){return{image:forumDefaults.separator}},template:'\n <section class="forumseparator-element">\n <img v-bind:src="image" />\n </section>\n '}),Vue.component("tema-ref",{props:["dataInfo"],data:function(){return{profileName:forumConfig.profileOptions.profileName||"perfil"}},computed:{userColor:function(){return"color: "+this.dataInfo.lastpost.who.color}},template:'\n <div class="ltopic-element">\n <a class="ltopic-last" v-bind:href="dataInfo.lastpost.url" target="_blank" v-bind:title="\'Ir al último mensaje del tema «\' + dataInfo.name + \'»\'">\n <i class="fas fa-link"></i>\n </a>\n <div class="ltopic-data">\n <a class="ltopic-title" v-bind:href="dataInfo.url" target="_blank" v-bind:title="\'Ir al tema «\' + dataInfo.name + \'»\'">{{ dataInfo.name }}</a>\n <small class="ltopic-info"><a v-bind:href="dataInfo.lastpost.who.url" target="_blank" v-bind:style="userColor" v-bind:title="\'Ir al \' + profileName + \' de «\' + dataInfo.lastpost.who.name + \'»\'">{{ dataInfo.lastpost.who.name | just-name }}</a>, {{ dataInfo.lastpost.date }} en <a v-bind:href="dataInfo.forum.url" target="_blank" v-bind:title="\'Ir al subforo «\' + dataInfo.forum.name + \'»\'">{{ dataInfo.forum.name }}</a></small>\n </div>\n </div>\n '}),Vue.component("campo-foro",{props:["dataName"],mounted(){const n=this.$el.parentElement.classList;n.add("field-element"),n.add("field-"+FNR.utility.genSlug(this.dataName,"-"))},template:'\n <div class="forum-field">\n <div class="field-name">{{ dataName | capitalize }}</div>\n <div class="field-content">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("boton-foro",{props:["dataUrl","dataName","dataIcon","dataType","dataInput"],computed:{realClass:function(){return"true"===this.dataInput?"forum-button is-input":"forum-button"},realName:function(){return"text"+("no-name"===this.dataType?" is-hidden-touch":"")},realUrl:function(){return"true"===this.dataInput?"javascript:{}":this.dataUrl}},mounted(){const n=this.$el.parentElement.classList;n.add("btn-element"),n.add("btn-"+FNR.utility.genSlug(this.dataName,"-"))},template:'\n <a v-bind:href="realUrl" targer="_blank" v-bind:class="realClass" v-bind:title="dataName">\n <span class="icon">\n <i v-bind:class="dataIcon"></i>\n </span>\n <span v-bind:class="realName">{{ dataName }}</span>\n <span v-if="dataInput === \'true\'" class="input-real">\n <slot name="input"></slot>\n </span>\n </a>\n '}),Vue.component("cargando-foro",{props:["dataText"],template:'\n <section id="loading-element">\n <div id="loading-content">\n <i class="fas fa-circle-notch fa-spin"></i>\n <span>{{ dataText }}</span>\n </div>\n </section>\n '}),Vue.component("aviso-foro",{template:' \n <div class="forum-infoblock">\n <h5>Antes de proceder recuerda:</h5>\n <slot></slot>\n </div>\n '}),Vue.component("afiliaciones-foro",{data:function(){return{afis:{}}},created(){FNR.forum.getAffiliates().then(n=>{this.afis=n})},template:'\n <ul v-html="afis.normal" class="no-style"></ul>\n '}),Vue.component("controles-foro",{data:function(){return{maPage:0,userName:_userdata.username,userLevel:_userdata.user_level,userId:_userdata.user_id,userLog:_userdata.session_logged_in,userMP:0,userOut:"",isActive:!1}},computed:{isActiveClass:function(){return"has-bg"+(this.isActive?" visible":" not-visible")}},methods:{turnActive:function(){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 \t\t<nav id="forum-breadcrumb" class="breadcrumb has-succeeds-separator left" aria-label="breadcrumbs">\n \t<ul>\n \t<li>\n \t<a href="/" title="Ir a «Inicio»">Inicio</a>\n \t</li>\n \t</ul>\n \t</nav>\n <nav class="right"> \n <section id="forum-navbar-desktop" class="is-hidden-touch">\n <navbar-foro v-bind:data-username="userName" v-bind:data-userlevel="userLevel" v-bind:data-userid="userId" v-bind:data-userlog="userLog" v-bind:data-usermp="userMP" v-bind:data-userout="userOut" />\n </section>\n <section id="forum-navbar-mobile" class="is-hidden-desktop">\n <div id="hmg-button" v-on:click="turnActive()" class="is-pointer">\n <i class="fas fa-bars"></i>\n </div>\n <div id="hmg-menu" v-bind:class="isActiveClass">\n <h3>{{ userName | just-name }}<i class="fas fa-times is-pointer" v-on:click="turnActive()"></i></h3>\n <navbar-foro v-bind:data-username="userName" v-bind:data-userlevel="userLevel" v-bind:data-userid="userId" v-bind:data-userlog="userLog" v-bind:data-usermp="userMP" v-bind:data-userout="userOut" />\n </div>\n <div class="bg-active" v-on:click="turnActive()"></div>\n </section>\n <section v-if="maPage === 1" id="multiaccount-transition">\n <cargando-foro data-text="Cambiando de cuenta…"></cargando-foro>\n </section>\n </nav>\n </div>\n '}),Vue.component("navbar-foro",{props:["dataUsername","dataUserlevel","dataUserid","dataUserlog","dataUsermp","dataUserout"],data:function(){return{profileName:forumConfig.profileOptions.profileName||"perfil",items:forumContent.navbar,directions:forumConfig.usableDirections,multiAccount:{status:!1,position:-1,accounts:[]}}},computed:{isStatusClass:function(){return(1===this.dataUserlog?"is-logged":"is-unlogged")+(1===this.dataUserlevel?" is-admin":" is-user")},mpText:function(){return"Mensajería"+(0!==this.dataUsermp?" ("+this.dataUsermp+")":"")},links:function(){return forumContent.links.filter(n=>void 0!==n.icon)}},methods:{changeAccount:function(){this.$parent.maPage=1,FNR.user.changeAccount(this.dataUserout,this.multiAccount.accounts[this.multiAccount.position].name,this.multiAccount.accounts[this.multiAccount.position].password).then(n=>{n&&window.location.reload()})}},created(){this.multiAccount.status=!1!==FNR.cache.getData("usermultiaccounts")&&!1!==FNR.cache.getData("userpassword"),this.multiAccount.accounts=(!1===FNR.cache.getData("usermultiaccounts")?[]:FNR.cache.getData("usermultiaccounts").map(n=>({name:n.name,password:sjcl.decrypt(FNR.cache.getData("userpassword"),n.password)}))).filter(n=>n.name!==_userdata.username).sort((n,e)=>n.name<e.name?-1:n.name>e.name?1:0)},template:'\n <ul v-bind:class="isStatusClass">\n <template v-if="!dataUserlog">\n <li class="navbar-item">\n <a href="/register" title="Registrarse en el foro">\n <div class="icon">\n <i class="fas 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="fas 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 v-bind:href="link.url" v-bind:title="\'Ir a «\' + link.name + \'»\'">\n <div class="icon">\n <i v-bind: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 v-bind:href="item.url" v-bind:title="\'Ir a «\' + item.name + \'»\'">\n <div class="icon">\n <i v-bind:class="item.icon"></i>\n </div>\n <div class="text">{{ item.name }}</div>\n </a>\n </li>\n <li class="navbar-item">\n <a href="/privmsg?folder=inbox" title="Ir a tu mensajería privada">\n <div class="icon">\n <i class="fas fa-envelope"></i>\n </div>\n <div class="text">{{ mpText }}</div>\n </a>\n </li>\n <li class="navbar-item has-dropdown is-dropeable has-bg">\n <a class="navbar-link is-pointer" title="Accionar menú de usuario">\n <div class="icon">\n <i class="fas fa-user"></i>\n </div>\n <div class="text">{{ dataUsername | just-name }}</div>\n </a>\n <div class="navbar-dropdown is-right">\n <template v-if="dataUserlevel === 1">\n <a class="navbar-item" href="/admin" target="_blank" title="Ir al «Panel de Administrador»">\n <div class="icon">\n <i class="fas fa-cogs"></i>\n </div>\n <div class="text">Panel Administrador</div>\n </a>\n </template>\n <a class="navbar-item" v-bind:href="directions.ucp" target="_blank" title="Ir al «Panel de Usuario»">\n <div class="icon">\n <i class="fas fa-sliders-h"></i>\n </div>\n <div class="text">Panel Usuario</div>\n </a>\n <a class="navbar-item" v-bind:href="\'/u\' + dataUserid" v-bind:title="\'Ir a tu \' + profileName">\n <div class="icon">\n <i class="far fa-id-card"></i>\n </div>\n <div class="text">{{ profileName | capitalize }}</div>\n </a>\n <a class="navbar-item" href="/search?search_id=egosearch" title="Ir a tus temas personales">\n <div class="icon">\n <i class="fas fa-archive"></i>\n </div>\n <div class="text">Temas personales</div>\n </a>\n <a class="navbar-item" v-bind:href="dataUserout">\n <div class="icon">\n <i class="fas fa-sign-out-alt"></i>\n </div>\n <div class="text">Cerrar sesión</div>\n </a>\n <template v-if="multiAccount.status">\n <hr/>\n <div class="select-container">\n <select v-model="multiAccount.position" v-on:change="changeAccount()" v-on:click="$event.stopPropagation()">\n <option value="-1" hidden selected>Selec. personaje</option>\n <option v-for="(account, index) in multiAccount.accounts" v-bind:value="index">{{ account.name }}</option>\n </select>\n </div>\n </template>\n </div>\n </li>\n </template>\n </ul>\n '}),Vue.component("links-ayuda",{data:function(){return{links:forumContent.links}},template:'\n <div class="columns is-multiline is-gapless is-vcentered">\n <a target="_blank" v-bind:href="link.url" v-bind:title="\'Ir a «\' + link.name + \'»\'" class="column" v-for="link in links">{{ link.name }}</a>\n </div>\n '}),Vue.component("links-anuncios",{data:function(){return{announcements:forumContent.announcements}},template:'\n <div id="anmt-main">\n <template v-for="(announcement, index) in announcements">\n <a target="_blank" v-bind:href="announcement.url" v-bind:title="\'Ir al anuncio «\' + announcement.name + \'»\'" class="anmt-element"><span class="anmt-title">{{ announcement.name }}</span><span class="anmt-date">{{ announcement.date }}</span></a>\n <div class="anmt-sep" v-if="(announcements.length - 1) !== index"></div>\n </template>\n </div>\n '}),Vue.component("links-staff",{data:function(){return{staff:forumContent.staff}},template:'\n <div id="admin-main">\n <a target="_blank" v-bind:href="admin.url" class="admin-element" v-bind:style="\'background-image: url(\' + admin.avatar + \')\'" v-bind:title="admin.title" v-for="admin in staff"><span class="admin-name">{{ admin.name }}</span><span class="admin-desc">{{ admin.desc }}</span></a>\n </div>\n '}),Vue.component("sabias-que",{data:function(){return{content:{}}},created(){const n=forumContent.sq;this.content=n[Math.floor(Math.random()*n.length)],setInterval(()=>{this.content=n[Math.floor(Math.random()*n.length)]},12e3)},template:'\n <img id="sq-img" v-bind:src="current" alt="¿Sabías que?" />\n '}),Vue.component("busquedas",{data:function(){return{content:{}}},created(){const n=forumContent.searches;this.content=n[Math.floor(Math.random()*n.length)],setInterval(()=>{this.content=n[Math.floor(Math.random()*n.length)]},16e3)},template:'\n <a id="search-img" v-bind:href="current.url" target="_blank" v-bind:title="current.desc">\n <img v-bind:src="current.img" alt="Búsqueda" />\n </a>\n '}),Vue.component("note-info",{template:'\n <div class="admin-block admin-note">\n <div class="admin-icon fas fa-caret-right"></div>\n <div class="admin-content admin-title">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("redirect",{props:["dataTo"],computed:{currentStatus:function(){return!!window.location.pathname.match(/t(\d+)-/)}},created(){this.currentStatus&&window.location.replace(this.dataTo)},template:'\n <div class="is-content">\n <template v-if="!currentStatus">\n <p>No hay mensaje.</p>\n </template>\n </div>\n '}),Vue.component("quote",{props:["dataFrom","from"],template:'\n <div class="admin-block admin-box user-coolquote">\n <div class="coolquote-quote">\n <div class="fas fa-quote-left"></div>\n <div class="coolquote-content">\n <slot></slot>\n </div>\n <div class="fas fa-quote-right"></div>\n </div>\n <div class="coolquote-from">{{ dataFrom }}{{ from }}</div>\n </div>\n '}),Vue.component("wiki-index-items-d",{props:["dataContent"],template:'\n <ul>\n <li v-for="content in dataContent">\n <div class="wiki-controls">\n <router-link v-bind:to="content.id" v-if="!content.children.length" v-bind:title="\'Ir al artículo de «\' + content.name + \'»\'">{{ content.name }}</router-link>\n <a class="wiki-cascade" v-bind:title="\'Desplegar categoría de «\' + content.name + \'»\'" v-else>\n <span class="text">{{ content.name }}</span>\n <span class="icon">\n <i class="fas fa-plus"></i>\n <i class="fas fa-minus"></i>\n </span>\n </a>\n </div>\n <wiki-index-items-d v-if="content.children.length" v-bind:data-content="content.children"></wiki-index-items-d>\n </li>\n </ul>\n '}),Vue.component("wiki-index",{computed:{indexContent:function(){const n=t=>e.filter(n=>n.component.page_parent===t).map(e=>({id:e.path,name:e.component.page_name,children:n(e.component.page_name)})),e=routes.filter(n=>void 0!==n.component).filter(n=>!n.component.page_skip);return e.filter(n=>void 0===n.component.page_parent).map(e=>({id:e.path,name:e.component.page_name,children:n(e.component.page_name)}))}},template:'\n <aside class="wiki-index is-content profile-sticky">\n <div class="is-hidden-touch">\n <h3>Contenido</h3>\n <wiki-index-items-d v-bind:data-content="indexContent"></wiki-index-items-d>\n </div>\n <div class="select-container is-hidden-desktop">\n <select>\n <option value="-1" hidden selected>Contenido</option>\n <template v-for="content in indexContent">\n <template v-if="content.children.length">\n <option v-bind:value="content.id" disabled >— {{ content.name }}</option>\n <template v-for="content in content.children">\n <template v-if="content.children.length">\n <option v-bind:value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n <template v-for="content in content.children">\n <template v-if="content.children.length">\n <option v-bind:value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n <template v-for="content in content.children">\n <template v-if="content.children.length">\n <option v-bind:value="content.id" disabled >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n <template v-for="content in content.children">\n <option v-bind:value="content.id">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option v-bind:value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option v-bind:value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option v-bind:value="content.id" v-else >&nbsp&nbsp&nbsp&nbsp— {{ content.name }}</option>\n </template>\n </template>\n <option v-bind:value="content.id" v-else >— {{ content.name }}</option>\n </template>\n </select>\n </div>\n </aside>\n '}),Vue.component("wiki-contenido",{props:["dataMode"],template:'\n <div class="wiki-body has-small-topiclist">\n <wiki-index></wiki-index>\n <template v-if="dataMode === \'app\'">\n <slot></slot>\n </template>\n <template v-else>\n <section class="wiki-content is-dramatic">\n <slot></slot>\n </section>\n </template>\n </div>\n '}),Vue.component("wiki-nav",{computed:{more:function(){return routes.filter(n=>n.component).filter(n=>n.component.page_parent===routes.filter(n=>n.path===router.history.current.path)[0].component.page_parent).length>1},nav:function(){const n=routes.filter(n=>n.component).filter(n=>n.component.page_parent===routes.filter(n=>n.path===router.history.current.path)[0].component.page_parent),e=n.map(n=>n.path).indexOf(router.history.current.path);return{next:!(e+1>=n.length)&&n[e+1],prev:!(e-1<0)&&n[e-1]}}},template:'\n <div class="wiki-nav" v-if="more">\n <h2>Navegación</h2>\n <template v-if="nav.prev !== false">* <router-link v-bind:to="nav.prev.path" v-bind:title="\'Ir al artículo «\' + nav.prev.component.page_name + \'»\'">Página anterior: {{ nav.prev.component.page_name }}</router-link></template>\n <br v-if="nav.prev !== false && nav.next !== false"/>\n <template v-if="nav.next !== false">* <router-link v-bind:to="nav.next.path" v-bind:title="\'Ir al artículo «\' + nav.next.component.page_name + \'»\'">Página siguiente: {{ nav.next.component.page_name }}</router-link></template>\n </div>\n '}),Vue.component("wiki-children",{props:["dataName","dataCategory"],computed:{nav:function(){return routes.filter(n=>n.component).filter(n=>n.component.page_parent===this.dataCategory)}},template:'\n <div class="wiki-nav" v-if="nav.length > 0">\n <h2>{{ dataName }}</h2>\n <template v-for="route in nav">* <router-link v-bind:to="route.path" v-bind:title="\'Ir al artículo «\' + route.component.page_name + \'»\'">{{ route.component.page_name }}</router-link><br/></template>\n </div>\n '}),Vue.component("modal-foro",{props:["dataTitle"],methods:{modalClose:function(){this.$parent.state.modal=!1,this.$emit("modal-close")}},template:' \n <div id="forum-modal">\n <div class="modal-element">\n <div class="modal-title">\n <h3>{{ dataTitle }}</h3>\n <a v-on:click="modalClose()">\n <i class="fas fa-times"></i>\n </a>\n </div>\n <div class="modal-content">\n <div class="is-content">\n <slot name="content"></slot>\n </div>\n <slot name="controls"></slot>\n </div>\n </div>\n <div class="is-bgmodal bg-active" v-on:click="modalClose()"></div>\n </div>\n '}),Vue.component("controles-modal",{template:' \n <div class="modal-buttons">\n <slot></slot>\n </div>\n '}),Vue.component("expediente-usuario",{data:function(){return{info:{name:_userdata.username,level:_userdata.user_level,log:_userdata.session_logged_in},config:forumConfig.profileUser,profile:profile}},computed:{userRank:function(){return this.profile.fields[forumConfig.profileOptions.profileRank].content},userCite:function(){return this.profile.fields[forumConfig.profileOptions.profileCite].content},userCover:function(){return this.profile.fields[forumConfig.profileOptions.profileCover].content},usableMiniFields:function(){return void 0!==this.config.miniFields&&this.config.miniFields.length?Object.entries(this.profile.fields).filter(n=>this.config.miniFields.indexOf(n[0])>-1).map(n=>({id:n[0],title:n[1].label,content:n[1].content})).sort((n,e)=>this.config.miniFields.indexOf(n.id)>this.config.miniFields.indexOf(e.id)?1:-1).map(n=>({id:FNR.utility.genSlug(n.title,"-"),title:n.title,content:n.content})):[]},usableBigFields:function(){return void 0!==this.config.mainFields&&Object.keys(this.config.mainFields).length?Object.entries(this.profile.fields).filter(n=>Object.keys(this.config.mainFields).indexOf(n[0])>-1).map(n=>({id:n[0],title:n[1].label,subtitle:this.config.mainFields[n[0]],content:" &nbsp;-"===n[1].content?"":n[1].content})).sort((n,e)=>Object.keys(this.config.mainFields).indexOf(n.id)>Object.keys(this.config.mainFields).indexOf(e.id)?1:-1).map(n=>({id:FNR.utility.genSlug(n.title,"-"),title:n.title,subtitle:n.subtitle,content:n.content})):[]},lengthBigFields:function(){let n=0;return this.usableBigFields.map(e=>{void 0!==e.content&&(n+=e.content.length)}),n},usableExtraFields:function(){return void 0!==this.config.extraFields&&this.config.extraFields.length?Object.entries(this.profile.fields).filter(n=>this.config.extraFields.indexOf(n[0])>-1).map(n=>({id:n[0],title:n[1].label,content:" &nbsp;-"===n[1].content?"":n[1].content})).sort((n,e)=>this.config.extraFields.indexOf(n.id)>this.config.extraFields.indexOf(e.id)?1:-1).map(n=>({id:FNR.utility.genSlug(n.title,"-"),title:n.title,content:n.content})):[]},lengthExtraFields:function(){let n=0;return this.usableExtraFields.map(e=>{void 0!==e.content&&(n+=e.content.length)}),n},usableLinkFields:function(){return this.profile.contact.length?[]:Object.entries(this.profile.contact).filter(n=>"Mensaje Privado"!==n[1].label).map(n=>({id:FNR.utility.genSlug(n[1].label,"-"),title:n[1].label,url:n[1].content,icon:this.config.contactFields[n[0]],desc:"Ir a "+n[1].label+" de «"+this.profile.name+"»"}))},chronologyField:function(){return void 0!==this.config.cronoField&&this.config.cronoField.length?FNR.utility.genArray(this.profile.fields[FNR.utility.genSlug(this.config.cronoField,"_")].content):[]},relationshipsField:function(){return void 0!==this.config.relaField&&this.config.relaField.length?FNR.utility.genArray(this.profile.fields[FNR.utility.genSlug(this.config.relaField,"_")].content):[]},lengthHistoryFields:function(){let n=0;return n+=this.chronologyField.length,n+=this.relationshipsField.length,n},currentClass:function(){return"usergroup-"+this.profile.colour}},
2
+ template:' \n <section class="profile-element"> \n <cabespecial-foro><template slot="title">Perfil de {{ profile.name }}</template></cabespecial-foro>\n <section v-bind:class="currentClass">\n <section id="profile-head">\n <div id="profile-minifields" class="profile-container is-align-items-flex-start wiki-index is-content has-text-left" v-if="lengthBigFields">\n <h3>Contenido</h3>\n <ul>\n <li v-if="lengthBigFields">\n <div class="wiki-controls">\n <a href="#anchor-info">Información</a>\n </div>\n </li>\n <li v-if="lengthExtraFields">\n <div class="wiki-controls">\n <a href="#anchor-extras">Extras</a>\n </div>\n </li>\n <li v-if="lengthHistoryFields">\n <div class="wiki-controls">\n <a href="#anchor-history">Historial</a>\n </div>\n </li>\n </ul>\n </div>\n <ul id="profile-minifields" class="profile-container is-align-items-center wiki-index is-content" v-else>\n <li v-bind:id="\'profile-minifield-\' + field.id" v-for="field in usableMiniFields" class="minifield-element">\n <span class="minifield-label">{{ field.title }}</span>\n <span class="minifield-content">{{ field.content }}</span>\n </li>\n </ul>\n <div id="profile-userinfo" v-bind:style="\'background-image: url(\' + userCover + \');\'">\n <div id="profile-userdata">\n <div id="profile-rank">{{ userRank }}</div>\n <div id="profile-username">{{ profile.name }}</div>\n </div>\n <div id="profile-usergest" v-if="Object.keys(profile.admin).length">\n <a v-bind:href="profile.admin.admin" v-bind:title="\'Administrar a «\' + profile.name + \'»\'" target="_blank">Administrar</a> / <a v-bind:href="profile.admin.ban" v-bind:title="\'Banear a «\' + profile.name + \'»\'" target="_blank">Banear</a>\n </div>\n </div>\n </section>\n <section id="profile-subhead">\n <div class="columns is-vcentered">\n <div class="column is-6 is-full-mobile">\n <div id="profile-quote" class="is-content">\n <quote>{{ userCite }}</quote>\n </div>\n </div>\n <div class="column is-5 is-offset-1 is-full-mobile is-offset-0-mobile">\n <div class="columns is-flex is-vcentered">\n <div class="column is-half is-half-mobile">\n <ul class="profile-links">\n <li>\n <a v-bind:href="profile.links.posts" v-bind:title="\'Mensajes de «\' + profile.name + \'»\'" target="_blank">\n <i v-bind:class="config.contactFields.mensajes"></i> Mensajes\n </a>\n </li>\n <li>\n <a v-bind:href="profile.links.topics" v-bind:title="\'Temas de «\' + profile.name + \'»\'" target="_blank">\n <i v-bind:class="config.contactFields.temas"></i> Temas\n </a>\n </li>\n <li v-if="profile.contact.mensaje_privado !== undefined">\n <a v-bind:href="profile.contact.mensaje_privado.content" v-bind:title="\'Enviar un mensaje privado a «\' + profile.name + \'»\'" target="_blank">\n <i v-bind:class="config.contactFields.mp"></i> Mensaje Privado\n </a>\n </li>\n </ul>\n </div>\n <div class="column is-half is-half-mobile">\n <ul class="profile-links">\n <li v-bind:id="\'profile-link-\' + field.id" v-for="field in usableLinkFields">\n <a v-bind:href="field.url" v-bind:title="field.desc" target="_blank">\n <i v-bind:class="field.icon"></i> {{ field.title }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section id="profile-fields" class="profile-container is-relative" v-if="lengthBigFields">\n <a id="anchor-info" class="page-anchor"></a>\n <aside id="profile-infominifields" class="wiki-index profile-sticky">\n <h3>Datos básicos</h3>\n <ul class="p-0">\n <li v-bind:id="\'profile-minifield-\' + field.id" v-for="field in usableMiniFields" class="minifield-element">\n <span class="minifield-label">{{ field.title }}</span>\n <span class="minifield-content">{{ field.content }}</span>\n </li>\n </ul>\n </aside>\n <ul id="profile-infofields">\n <li v-bind:id="\'profile-field-\' + field.id" class="profilefield-element" v-for="field in usableBigFields" v-if="field.content.length">\n <div class="field-head">\n <h4>{{ field.title }}</h4>\n <h6>{{ field.subtitle }}</h6>\n </div>\n <div class="field-content is-content" v-html="field.content"></div>\n </li>\n </ul>\n </section>\n <section id="profile-extras" class="profile-extra is-relative" v-if="lengthExtraFields">\n <a id="anchor-extras" class="page-anchor"></a>\n <div class="profile-extra-header">\n <span>Extras</span>\n </div>\n <ul class="profile-container profile-extra-space">\n <li v-bind:id="\'profile-extrafield-\' + field.id" class="extrafield-element" v-for="field in usableExtraFields" v-if="field.content.length">\n <div class="extrafield-head">\n <h4>{{ field.title }}</h4>\n </div>\n <div class="extrafield-content is-content" v-html="field.content"></div>\n </li>\n </ul>\n </section>\n <section id="profile-history" class="profile-extra is-relative" v-if="lengthHistoryFields">\n <a id="anchor-history" class="page-anchor"></a>\n <div class="profile-extra-header">\n <span>Historial</span>\n </div>\n <ul class="profile-container profile-extra-space">\n <li id="profile-extrafield-chronology" class="extrafield-element" v-if="chronologyField.length">\n <div class="extrafield-head">\n <h4>Cronología</h4>\n </div>\n <ul id="chronology-element" class="is-two-columns-list">\n <template v-for="element in chronologyField">\n <elemento-cronologia v-bind:data-element="element" data-type="profile" />\n </template>\n </ul>\n </li>\n <li id="profile-extrafield-relationships" class="extrafield-element" v-if="relationshipsField.length">\n <div class="extrafield-head">\n <h4>Relaciones</h4>\n </div>\n <ul id="relationships-element" class="is-two-columns-list">\n <template v-for="element in relationshipsField">\n <elemento-relaciones v-bind:data-element="element" data-type="profile" />\n </template>\n </ul>\n </li>\n </ul>\n </section>\n </section>\n </section>\n '}),Vue.component("cuerpo-principal",{props:["dataTitle"],computed:{title:function(){return void 0===this.dataTitle?"":this.dataTitle}},template:' \n <div class="main-slat">\n <div class="mainslat-title" v-if="title.length">{{ title }}</div>\n <div class="mainslat-content">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("cuerpo-interior",{props:["dataTitle"],computed:{title:function(){return void 0===this.dataTitle?"":this.dataTitle}},template:' \n <div class="slat-interior">\n <div class="slatinterior-title" v-if="title.length">{{ title }}</div>\n <div class="slatinterior-content">\n <slot></slot>\n </div>\n </div>\n '}),Vue.component("cuerpo-lista",{props:["dataTitle"],computed:{title:function(){return void 0===this.dataTitle?"":this.dataTitle}},template:' \n <div class="slat-list">\n <div class="slatlist-title" v-if="title.length">{{ title }}</div>\n <ol class="slatlist-content">\n <slot></slot>\n </ol>\n </div>\n '});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generic-skin",
3
- "version": "2.5.3",
3
+ "version": "3.0.0",
4
4
  "description": "Generic Forum Skin for Forumotion created by Gaylien.",
5
5
  "main": "readme.md",
6
6
  "scripts": {