nodebb-theme-persona 11.3.2 → 11.3.6
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/account.less +1 -1
- 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 +1 -1
- package/public/.eslintrc +2 -2
- package/public/admin.js +15 -24
- package/public/modules/autohidingnavbar.js +220 -220
- package/public/modules/quickreply.js +11 -14
- package/public/persona.js +27 -24
- 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/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,28 @@ $(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 =
|
|
34
|
+
headerRect.y + headerRect.height +
|
|
35
|
+
(parseInt(headerStyle.marginTop, 10) || 0) +
|
|
36
|
+
(parseInt(headerStyle.marginBottom, 10) || 0);
|
|
37
|
+
|
|
37
38
|
// body element itself introduces a hardcoded 70px padding on desktop resolution
|
|
38
39
|
if (env === 'lg') {
|
|
39
|
-
|
|
40
|
+
offset -= 70;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
document.documentElement.style.setProperty('--panel-offset', `${offset}px`);
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
var lastBSEnv = '';
|
|
@@ -53,7 +54,7 @@ $(document).ready(function () {
|
|
|
53
54
|
return;
|
|
54
55
|
}
|
|
55
56
|
lastBSEnv = env;
|
|
56
|
-
var navbarEl = $(
|
|
57
|
+
var navbarEl = $('.navbar-fixed-top');
|
|
57
58
|
navbarEl.autoHidingNavbar('destroy').removeData('plugin_autoHidingNavbar');
|
|
58
59
|
navbarEl.css('top', '');
|
|
59
60
|
|
|
@@ -65,7 +66,7 @@ $(document).ready(function () {
|
|
|
65
66
|
|
|
66
67
|
function fixTopCss(topValue) {
|
|
67
68
|
if (ajaxify.data.template.topic) {
|
|
68
|
-
$('.topic .topic-header').css({top: topValue });
|
|
69
|
+
$('.topic .topic-header').css({ top: topValue });
|
|
69
70
|
} else {
|
|
70
71
|
var topicListHeader = $('.topic-list-header');
|
|
71
72
|
if (topicListHeader.length) {
|
|
@@ -75,12 +76,12 @@ $(document).ready(function () {
|
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
navbarEl.off('show.autoHidingNavbar')
|
|
78
|
-
.on('show.autoHidingNavbar', function() {
|
|
79
|
+
.on('show.autoHidingNavbar', function () {
|
|
79
80
|
fixTopCss('');
|
|
80
81
|
});
|
|
81
82
|
|
|
82
83
|
navbarEl.off('hide.autoHidingNavbar')
|
|
83
|
-
.on('hide.autoHidingNavbar', function() {
|
|
84
|
+
.on('hide.autoHidingNavbar', function () {
|
|
84
85
|
fixTopCss('0px');
|
|
85
86
|
});
|
|
86
87
|
}
|
|
@@ -165,7 +166,8 @@ $(document).ready(function () {
|
|
|
165
166
|
function setupEditedByIcon() {
|
|
166
167
|
function activateEditedTooltips() {
|
|
167
168
|
$('[data-pid] [component="post/editor"]').each(function () {
|
|
168
|
-
var el = $(this)
|
|
169
|
+
var el = $(this);
|
|
170
|
+
var icon;
|
|
169
171
|
|
|
170
172
|
if (!el.attr('data-editor')) {
|
|
171
173
|
return;
|
|
@@ -254,8 +256,9 @@ $(document).ready(function () {
|
|
|
254
256
|
|
|
255
257
|
$(window).on('resize action:ajaxify.start', function () {
|
|
256
258
|
navSlideout.close();
|
|
257
|
-
if (chatsSlideout) {
|
|
258
|
-
|
|
259
|
+
if (chatsSlideout) {
|
|
260
|
+
chatsSlideout.close();
|
|
261
|
+
}
|
|
259
262
|
});
|
|
260
263
|
|
|
261
264
|
navSlideout
|
|
@@ -360,7 +363,7 @@ $(document).ready(function () {
|
|
|
360
363
|
}
|
|
361
364
|
});
|
|
362
365
|
});
|
|
363
|
-
})
|
|
366
|
+
});
|
|
364
367
|
}
|
|
365
368
|
}
|
|
366
369
|
|
|
@@ -450,13 +453,13 @@ $(document).ready(function () {
|
|
|
450
453
|
}
|
|
451
454
|
|
|
452
455
|
function setupFavouriteMorph(parent, uid, username) {
|
|
453
|
-
require(['api'], function (api) {
|
|
456
|
+
require(['api', 'alerts'], function (api, alerts) {
|
|
454
457
|
parent.find('.btn-morph').click(function (ev) {
|
|
455
458
|
var type = $(this).hasClass('plus') ? 'follow' : 'unfollow';
|
|
456
459
|
var method = $(this).hasClass('plus') ? 'put' : 'del';
|
|
457
460
|
|
|
458
461
|
api[method]('/users/' + uid + '/follow').then(() => {
|
|
459
|
-
|
|
462
|
+
alerts.success('[[global:alert.' + type + ', ' + username + ']]');
|
|
460
463
|
});
|
|
461
464
|
|
|
462
465
|
$(this).toggleClass('plus').toggleClass('heart');
|
|
@@ -466,9 +469,9 @@ $(document).ready(function () {
|
|
|
466
469
|
$(this).prepend('<b class="drop"></b>');
|
|
467
470
|
}
|
|
468
471
|
|
|
469
|
-
var drop = $(this).find('b.drop').removeClass('animate')
|
|
470
|
-
|
|
471
|
-
|
|
472
|
+
var drop = $(this).find('b.drop').removeClass('animate');
|
|
473
|
+
var x = ev.pageX - (drop.width() / 2) - $(this).offset().left;
|
|
474
|
+
var y = ev.pageY - (drop.height() / 2) - $(this).offset().top;
|
|
472
475
|
|
|
473
476
|
drop.css({ top: y + 'px', left: x + 'px' }).addClass('animate');
|
|
474
477
|
});
|
|
@@ -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>
|