nodebb-theme-persona 11.3.1 → 11.3.5
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/.eslintrc +2 -2
- package/README.md +14 -14
- package/languages/de/persona.json +3 -3
- package/languages/en-GB/persona.json +2 -2
- package/languages/en-US/persona.json +2 -2
- package/languages/fr/persona.json +3 -3
- package/languages/pl/persona.json +3 -3
- package/languages/pt-PT/persona.json +2 -2
- package/languages/tr/persona.json +4 -4
- package/languages/zh-CN/persona.json +4 -4
- package/less/bootstrap/.csscomb.json +297 -297
- package/less/bootstrap/.csslintrc +19 -19
- package/less/bootstrap/alerts.less +73 -73
- package/less/bootstrap/badges.less +66 -66
- package/less/bootstrap/bootstrap.less +50 -50
- package/less/bootstrap/breadcrumbs.less +26 -26
- package/less/bootstrap/button-groups.less +243 -243
- package/less/bootstrap/buttons.less +160 -160
- package/less/bootstrap/carousel.less +269 -269
- package/less/bootstrap/close.less +34 -34
- package/less/bootstrap/code.less +69 -69
- package/less/bootstrap/component-animations.less +33 -33
- package/less/bootstrap/forms.less +574 -574
- package/less/bootstrap/glyphicons.less +305 -305
- package/less/bootstrap/grid.less +84 -84
- package/less/bootstrap/input-groups.less +166 -166
- package/less/bootstrap/jumbotron.less +50 -50
- package/less/bootstrap/labels.less +64 -64
- package/less/bootstrap/list-group.less +124 -124
- package/less/bootstrap/media.less +61 -61
- package/less/bootstrap/mixins/alerts.less +14 -14
- package/less/bootstrap/mixins/background-variant.less +8 -8
- package/less/bootstrap/mixins/border-radius.less +18 -18
- package/less/bootstrap/mixins/buttons.less +52 -52
- package/less/bootstrap/mixins/center-block.less +7 -7
- package/less/bootstrap/mixins/clearfix.less +22 -22
- package/less/bootstrap/mixins/forms.less +85 -85
- package/less/bootstrap/mixins/gradients.less +59 -59
- package/less/bootstrap/mixins/grid-framework.less +91 -91
- package/less/bootstrap/mixins/grid.less +122 -122
- package/less/bootstrap/mixins/hide-text.less +21 -21
- package/less/bootstrap/mixins/image.less +33 -33
- package/less/bootstrap/mixins/labels.less +12 -12
- package/less/bootstrap/mixins/list-group.less +29 -29
- package/less/bootstrap/mixins/nav-divider.less +10 -10
- package/less/bootstrap/mixins/nav-vertical-align.less +9 -9
- package/less/bootstrap/mixins/opacity.less +8 -8
- package/less/bootstrap/mixins/pagination.less +23 -23
- package/less/bootstrap/mixins/panels.less +24 -24
- package/less/bootstrap/mixins/progress-bar.less +10 -10
- package/less/bootstrap/mixins/reset-filter.less +8 -8
- package/less/bootstrap/mixins/resize.less +6 -6
- package/less/bootstrap/mixins/responsive-visibility.less +15 -15
- package/less/bootstrap/mixins/size.less +10 -10
- package/less/bootstrap/mixins/tab-focus.less +9 -9
- package/less/bootstrap/mixins/table-row.less +28 -28
- package/less/bootstrap/mixins/text-emphasis.less +8 -8
- package/less/bootstrap/mixins/text-overflow.less +8 -8
- package/less/bootstrap/mixins/vendor-prefixes.less +227 -227
- package/less/bootstrap/mixins.less +39 -39
- package/less/bootstrap/modals.less +150 -150
- package/less/bootstrap/navbar.less +660 -660
- package/less/bootstrap/navs.less +242 -242
- package/less/bootstrap/normalize.less +427 -427
- package/less/bootstrap/pager.less +54 -54
- package/less/bootstrap/pagination.less +88 -88
- package/less/bootstrap/panels.less +265 -265
- package/less/bootstrap/popovers.less +135 -135
- package/less/bootstrap/print.less +107 -107
- package/less/bootstrap/progress-bars.less +87 -87
- package/less/bootstrap/responsive-embed.less +35 -35
- package/less/bootstrap/responsive-utilities.less +194 -194
- package/less/bootstrap/scaffolding.less +161 -161
- package/less/bootstrap/tables.less +234 -234
- package/less/bootstrap/theme.less +273 -273
- package/less/bootstrap/thumbnails.less +36 -36
- package/less/bootstrap/tooltip.less +102 -102
- package/less/bootstrap/type.less +302 -302
- package/less/bootstrap/utilities.less +55 -55
- package/less/bootstrap/variables.less +861 -861
- package/less/bootstrap/wells.less +29 -29
- package/less/bootstrap-flipped.css +1550 -1550
- package/less/categories.less +235 -235
- package/less/chats.less +622 -622
- package/less/flags.less +42 -42
- package/less/footer.less +17 -17
- package/less/ip-blacklist.less +6 -6
- package/less/keyframes.less +152 -152
- package/less/mixins.less +6 -0
- package/less/mobile.less +291 -291
- package/less/modules/composer-default.less +16 -16
- package/less/modules/cookie-consent.less +12 -12
- package/less/modules/fab.less +32 -32
- package/less/modules/morph.less +268 -268
- package/less/modules/necro-post.less +8 -8
- package/less/modules/nprogress.less +80 -80
- package/less/modules/usercard.less +64 -64
- package/less/noscript.less +82 -82
- package/less/notifications.less +37 -37
- package/less/outgoing.less +8 -8
- package/less/persona.less +47 -47
- package/less/post-queue.less +19 -19
- package/less/register.less +75 -75
- package/less/rtl.less +132 -132
- package/less/style.less +4 -0
- package/less/tags.less +36 -36
- package/less/topic.less +7 -1
- package/less/users.less +72 -72
- package/less/variables.less +6 -6
- package/package.json +6 -6
- package/public/.eslintrc +2 -2
- package/public/admin.js +5 -14
- package/public/modules/autohidingnavbar.js +220 -220
- package/public/modules/quickreply.js +11 -14
- package/public/persona.js +21 -22
- package/templates/account/blocks.tpl +34 -34
- package/templates/account/categories.tpl +28 -28
- package/templates/account/consent.tpl +68 -68
- package/templates/account/edit/email.tpl +30 -30
- package/templates/account/edit/password.tpl +31 -31
- package/templates/account/edit/username.tpl +29 -29
- package/templates/account/followers.tpl +16 -16
- package/templates/account/following.tpl +16 -16
- package/templates/account/groups.tpl +16 -16
- package/templates/account/info.tpl +187 -187
- package/templates/account/posts.tpl +18 -18
- package/templates/account/sessions.tpl +31 -31
- package/templates/account/topics.tpl +30 -30
- package/templates/account/uploads.tpl +42 -42
- package/templates/admin/plugins/persona.tpl +28 -28
- package/templates/alert.tpl +15 -15
- package/templates/categories.tpl +31 -31
- package/templates/category.tpl +62 -62
- package/templates/chats.tpl +15 -15
- package/templates/flags/list.tpl +71 -71
- package/templates/footer.tpl +18 -18
- package/templates/groups/details.tpl +272 -272
- package/templates/groups/list.tpl +46 -46
- package/templates/groups/members.tpl +8 -8
- package/templates/ip-blacklist.tpl +55 -55
- package/templates/login.tpl +90 -90
- package/templates/modules/taskbar.tpl +2 -2
- package/templates/modules/usercard.tpl +36 -36
- package/templates/notifications.tpl +64 -64
- package/templates/partials/acceptTos.tpl +8 -8
- package/templates/partials/account/category-item.tpl +22 -22
- package/templates/partials/account/header.tpl +46 -46
- package/templates/partials/breadcrumbs.tpl +18 -18
- package/templates/partials/buttons/newTopic.tpl +15 -15
- package/templates/partials/categories/item.tpl +46 -46
- package/templates/partials/categories/lastpost.tpl +26 -26
- package/templates/partials/categories/link.tpl +10 -10
- package/templates/partials/category/sort.tpl +14 -14
- package/templates/partials/category/subcategory.tpl +17 -17
- package/templates/partials/category/tags.tpl +4 -4
- package/templates/partials/category/tools.tpl +80 -80
- package/templates/partials/category/watch.tpl +22 -22
- package/templates/partials/category-filter-content.tpl +18 -18
- package/templates/partials/category-filter-right.tpl +2 -2
- package/templates/partials/category-filter.tpl +2 -2
- package/templates/partials/category-selector-right.tpl +2 -2
- package/templates/partials/category-selector.tpl +2 -2
- package/templates/partials/change_owner_modal.tpl +22 -22
- package/templates/partials/chats/dropdown.tpl +33 -33
- package/templates/partials/chats/messages.tpl +6 -6
- package/templates/partials/chats/recent_room.tpl +24 -24
- package/templates/partials/chats-menu.tpl +10 -10
- package/templates/partials/cookie-consent.tpl +4 -4
- package/templates/partials/delete_posts_modal.tpl +18 -18
- package/templates/partials/fork_thread_modal.tpl +21 -21
- package/templates/partials/groups/list.tpl +20 -20
- package/templates/partials/groups/memberlist.tpl +39 -39
- package/templates/partials/menu.tpl +238 -238
- package/templates/partials/merge_topics_modal.tpl +57 -57
- package/templates/partials/modals/flag_modal.tpl +44 -44
- package/templates/partials/modals/manage_room.tpl +10 -10
- package/templates/partials/modals/manage_room_users.tpl +6 -6
- package/templates/partials/modals/post_history.tpl +36 -36
- package/templates/partials/modals/rename_room.tpl +3 -3
- package/templates/partials/modals/votes_modal.tpl +10 -10
- package/templates/partials/move_thread_modal.tpl +16 -16
- package/templates/partials/paginator.tpl +44 -44
- package/templates/partials/post_bar.tpl +20 -20
- package/templates/partials/posts_list.tpl +7 -7
- package/templates/partials/quick-search-results.tpl +30 -30
- package/templates/partials/slideout-menu.tpl +26 -26
- package/templates/partials/tags_list.tpl +4 -4
- package/templates/partials/thread_tools.tpl +7 -7
- package/templates/partials/topic/badge.tpl +4 -4
- package/templates/partials/topic/browsing-users.tpl +12 -12
- package/templates/partials/topic/deleted-message.tpl +10 -10
- package/templates/partials/topic/navigation-post.tpl +11 -11
- package/templates/partials/topic/navigator.tpl +31 -31
- package/templates/partials/topic/necro-post.tpl +2 -2
- package/templates/partials/topic/post-menu.tpl +4 -4
- package/templates/partials/topic/post.tpl +104 -104
- package/templates/partials/topic/quickreply.tpl +20 -20
- package/templates/partials/topic/reply-button.tpl +26 -26
- package/templates/partials/topic/selection-tooltip.tpl +2 -2
- package/templates/partials/topic/sort.tpl +9 -9
- package/templates/partials/topic/stats.tpl +11 -11
- package/templates/partials/topic/tags.tpl +4 -4
- package/templates/partials/topic/watch.tpl +20 -20
- package/templates/partials/topics_list.tpl +3 -3
- package/templates/partials/users_list.tpl +39 -39
- package/templates/partials/users_list_menu.tpl +10 -10
- package/templates/popular.tpl +61 -61
- package/templates/post-queue.tpl +75 -75
- package/templates/recent.tpl +51 -51
- package/templates/reset.tpl +23 -23
- package/templates/reset_code.tpl +41 -41
- package/templates/tag.tpl +35 -35
- package/templates/tags.tpl +30 -30
- package/templates/top.tpl +61 -61
- package/templates/tos.tpl +4 -4
- package/templates/unread.tpl +49 -49
- package/templates/unsubscribe.tpl +6 -6
- package/templates/users.tpl +47 -47
- package/theme.json +6 -6
- package/theme.less +1 -1
package/public/persona.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/*globals ajaxify, config, utils, app, socket, window, document, $*/
|
|
1
|
+
'use strict';
|
|
4
2
|
|
|
5
3
|
$(document).ready(function () {
|
|
6
4
|
setupNProgress();
|
|
7
5
|
setupEditedByIcon();
|
|
8
6
|
setupQuickReply();
|
|
9
7
|
configureNavbarHiding();
|
|
10
|
-
|
|
8
|
+
updatePanelOffset();
|
|
11
9
|
|
|
12
10
|
$(window).on('resize', utils.debounce(configureNavbarHiding, 200));
|
|
13
|
-
$(window).on('resize',
|
|
11
|
+
$(window).on('resize', updatePanelOffset);
|
|
14
12
|
|
|
15
13
|
$(window).on('action:app.loggedIn', function () {
|
|
16
14
|
setupMobileMenu();
|
|
@@ -21,25 +19,25 @@ $(document).ready(function () {
|
|
|
21
19
|
setupMobileMenu();
|
|
22
20
|
});
|
|
23
21
|
|
|
24
|
-
function
|
|
22
|
+
function updatePanelOffset() {
|
|
25
23
|
var env = utils.findBootstrapEnvironment();
|
|
26
24
|
const headerEl = document.getElementById('header-menu');
|
|
27
|
-
const panelEl = document.getElementById('panel');
|
|
28
25
|
|
|
29
|
-
if (!headerEl
|
|
26
|
+
if (!headerEl) {
|
|
30
27
|
return;
|
|
31
28
|
}
|
|
32
29
|
|
|
33
30
|
const headerRect = headerEl.getBoundingClientRect();
|
|
34
31
|
const headerStyle = window.getComputedStyle(headerEl);
|
|
35
32
|
|
|
36
|
-
let
|
|
33
|
+
let offset = headerRect.y + headerRect.height +
|
|
34
|
+
(parseInt(headerStyle.marginTop, 10) || 0) + (parseInt(headerStyle.marginBottom, 10) || 0);
|
|
37
35
|
// body element itself introduces a hardcoded 70px padding on desktop resolution
|
|
38
36
|
if (env === 'lg') {
|
|
39
|
-
|
|
37
|
+
offset -= 70;
|
|
40
38
|
}
|
|
41
39
|
|
|
42
|
-
|
|
40
|
+
document.documentElement.style.setProperty('--panel-offset', `${offset}px`);
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
var lastBSEnv = '';
|
|
@@ -53,7 +51,7 @@ $(document).ready(function () {
|
|
|
53
51
|
return;
|
|
54
52
|
}
|
|
55
53
|
lastBSEnv = env;
|
|
56
|
-
var navbarEl = $(
|
|
54
|
+
var navbarEl = $('.navbar-fixed-top');
|
|
57
55
|
navbarEl.autoHidingNavbar('destroy').removeData('plugin_autoHidingNavbar');
|
|
58
56
|
navbarEl.css('top', '');
|
|
59
57
|
|
|
@@ -65,7 +63,7 @@ $(document).ready(function () {
|
|
|
65
63
|
|
|
66
64
|
function fixTopCss(topValue) {
|
|
67
65
|
if (ajaxify.data.template.topic) {
|
|
68
|
-
$('.topic .topic-header').css({top: topValue });
|
|
66
|
+
$('.topic .topic-header').css({ top: topValue });
|
|
69
67
|
} else {
|
|
70
68
|
var topicListHeader = $('.topic-list-header');
|
|
71
69
|
if (topicListHeader.length) {
|
|
@@ -75,12 +73,12 @@ $(document).ready(function () {
|
|
|
75
73
|
}
|
|
76
74
|
|
|
77
75
|
navbarEl.off('show.autoHidingNavbar')
|
|
78
|
-
.on('show.autoHidingNavbar', function() {
|
|
76
|
+
.on('show.autoHidingNavbar', function () {
|
|
79
77
|
fixTopCss('');
|
|
80
78
|
});
|
|
81
79
|
|
|
82
80
|
navbarEl.off('hide.autoHidingNavbar')
|
|
83
|
-
.on('hide.autoHidingNavbar', function() {
|
|
81
|
+
.on('hide.autoHidingNavbar', function () {
|
|
84
82
|
fixTopCss('0px');
|
|
85
83
|
});
|
|
86
84
|
}
|
|
@@ -165,7 +163,8 @@ $(document).ready(function () {
|
|
|
165
163
|
function setupEditedByIcon() {
|
|
166
164
|
function activateEditedTooltips() {
|
|
167
165
|
$('[data-pid] [component="post/editor"]').each(function () {
|
|
168
|
-
var el = $(this)
|
|
166
|
+
var el = $(this);
|
|
167
|
+
var icon;
|
|
169
168
|
|
|
170
169
|
if (!el.attr('data-editor')) {
|
|
171
170
|
return;
|
|
@@ -360,7 +359,7 @@ $(document).ready(function () {
|
|
|
360
359
|
}
|
|
361
360
|
});
|
|
362
361
|
});
|
|
363
|
-
})
|
|
362
|
+
});
|
|
364
363
|
}
|
|
365
364
|
}
|
|
366
365
|
|
|
@@ -450,13 +449,13 @@ $(document).ready(function () {
|
|
|
450
449
|
}
|
|
451
450
|
|
|
452
451
|
function setupFavouriteMorph(parent, uid, username) {
|
|
453
|
-
require(['api'], function (api) {
|
|
452
|
+
require(['api', 'alerts'], function (api, alerts) {
|
|
454
453
|
parent.find('.btn-morph').click(function (ev) {
|
|
455
454
|
var type = $(this).hasClass('plus') ? 'follow' : 'unfollow';
|
|
456
455
|
var method = $(this).hasClass('plus') ? 'put' : 'del';
|
|
457
456
|
|
|
458
457
|
api[method]('/users/' + uid + '/follow').then(() => {
|
|
459
|
-
|
|
458
|
+
alerts.success('[[global:alert.' + type + ', ' + username + ']]');
|
|
460
459
|
});
|
|
461
460
|
|
|
462
461
|
$(this).toggleClass('plus').toggleClass('heart');
|
|
@@ -466,9 +465,9 @@ $(document).ready(function () {
|
|
|
466
465
|
$(this).prepend('<b class="drop"></b>');
|
|
467
466
|
}
|
|
468
467
|
|
|
469
|
-
var drop = $(this).find('b.drop').removeClass('animate')
|
|
470
|
-
|
|
471
|
-
|
|
468
|
+
var drop = $(this).find('b.drop').removeClass('animate');
|
|
469
|
+
var x = ev.pageX - (drop.width() / 2) - $(this).offset().left;
|
|
470
|
+
var y = ev.pageY - (drop.height() / 2) - $(this).offset().top;
|
|
472
471
|
|
|
473
472
|
drop.css({ top: y + 'px', left: x + 'px' }).addClass('animate');
|
|
474
473
|
});
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<div class="users row">
|
|
5
|
-
<h1>[[pages:account/blocks, {username}]]</h1>
|
|
6
|
-
|
|
7
|
-
<div class="col-sm-8 col-xs-12">
|
|
8
|
-
<ul id="users-container" class="users-container" data-nextstart="{nextStart}">
|
|
9
|
-
<!-- IMPORT partials/users_list.tpl -->
|
|
10
|
-
</ul>
|
|
11
|
-
<div class="alert alert-warning text-center"<!-- IF users.length --> style="display: none;"<!-- END -->>[[user:has_no_blocks]]</div>
|
|
12
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
13
|
-
</div>
|
|
14
|
-
<div class="col-sm-4 col-xs-12">
|
|
15
|
-
<div class="panel panel-default">
|
|
16
|
-
<div class="panel-body form">
|
|
17
|
-
<div class="form-group">
|
|
18
|
-
<label for="user-search">[[users:search]]</label>
|
|
19
|
-
<input class="form-control" type="text" id="user-search" placeholder="[[users:enter_username]]" />
|
|
20
|
-
<ul class="block-edit list-group">
|
|
21
|
-
{{{ each edit }}}
|
|
22
|
-
<li class="list-group-item clearfix">
|
|
23
|
-
<button class="btn btn-sm btn-primary pull-right" data-uid="{../uid}" data-action="toggle">[[user:block_toggle]]</button>
|
|
24
|
-
<div class="pull-left">
|
|
25
|
-
<a href="{config.relative_path}/uid/{../uid}">{buildAvatar(edit, "sm", true)} {../username}</a>
|
|
26
|
-
</div>
|
|
27
|
-
</li>
|
|
28
|
-
{{{ end }}}
|
|
29
|
-
</ul>
|
|
30
|
-
</div>
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<div class="users row">
|
|
5
|
+
<h1>[[pages:account/blocks, {username}]]</h1>
|
|
6
|
+
|
|
7
|
+
<div class="col-sm-8 col-xs-12">
|
|
8
|
+
<ul id="users-container" class="users-container" data-nextstart="{nextStart}">
|
|
9
|
+
<!-- IMPORT partials/users_list.tpl -->
|
|
10
|
+
</ul>
|
|
11
|
+
<div class="alert alert-warning text-center"<!-- IF users.length --> style="display: none;"<!-- END -->>[[user:has_no_blocks]]</div>
|
|
12
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
13
|
+
</div>
|
|
14
|
+
<div class="col-sm-4 col-xs-12">
|
|
15
|
+
<div class="panel panel-default">
|
|
16
|
+
<div class="panel-body form">
|
|
17
|
+
<div class="form-group">
|
|
18
|
+
<label for="user-search">[[users:search]]</label>
|
|
19
|
+
<input class="form-control" type="text" id="user-search" placeholder="[[users:enter_username]]" />
|
|
20
|
+
<ul class="block-edit list-group">
|
|
21
|
+
{{{ each edit }}}
|
|
22
|
+
<li class="list-group-item clearfix">
|
|
23
|
+
<button class="btn btn-sm btn-primary pull-right" data-uid="{../uid}" data-action="toggle">[[user:block_toggle]]</button>
|
|
24
|
+
<div class="pull-left">
|
|
25
|
+
<a href="{config.relative_path}/uid/{../uid}">{buildAvatar(edit, "sm", true)} {../username}</a>
|
|
26
|
+
</div>
|
|
27
|
+
</li>
|
|
28
|
+
{{{ end }}}
|
|
29
|
+
</ul>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
35
|
</div>
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<div class="row">
|
|
5
|
-
<h1>{title}</h1>
|
|
6
|
-
<div class="col-lg-12">
|
|
7
|
-
<div class="btn-group bottom-sheet" component="category/watch/all">
|
|
8
|
-
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">
|
|
9
|
-
<span>[[user:change_all]]</span>
|
|
10
|
-
<span class="caret"></span>
|
|
11
|
-
</button>
|
|
12
|
-
<ul class="dropdown-menu">
|
|
13
|
-
<li><a href="#" component="category/watching" data-state="watching"><i class="fa fa-fw fa-inbox"></i> [[category:watching]]<p class="help-text"><small>[[category:watching.description]]</small></p></a></li>
|
|
14
|
-
<li><a href="#" component="category/notwatching" data-state="notwatching"><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]<p class="help-text"><small>[[category:not-watching.description]]</small></p></a></li>
|
|
15
|
-
<li><a href="#" component="category/ignoring" data-state="ignoring"><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]<p class="help-text"><small>[[category:ignoring.description]]</small></p></a></li>
|
|
16
|
-
</ul>
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
<div class="col-lg-12">
|
|
20
|
-
<ul class="categories" itemscope itemtype="http://www.schema.org/ItemList">
|
|
21
|
-
{{{each categories}}}
|
|
22
|
-
<!-- IMPORT partials/account/category-item.tpl -->
|
|
23
|
-
{{{end}}}
|
|
24
|
-
</ul>
|
|
25
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<div class="row">
|
|
5
|
+
<h1>{title}</h1>
|
|
6
|
+
<div class="col-lg-12">
|
|
7
|
+
<div class="btn-group bottom-sheet" component="category/watch/all">
|
|
8
|
+
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">
|
|
9
|
+
<span>[[user:change_all]]</span>
|
|
10
|
+
<span class="caret"></span>
|
|
11
|
+
</button>
|
|
12
|
+
<ul class="dropdown-menu">
|
|
13
|
+
<li><a href="#" component="category/watching" data-state="watching"><i class="fa fa-fw fa-inbox"></i> [[category:watching]]<p class="help-text"><small>[[category:watching.description]]</small></p></a></li>
|
|
14
|
+
<li><a href="#" component="category/notwatching" data-state="notwatching"><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]<p class="help-text"><small>[[category:not-watching.description]]</small></p></a></li>
|
|
15
|
+
<li><a href="#" component="category/ignoring" data-state="ignoring"><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]<p class="help-text"><small>[[category:ignoring.description]]</small></p></a></li>
|
|
16
|
+
</ul>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-lg-12">
|
|
20
|
+
<ul class="categories" itemscope itemtype="http://www.schema.org/ItemList">
|
|
21
|
+
{{{each categories}}}
|
|
22
|
+
<!-- IMPORT partials/account/category-item.tpl -->
|
|
23
|
+
{{{end}}}
|
|
24
|
+
</ul>
|
|
25
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
<h2>[[user:consent.title]]</h2>
|
|
4
|
-
<p class="lead">[[user:consent.lead]]</p>
|
|
5
|
-
<p>[[user:consent.intro]]</p>
|
|
6
|
-
|
|
7
|
-
<hr />
|
|
8
|
-
|
|
9
|
-
<div class="row">
|
|
10
|
-
<div class="col-sm-6">
|
|
11
|
-
<!-- IF gdpr_consent -->
|
|
12
|
-
<div class="alert alert-success">
|
|
13
|
-
<i class="fa fa-check pull-right fa-3x"></i>
|
|
14
|
-
[[user:consent.received]]
|
|
15
|
-
</div>
|
|
16
|
-
<!-- ELSE -->
|
|
17
|
-
<div class="alert alert-warning">
|
|
18
|
-
[[user:consent.not_received]]
|
|
19
|
-
<br /><br />
|
|
20
|
-
<div class="text-center">
|
|
21
|
-
<button class="btn btn-warning" data-action="consent">[[user:consent.give]]</button>
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
<!-- END -->
|
|
25
|
-
<div class="panel panel-default">
|
|
26
|
-
<div class="panel-body">
|
|
27
|
-
<p>[[user:consent.email_intro]]</p>
|
|
28
|
-
<!-- IF digest.enabled -->
|
|
29
|
-
<p>[[user:consent.digest_frequency, {digest.frequency}]]</p>
|
|
30
|
-
<!-- ELSE -->
|
|
31
|
-
[[user:consent.digest_off]]
|
|
32
|
-
<!-- END -->
|
|
33
|
-
|
|
34
|
-
<div class="text-center">
|
|
35
|
-
<a class="btn btn-default" href="./settings">
|
|
36
|
-
<i class="fa fa-cog"></i>
|
|
37
|
-
[[pages:account/settings]]
|
|
38
|
-
</a>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
<div class="col-sm-6">
|
|
44
|
-
<div class="panel panel-default">
|
|
45
|
-
<div class="panel-body">
|
|
46
|
-
<p><strong>[[user:consent.right_of_access]]</strong></p>
|
|
47
|
-
<p>[[user:consent.right_of_access_description]]</p>
|
|
48
|
-
<p><strong>[[user:consent.right_to_rectification]]</strong></p>
|
|
49
|
-
<p>[[user:consent.right_to_rectification_description]]</p>
|
|
50
|
-
<p><strong>[[user:consent.right_to_erasure]]</strong></p>
|
|
51
|
-
<p>[[user:consent.right_to_erasure_description]]</p>
|
|
52
|
-
<p><strong>[[user:consent.right_to_data_portability]]</strong></p>
|
|
53
|
-
<p>[[user:consent.right_to_data_portability_description]]</p>
|
|
54
|
-
|
|
55
|
-
<div class="btn-group-vertical btn-block">
|
|
56
|
-
<a data-action="export-profile" class="btn btn-default">
|
|
57
|
-
<i class="fa fa-download"></i> [[user:consent.export_profile]]
|
|
58
|
-
</a>
|
|
59
|
-
<a data-action="export-posts" class="btn btn-default">
|
|
60
|
-
<i class="fa fa-download"></i> [[user:consent.export_posts]]
|
|
61
|
-
</a>
|
|
62
|
-
<a data-action="export-uploads" class="btn btn-default">
|
|
63
|
-
<i class="fa fa-download"></i> [[user:consent.export_uploads]]
|
|
64
|
-
</a>
|
|
65
|
-
</div>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
<h2>[[user:consent.title]]</h2>
|
|
4
|
+
<p class="lead">[[user:consent.lead]]</p>
|
|
5
|
+
<p>[[user:consent.intro]]</p>
|
|
6
|
+
|
|
7
|
+
<hr />
|
|
8
|
+
|
|
9
|
+
<div class="row">
|
|
10
|
+
<div class="col-sm-6">
|
|
11
|
+
<!-- IF gdpr_consent -->
|
|
12
|
+
<div class="alert alert-success">
|
|
13
|
+
<i class="fa fa-check pull-right fa-3x"></i>
|
|
14
|
+
[[user:consent.received]]
|
|
15
|
+
</div>
|
|
16
|
+
<!-- ELSE -->
|
|
17
|
+
<div class="alert alert-warning">
|
|
18
|
+
[[user:consent.not_received]]
|
|
19
|
+
<br /><br />
|
|
20
|
+
<div class="text-center">
|
|
21
|
+
<button class="btn btn-warning" data-action="consent">[[user:consent.give]]</button>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
<!-- END -->
|
|
25
|
+
<div class="panel panel-default">
|
|
26
|
+
<div class="panel-body">
|
|
27
|
+
<p>[[user:consent.email_intro]]</p>
|
|
28
|
+
<!-- IF digest.enabled -->
|
|
29
|
+
<p>[[user:consent.digest_frequency, {digest.frequency}]]</p>
|
|
30
|
+
<!-- ELSE -->
|
|
31
|
+
[[user:consent.digest_off]]
|
|
32
|
+
<!-- END -->
|
|
33
|
+
|
|
34
|
+
<div class="text-center">
|
|
35
|
+
<a class="btn btn-default" href="./settings">
|
|
36
|
+
<i class="fa fa-cog"></i>
|
|
37
|
+
[[pages:account/settings]]
|
|
38
|
+
</a>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-sm-6">
|
|
44
|
+
<div class="panel panel-default">
|
|
45
|
+
<div class="panel-body">
|
|
46
|
+
<p><strong>[[user:consent.right_of_access]]</strong></p>
|
|
47
|
+
<p>[[user:consent.right_of_access_description]]</p>
|
|
48
|
+
<p><strong>[[user:consent.right_to_rectification]]</strong></p>
|
|
49
|
+
<p>[[user:consent.right_to_rectification_description]]</p>
|
|
50
|
+
<p><strong>[[user:consent.right_to_erasure]]</strong></p>
|
|
51
|
+
<p>[[user:consent.right_to_erasure_description]]</p>
|
|
52
|
+
<p><strong>[[user:consent.right_to_data_portability]]</strong></p>
|
|
53
|
+
<p>[[user:consent.right_to_data_portability_description]]</p>
|
|
54
|
+
|
|
55
|
+
<div class="btn-group-vertical btn-block">
|
|
56
|
+
<a data-action="export-profile" class="btn btn-default">
|
|
57
|
+
<i class="fa fa-download"></i> [[user:consent.export_profile]]
|
|
58
|
+
</a>
|
|
59
|
+
<a data-action="export-posts" class="btn btn-default">
|
|
60
|
+
<i class="fa fa-download"></i> [[user:consent.export_posts]]
|
|
61
|
+
</a>
|
|
62
|
+
<a data-action="export-uploads" class="btn btn-default">
|
|
63
|
+
<i class="fa fa-download"></i> [[user:consent.export_uploads]]
|
|
64
|
+
</a>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
69
|
</div>
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<form class="form-horizontal edit-form">
|
|
5
|
-
<div class="control-group">
|
|
6
|
-
<label class="control-label" for="inputNewEmail">[[user:email]]</label>
|
|
7
|
-
<div class="controls">
|
|
8
|
-
<input class="form-control" type="text" id="inputNewEmail" placeholder="[[user:email]]" value="{email}">
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<!-- disables autocomplete on FF --><input type="password" style="display:none">
|
|
13
|
-
|
|
14
|
-
<!-- IF isSelf -->
|
|
15
|
-
<div class="control-group">
|
|
16
|
-
<label class="control-label" for="inputCurrentPassword">[[user:current_password]]</label>
|
|
17
|
-
<div class="controls">
|
|
18
|
-
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
<!-- ENDIF isSelf -->
|
|
22
|
-
|
|
23
|
-
<input type="hidden" name="uid" id="inputUID" value="{uid}" />
|
|
24
|
-
|
|
25
|
-
<br/>
|
|
26
|
-
<div class="form-actions">
|
|
27
|
-
<button id="submitBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_email]]</button>
|
|
28
|
-
</div>
|
|
29
|
-
</form>
|
|
30
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<form class="form-horizontal edit-form">
|
|
5
|
+
<div class="control-group">
|
|
6
|
+
<label class="control-label" for="inputNewEmail">[[user:email]]</label>
|
|
7
|
+
<div class="controls">
|
|
8
|
+
<input class="form-control" type="text" id="inputNewEmail" placeholder="[[user:email]]" value="{email}">
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<!-- disables autocomplete on FF --><input type="password" style="display:none">
|
|
13
|
+
|
|
14
|
+
<!-- IF isSelf -->
|
|
15
|
+
<div class="control-group">
|
|
16
|
+
<label class="control-label" for="inputCurrentPassword">[[user:current_password]]</label>
|
|
17
|
+
<div class="controls">
|
|
18
|
+
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<!-- ENDIF isSelf -->
|
|
22
|
+
|
|
23
|
+
<input type="hidden" name="uid" id="inputUID" value="{uid}" />
|
|
24
|
+
|
|
25
|
+
<br/>
|
|
26
|
+
<div class="form-actions">
|
|
27
|
+
<button id="submitBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_email]]</button>
|
|
28
|
+
</div>
|
|
29
|
+
</form>
|
|
30
|
+
</div>
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<form class="edit-form">
|
|
5
|
-
<!-- disables autocomplete on FF --><input type="password" style="display:none">
|
|
6
|
-
|
|
7
|
-
<!-- IF isSelf -->
|
|
8
|
-
<div class="form-group">
|
|
9
|
-
<label class="control-label" for="inputCurrentPassword">[[user:current_password]]</label>
|
|
10
|
-
<div class="controls">
|
|
11
|
-
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|
|
14
|
-
<!-- ENDIF isSelf -->
|
|
15
|
-
|
|
16
|
-
<div class="form-group">
|
|
17
|
-
<label class="control-label" for="inputNewPassword">[[user:password]]</label>
|
|
18
|
-
<input class="form-control" type="password" id="inputNewPassword" placeholder="[[user:password]]" value="">
|
|
19
|
-
<span class="form-feedback" id="password-notify"></span>
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<div class="form-group">
|
|
23
|
-
<label class="control-label" for="inputNewPasswordAgain">[[user:confirm_password]]</label>
|
|
24
|
-
<input class="form-control" type="password" id="inputNewPasswordAgain" placeholder="[[user:confirm_password]]" value="">
|
|
25
|
-
<span class="form-feedback" id="password-confirm-notify"></span>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<div class="form-actions">
|
|
29
|
-
<button id="changePasswordBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_password]]</button>
|
|
30
|
-
</div>
|
|
31
|
-
</form>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<form class="edit-form">
|
|
5
|
+
<!-- disables autocomplete on FF --><input type="password" style="display:none">
|
|
6
|
+
|
|
7
|
+
<!-- IF isSelf -->
|
|
8
|
+
<div class="form-group">
|
|
9
|
+
<label class="control-label" for="inputCurrentPassword">[[user:current_password]]</label>
|
|
10
|
+
<div class="controls">
|
|
11
|
+
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<!-- ENDIF isSelf -->
|
|
15
|
+
|
|
16
|
+
<div class="form-group">
|
|
17
|
+
<label class="control-label" for="inputNewPassword">[[user:password]]</label>
|
|
18
|
+
<input class="form-control" type="password" id="inputNewPassword" placeholder="[[user:password]]" value="">
|
|
19
|
+
<span class="form-feedback" id="password-notify"></span>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="form-group">
|
|
23
|
+
<label class="control-label" for="inputNewPasswordAgain">[[user:confirm_password]]</label>
|
|
24
|
+
<input class="form-control" type="password" id="inputNewPasswordAgain" placeholder="[[user:confirm_password]]" value="">
|
|
25
|
+
<span class="form-feedback" id="password-confirm-notify"></span>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div class="form-actions">
|
|
29
|
+
<button id="changePasswordBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_password]]</button>
|
|
30
|
+
</div>
|
|
31
|
+
</form>
|
|
32
32
|
</div>
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<form class="form-horizontal edit-form">
|
|
5
|
-
<div class="control-group">
|
|
6
|
-
<label class="control-label" for="inputNewUsername">[[user:username]]</label>
|
|
7
|
-
<div class="controls">
|
|
8
|
-
<input class="form-control" type="text" id="inputNewUsername" placeholder="[[user:username]]" value="{username}">
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<!-- disables autocomplete on FF --><input type="password" style="display:none">
|
|
13
|
-
|
|
14
|
-
<!-- IF isSelf -->
|
|
15
|
-
<div class="control-group">
|
|
16
|
-
<label class="control-label" for="inputCurrentPassword">[[user:current_password]]</label>
|
|
17
|
-
<div class="controls">
|
|
18
|
-
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
|
|
19
|
-
</div>
|
|
20
|
-
</div>
|
|
21
|
-
<!-- ENDIF isSelf -->
|
|
22
|
-
|
|
23
|
-
<input type="hidden" name="uid" id="inputUID" value="{uid}" />
|
|
24
|
-
|
|
25
|
-
<br/>
|
|
26
|
-
<div class="form-actions">
|
|
27
|
-
<button id="submitBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_username]]</button>
|
|
28
|
-
</div>
|
|
29
|
-
</form>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<form class="form-horizontal edit-form">
|
|
5
|
+
<div class="control-group">
|
|
6
|
+
<label class="control-label" for="inputNewUsername">[[user:username]]</label>
|
|
7
|
+
<div class="controls">
|
|
8
|
+
<input class="form-control" type="text" id="inputNewUsername" placeholder="[[user:username]]" value="{username}">
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<!-- disables autocomplete on FF --><input type="password" style="display:none">
|
|
13
|
+
|
|
14
|
+
<!-- IF isSelf -->
|
|
15
|
+
<div class="control-group">
|
|
16
|
+
<label class="control-label" for="inputCurrentPassword">[[user:current_password]]</label>
|
|
17
|
+
<div class="controls">
|
|
18
|
+
<input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<!-- ENDIF isSelf -->
|
|
22
|
+
|
|
23
|
+
<input type="hidden" name="uid" id="inputUID" value="{uid}" />
|
|
24
|
+
|
|
25
|
+
<br/>
|
|
26
|
+
<div class="form-actions">
|
|
27
|
+
<button id="submitBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_username]]</button>
|
|
28
|
+
</div>
|
|
29
|
+
</form>
|
|
30
30
|
</div>
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
<div class="account">
|
|
2
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
-
|
|
4
|
-
<div class="users row">
|
|
5
|
-
<h1>[[pages:{template.name}, {username}]]</h1>
|
|
6
|
-
|
|
7
|
-
<ul id="users-container" class="users-container" data-nextstart="{nextStart}">
|
|
8
|
-
<!-- IMPORT partials/users_list.tpl -->
|
|
9
|
-
</ul>
|
|
10
|
-
|
|
11
|
-
<!-- IF !users.length -->
|
|
12
|
-
<div class="alert alert-warning text-center">[[user:has_no_follower]]</div>
|
|
13
|
-
<!-- ENDIF !users.length -->
|
|
14
|
-
|
|
15
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
16
|
-
</div>
|
|
1
|
+
<div class="account">
|
|
2
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
3
|
+
|
|
4
|
+
<div class="users row">
|
|
5
|
+
<h1>[[pages:{template.name}, {username}]]</h1>
|
|
6
|
+
|
|
7
|
+
<ul id="users-container" class="users-container" data-nextstart="{nextStart}">
|
|
8
|
+
<!-- IMPORT partials/users_list.tpl -->
|
|
9
|
+
</ul>
|
|
10
|
+
|
|
11
|
+
<!-- IF !users.length -->
|
|
12
|
+
<div class="alert alert-warning text-center">[[user:has_no_follower]]</div>
|
|
13
|
+
<!-- ENDIF !users.length -->
|
|
14
|
+
|
|
15
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
16
|
+
</div>
|
|
17
17
|
</div>
|