generic-skin 2.5.1 → 2.5.2
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/apps/vueChrono.js +10 -10
- package/apps/vueChrono.min.js +1 -1
- package/apps/vueDefault.js +26 -26
- package/apps/vueDefault.min.js +4 -2
- package/apps/vueMulti.js +12 -12
- package/apps/vueMulti.min.js +1 -1
- package/apps/vueRela.js +15 -15
- package/apps/vueRela.min.js +1 -1
- package/config/vueComponents.js +93 -89
- package/config/vueComponents.min.js +4 -2
- package/options/noManagers.js +5 -5
- package/options/noManagers.min.js +1 -1
- package/package.json +1 -1
package/config/vueComponents.js
CHANGED
|
@@ -9,7 +9,7 @@ Vue.component('categoria-foro', {
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
template: `
|
|
12
|
-
<section
|
|
12
|
+
<section :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
|
|
26
|
+
<titulo-especial :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
|
|
39
|
+
<titulo-especial :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
|
|
52
|
+
<titulo-especial :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
|
|
78
|
+
<section :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
|
|
94
|
+
<titulo-especial :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
|
|
120
|
+
<section :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
|
|
145
|
+
<section :id="dataId" :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
|
|
189
|
+
<div :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
|
|
205
|
+
<img :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"
|
|
224
|
+
<a class="ltopic-last" :href="dataInfo.lastpost.url" target="_blank" :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"
|
|
229
|
-
<small class="ltopic-info"><a
|
|
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>
|
|
230
230
|
</div>
|
|
231
231
|
</div>
|
|
232
232
|
`
|
|
@@ -258,7 +258,7 @@ Vue.component('boton-foro', {
|
|
|
258
258
|
else return 'forum-button';
|
|
259
259
|
},
|
|
260
260
|
realName: function () {
|
|
261
|
-
return 'text' + (this.dataType === 'no-name' ? ' is-hidden-touch': '');
|
|
261
|
+
return 'text' + (this.dataType === 'no-name' ? ' is-hidden-touch' : '');
|
|
262
262
|
},
|
|
263
263
|
realUrl: function () {
|
|
264
264
|
if (this.dataInput === 'true') return 'javascript:{}';
|
|
@@ -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
|
|
275
|
+
<a :href="realUrl" targer="_blank" :class="realClass" :title="dataName">
|
|
276
276
|
<span class="icon">
|
|
277
|
-
<i
|
|
277
|
+
<i :class="dataIcon"></i>
|
|
278
278
|
</span>
|
|
279
|
-
<span
|
|
279
|
+
<span :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
|
|
368
|
+
<navbar-foro :data-username="userName" :data-userlevel="userLevel" :data-userid="userId" :data-userlog="userLog" :data-usermp="userMP" :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"
|
|
374
|
+
<div id="hmg-menu" :class="isActiveClass">
|
|
375
375
|
<h3>{{ userName | just-name }}<i class="fas fa-times is-pointer" v-on:click="turnActive()"></i></h3>
|
|
376
|
-
<navbar-foro
|
|
376
|
+
<navbar-foro :data-username="userName" :data-userlevel="userLevel" :data-userid="userId" :data-userlog="userLog" :data-usermp="userMP" :data-userout="userOut" />
|
|
377
377
|
</div>
|
|
378
378
|
<div class="bg-active" v-on:click="turnActive()"></div>
|
|
379
379
|
</section>
|
|
@@ -415,7 +415,7 @@ Vue.component('navbar-foro', {
|
|
|
415
415
|
methods: {
|
|
416
416
|
changeAccount: function () {
|
|
417
417
|
this.$parent.maPage = 1;
|
|
418
|
-
|
|
418
|
+
|
|
419
419
|
FNR.user.changeAccount(this.dataUserout, this.multiAccount.accounts[this.multiAccount.position].name, this.multiAccount.accounts[this.multiAccount.position].password).then((r) => {
|
|
420
420
|
if (r) {
|
|
421
421
|
window.location.reload();
|
|
@@ -439,7 +439,7 @@ Vue.component('navbar-foro', {
|
|
|
439
439
|
});
|
|
440
440
|
},
|
|
441
441
|
template: `
|
|
442
|
-
<ul
|
|
442
|
+
<ul :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
|
|
463
|
+
<a :href="link.url" :title="'Ir a «' + link.name + '»'">
|
|
464
464
|
<div class="icon">
|
|
465
|
-
<i
|
|
465
|
+
<i :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
|
|
471
|
+
<a :href="item.url" :title="'Ir a «' + item.name + '»'">
|
|
472
472
|
<div class="icon">
|
|
473
|
-
<i
|
|
473
|
+
<i :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"
|
|
502
|
+
<a class="navbar-item" :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"
|
|
508
|
+
<a class="navbar-item" :href="'/u' + dataUserid" :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"
|
|
520
|
+
<a class="navbar-item" :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"
|
|
531
|
+
<option v-for="(account, index) in multiAccount.accounts" :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"
|
|
551
|
+
<a target="_blank" :href="link.url" :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"
|
|
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>
|
|
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"
|
|
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>
|
|
581
581
|
</div>
|
|
582
582
|
`
|
|
583
583
|
});
|
|
@@ -585,41 +585,45 @@ Vue.component('links-staff', {
|
|
|
585
585
|
Vue.component('sabias-que', {
|
|
586
586
|
data: function () {
|
|
587
587
|
return {
|
|
588
|
-
content:
|
|
588
|
+
content: forumContent.sq,
|
|
589
|
+
position: this.content[Math.floor(Math.random() * this.content.length)]
|
|
590
|
+
}
|
|
591
|
+
},
|
|
592
|
+
computed: {
|
|
593
|
+
current: function () {
|
|
594
|
+
return this.content[this.position];
|
|
589
595
|
}
|
|
590
596
|
},
|
|
591
597
|
created() {
|
|
592
|
-
const sq = forumContent.sq;
|
|
593
|
-
|
|
594
|
-
this.content = sq[Math.floor(Math.random() * sq.length)];
|
|
595
|
-
|
|
596
598
|
setInterval(() => {
|
|
597
|
-
this.
|
|
599
|
+
this.position = this.content[Math.floor(Math.random() * this.content.length)];
|
|
598
600
|
}, 12000);
|
|
599
601
|
},
|
|
600
602
|
template: `
|
|
601
|
-
<img id="sq-img"
|
|
603
|
+
<img id="sq-img" :src="current" alt="¿Sabías que?" />
|
|
602
604
|
`
|
|
603
605
|
});
|
|
604
606
|
|
|
605
607
|
Vue.component('busquedas', {
|
|
606
608
|
data: function () {
|
|
607
609
|
return {
|
|
608
|
-
content:
|
|
610
|
+
content: forumContent.searches,
|
|
611
|
+
position: this.content[Math.floor(Math.random() * this.content.length)]
|
|
612
|
+
}
|
|
613
|
+
},
|
|
614
|
+
computed: {
|
|
615
|
+
current: function () {
|
|
616
|
+
return this.content[this.position];
|
|
609
617
|
}
|
|
610
618
|
},
|
|
611
619
|
created() {
|
|
612
|
-
const search = forumContent.searches;
|
|
613
|
-
|
|
614
|
-
this.content = search[Math.floor(Math.random() * search.length)];
|
|
615
|
-
|
|
616
620
|
setInterval(() => {
|
|
617
|
-
this.
|
|
621
|
+
this.position = this.content[Math.floor(Math.random() * this.content.length)];
|
|
618
622
|
}, 16000);
|
|
619
623
|
},
|
|
620
624
|
template: `
|
|
621
|
-
<a id="search-img"
|
|
622
|
-
<img
|
|
625
|
+
<a id="search-img" :href="current.url" target="_blank" :title="current.desc">
|
|
626
|
+
<img :src="current.img" alt="Búsqueda" />
|
|
623
627
|
</a>
|
|
624
628
|
`
|
|
625
629
|
});
|
|
@@ -681,8 +685,8 @@ Vue.component('wiki-index-items-d', {
|
|
|
681
685
|
<ul>
|
|
682
686
|
<li v-for="content in dataContent">
|
|
683
687
|
<div class="wiki-controls">
|
|
684
|
-
<router-link
|
|
685
|
-
<a class="wiki-cascade"
|
|
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>
|
|
686
690
|
<span class="text">{{ content.name }}</span>
|
|
687
691
|
<span class="icon">
|
|
688
692
|
<i class="fas fa-plus"></i>
|
|
@@ -690,7 +694,7 @@ Vue.component('wiki-index-items-d', {
|
|
|
690
694
|
</span>
|
|
691
695
|
</a>
|
|
692
696
|
</div>
|
|
693
|
-
<wiki-index-items-d v-if="content.children.length"
|
|
697
|
+
<wiki-index-items-d v-if="content.children.length" :data-content="content.children"></wiki-index-items-d>
|
|
694
698
|
</li>
|
|
695
699
|
</ul>
|
|
696
700
|
`
|
|
@@ -732,37 +736,37 @@ Vue.component('wiki-index', {
|
|
|
732
736
|
<aside class="wiki-index is-content profile-sticky">
|
|
733
737
|
<div class="is-hidden-touch">
|
|
734
738
|
<h3>Contenido</h3>
|
|
735
|
-
<wiki-index-items-d
|
|
739
|
+
<wiki-index-items-d :data-content="indexContent"></wiki-index-items-d>
|
|
736
740
|
</div>
|
|
737
741
|
<div class="select-container is-hidden-desktop">
|
|
738
742
|
<select>
|
|
739
743
|
<option value="-1" hidden selected>Contenido</option>
|
|
740
744
|
<template v-for="content in indexContent">
|
|
741
745
|
<template v-if="content.children.length">
|
|
742
|
-
<option
|
|
746
|
+
<option :value="content.id" disabled >— {{ content.name }}</option>
|
|
743
747
|
<template v-for="content in content.children">
|
|
744
748
|
<template v-if="content.children.length">
|
|
745
|
-
<option
|
|
749
|
+
<option :value="content.id" disabled >    — {{ content.name }}</option>
|
|
746
750
|
<template v-for="content in content.children">
|
|
747
751
|
<template v-if="content.children.length">
|
|
748
|
-
<option
|
|
752
|
+
<option :value="content.id" disabled >        — {{ content.name }}</option>
|
|
749
753
|
<template v-for="content in content.children">
|
|
750
754
|
<template v-if="content.children.length">
|
|
751
|
-
<option
|
|
755
|
+
<option :value="content.id" disabled >            — {{ content.name }}</option>
|
|
752
756
|
<template v-for="content in content.children">
|
|
753
|
-
<option
|
|
757
|
+
<option :value="content.id">                — {{ content.name }}</option>
|
|
754
758
|
</template>
|
|
755
759
|
</template>
|
|
756
|
-
<option
|
|
760
|
+
<option :value="content.id" v-else >            — {{ content.name }}</option>
|
|
757
761
|
</template>
|
|
758
762
|
</template>
|
|
759
|
-
<option
|
|
763
|
+
<option :value="content.id" v-else >        — {{ content.name }}</option>
|
|
760
764
|
</template>
|
|
761
765
|
</template>
|
|
762
|
-
<option
|
|
766
|
+
<option :value="content.id" v-else >    — {{ content.name }}</option>
|
|
763
767
|
</template>
|
|
764
768
|
</template>
|
|
765
|
-
<option
|
|
769
|
+
<option :value="content.id" v-else >— {{ content.name }}</option>
|
|
766
770
|
</template>
|
|
767
771
|
</select>
|
|
768
772
|
</div>
|
|
@@ -800,12 +804,12 @@ Vue.component('wiki-nav', {
|
|
|
800
804
|
},
|
|
801
805
|
nav: function () {
|
|
802
806
|
const list = routes.filter((item) => {
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
807
|
+
return item.component
|
|
808
|
+
}).filter((item) => {
|
|
809
|
+
return item.component.page_parent === routes.filter((item) => {
|
|
810
|
+
return item.path === router.history.current.path
|
|
811
|
+
})[0].component.page_parent
|
|
812
|
+
}),
|
|
809
813
|
current = list.map((item) => {
|
|
810
814
|
return item.path
|
|
811
815
|
}).indexOf(router.history.current.path);
|
|
@@ -819,9 +823,9 @@ Vue.component('wiki-nav', {
|
|
|
819
823
|
template: `
|
|
820
824
|
<div class="wiki-nav" v-if="more">
|
|
821
825
|
<h2>Navegación</h2>
|
|
822
|
-
<template v-if="nav.prev !== false">* <router-link
|
|
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>
|
|
823
827
|
<br v-if="nav.prev !== false && nav.next !== false"/>
|
|
824
|
-
<template v-if="nav.next !== false">* <router-link
|
|
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>
|
|
825
829
|
</div>
|
|
826
830
|
`
|
|
827
831
|
});
|
|
@@ -840,7 +844,7 @@ Vue.component('wiki-children', {
|
|
|
840
844
|
template: `
|
|
841
845
|
<div class="wiki-nav" v-if="nav.length > 0">
|
|
842
846
|
<h2>{{ dataName }}</h2>
|
|
843
|
-
<template v-for="route in nav">* <router-link
|
|
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>
|
|
844
848
|
</div>
|
|
845
849
|
`
|
|
846
850
|
});
|
|
@@ -906,7 +910,7 @@ Vue.component('expediente-usuario', {
|
|
|
906
910
|
userCover: function () {
|
|
907
911
|
return this.profile.fields[forumConfig.profileOptions.profileCover].content
|
|
908
912
|
},
|
|
909
|
-
usableMiniFields: function () {
|
|
913
|
+
usableMiniFields: function () {
|
|
910
914
|
if (this.config.miniFields === undefined || !this.config.miniFields.length) return [];
|
|
911
915
|
else return Object.entries(this.profile.fields).filter((item) => {
|
|
912
916
|
return this.config.miniFields.indexOf(item[0]) > -1;
|
|
@@ -1039,7 +1043,7 @@ Vue.component('expediente-usuario', {
|
|
|
1039
1043
|
template: `
|
|
1040
1044
|
<section class="profile-element">
|
|
1041
1045
|
<cabespecial-foro><template slot="title">Perfil de {{ profile.name }}</template></cabespecial-foro>
|
|
1042
|
-
<section
|
|
1046
|
+
<section :class="currentClass">
|
|
1043
1047
|
<section id="profile-head">
|
|
1044
1048
|
<div id="profile-minifields" class="profile-container is-align-items-flex-start wiki-index is-content has-text-left" v-if="lengthBigFields">
|
|
1045
1049
|
<h3>Contenido</h3>
|
|
@@ -1062,18 +1066,18 @@ Vue.component('expediente-usuario', {
|
|
|
1062
1066
|
</ul>
|
|
1063
1067
|
</div>
|
|
1064
1068
|
<ul id="profile-minifields" class="profile-container is-align-items-center wiki-index is-content" v-else>
|
|
1065
|
-
<li
|
|
1069
|
+
<li :id="'profile-minifield-' + field.id" v-for="field in usableMiniFields" class="minifield-element">
|
|
1066
1070
|
<span class="minifield-label">{{ field.title }}</span>
|
|
1067
1071
|
<span class="minifield-content">{{ field.content }}</span>
|
|
1068
1072
|
</li>
|
|
1069
1073
|
</ul>
|
|
1070
|
-
<div id="profile-userinfo"
|
|
1074
|
+
<div id="profile-userinfo" :style="'background-image: url(' + userCover + ');'">
|
|
1071
1075
|
<div id="profile-userdata">
|
|
1072
1076
|
<div id="profile-rank">{{ userRank }}</div>
|
|
1073
1077
|
<div id="profile-username">{{ profile.name }}</div>
|
|
1074
1078
|
</div>
|
|
1075
1079
|
<div id="profile-usergest" v-if="Object.keys(profile.admin).length">
|
|
1076
|
-
<a
|
|
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>
|
|
1077
1081
|
</div>
|
|
1078
1082
|
</div>
|
|
1079
1083
|
</section>
|
|
@@ -1089,27 +1093,27 @@ Vue.component('expediente-usuario', {
|
|
|
1089
1093
|
<div class="column is-half is-half-mobile">
|
|
1090
1094
|
<ul class="profile-links">
|
|
1091
1095
|
<li>
|
|
1092
|
-
<a
|
|
1093
|
-
<i
|
|
1096
|
+
<a :href="profile.links.posts" :title="'Mensajes de «' + profile.name + '»'" target="_blank">
|
|
1097
|
+
<i :class="config.contactFields.mensajes"></i> Mensajes
|
|
1094
1098
|
</a>
|
|
1095
1099
|
</li>
|
|
1096
1100
|
<li>
|
|
1097
|
-
<a
|
|
1098
|
-
<i
|
|
1101
|
+
<a :href="profile.links.topics" :title="'Temas de «' + profile.name + '»'" target="_blank">
|
|
1102
|
+
<i :class="config.contactFields.temas"></i> Temas
|
|
1099
1103
|
</a>
|
|
1100
1104
|
</li>
|
|
1101
1105
|
<li v-if="profile.contact.mensaje_privado !== undefined">
|
|
1102
|
-
<a
|
|
1103
|
-
<i
|
|
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
|
|
1104
1108
|
</a>
|
|
1105
1109
|
</li>
|
|
1106
1110
|
</ul>
|
|
1107
1111
|
</div>
|
|
1108
1112
|
<div class="column is-half is-half-mobile">
|
|
1109
1113
|
<ul class="profile-links">
|
|
1110
|
-
<li
|
|
1111
|
-
<a
|
|
1112
|
-
<i
|
|
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 }}
|
|
1113
1117
|
</a>
|
|
1114
1118
|
</li>
|
|
1115
1119
|
</ul>
|
|
@@ -1123,14 +1127,14 @@ Vue.component('expediente-usuario', {
|
|
|
1123
1127
|
<aside id="profile-infominifields" class="wiki-index profile-sticky">
|
|
1124
1128
|
<h3>Datos básicos</h3>
|
|
1125
1129
|
<ul class="p-0">
|
|
1126
|
-
<li
|
|
1130
|
+
<li :id="'profile-minifield-' + field.id" v-for="field in usableMiniFields" class="minifield-element">
|
|
1127
1131
|
<span class="minifield-label">{{ field.title }}</span>
|
|
1128
1132
|
<span class="minifield-content">{{ field.content }}</span>
|
|
1129
1133
|
</li>
|
|
1130
1134
|
</ul>
|
|
1131
1135
|
</aside>
|
|
1132
1136
|
<ul id="profile-infofields">
|
|
1133
|
-
<li
|
|
1137
|
+
<li :id="'profile-field-' + field.id" class="profilefield-element" v-for="field in usableBigFields" v-if="field.content.length">
|
|
1134
1138
|
<div class="field-head">
|
|
1135
1139
|
<h4>{{ field.title }}</h4>
|
|
1136
1140
|
<h6>{{ field.subtitle }}</h6>
|
|
@@ -1145,7 +1149,7 @@ Vue.component('expediente-usuario', {
|
|
|
1145
1149
|
<span>Extras</span>
|
|
1146
1150
|
</div>
|
|
1147
1151
|
<ul class="profile-container profile-extra-space">
|
|
1148
|
-
<li
|
|
1152
|
+
<li :id="'profile-extrafield-' + field.id" class="extrafield-element" v-for="field in usableExtraFields" v-if="field.content.length">
|
|
1149
1153
|
<div class="extrafield-head">
|
|
1150
1154
|
<h4>{{ field.title }}</h4>
|
|
1151
1155
|
</div>
|
|
@@ -1165,7 +1169,7 @@ Vue.component('expediente-usuario', {
|
|
|
1165
1169
|
</div>
|
|
1166
1170
|
<ul id="chronology-element" class="is-two-columns-list">
|
|
1167
1171
|
<template v-for="element in chronologyField">
|
|
1168
|
-
<elemento-cronologia
|
|
1172
|
+
<elemento-cronologia :data-element="element" data-type="profile" />
|
|
1169
1173
|
</template>
|
|
1170
1174
|
</ul>
|
|
1171
1175
|
</li>
|
|
@@ -1175,7 +1179,7 @@ Vue.component('expediente-usuario', {
|
|
|
1175
1179
|
</div>
|
|
1176
1180
|
<ul id="relationships-element" class="is-two-columns-list">
|
|
1177
1181
|
<template v-for="element in relationshipsField">
|
|
1178
|
-
<elemento-relaciones
|
|
1182
|
+
<elemento-relaciones :data-element="element" data-type="profile" />
|
|
1179
1183
|
</template>
|
|
1180
1184
|
</ul>
|
|
1181
1185
|
</li>
|