nodebb-theme-persona 12.0.13 → 12.1.1
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-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-flipped.css +1550 -1550
- package/less/categories.less +235 -235
- package/less/flags.less +42 -42
- package/less/footer.less +17 -17
- package/less/header.less +3 -1
- package/less/ip-blacklist.less +6 -6
- package/less/keyframes.less +152 -152
- package/less/modules/composer-default.less +16 -16
- package/less/modules/cookie-consent.less +12 -12
- package/less/modules/morph.less +268 -268
- package/less/modules/necro-post.less +8 -8
- package/less/modules/nprogress.less +80 -80
- 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/tags.less +36 -36
- package/less/users.less +72 -72
- package/package.json +1 -1
- package/public/.eslintrc +2 -2
- package/public/modules/autohidingnavbar.js +220 -220
- package/public/settings.js +1 -1
- 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 +230 -230
- 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 +16 -16
- package/templates/flags/list.tpl +71 -71
- package/templates/groups/details.tpl +272 -272
- package/templates/groups/list.tpl +46 -46
- package/templates/groups/members.tpl +8 -8
- package/templates/header.tpl +1 -0
- package/templates/ip-blacklist.tpl +55 -55
- package/templates/login.tpl +1 -1
- 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/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 +16 -16
- 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/messages.tpl +6 -6
- package/templates/partials/chats-menu.tpl +40 -40
- 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/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 +4 -4
- 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/deleted-message.tpl +10 -10
- package/templates/partials/topic/navigation-post.tpl +11 -11
- package/templates/partials/topic/necro-post.tpl +2 -2
- package/templates/partials/topic/post.tpl +105 -105
- package/templates/partials/topic/quickreply.tpl +25 -25
- 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_menu.tpl +10 -10
- package/templates/popular.tpl +61 -61
- 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/users.tpl +47 -47
- package/theme.json +6 -6
|
@@ -1,221 +1,221 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Bootstrap Auto-Hiding Navbar - v4.0.0
|
|
3
|
-
* An extension for Bootstrap's fixed navbar which hides the navbar while the page is scrolling downwards and shows it the other way. The plugin is able to show/hide the navbar programmatically as well.
|
|
4
|
-
* http://www.virtuosoft.eu/code/bootstrap-autohidingnavbar/
|
|
5
|
-
*
|
|
6
|
-
* Made by István Ujj-Mészáros
|
|
7
|
-
* Under Apache License v2.0 License
|
|
8
|
-
*/
|
|
9
|
-
;(function($, window, document, undefined) {
|
|
10
|
-
var pluginName = 'autoHidingNavbar',
|
|
11
|
-
$window = $(window),
|
|
12
|
-
$document = $(document),
|
|
13
|
-
_scrollThrottleTimer = null,
|
|
14
|
-
_resizeThrottleTimer = null,
|
|
15
|
-
_throttleDelay = 70,
|
|
16
|
-
_lastScrollHandlerRun = 0,
|
|
17
|
-
_previousScrollTop = null,
|
|
18
|
-
_windowHeight = $window.height(),
|
|
19
|
-
_visible = true,
|
|
20
|
-
_hideOffset,
|
|
21
|
-
defaults = {
|
|
22
|
-
disableAutohide: false,
|
|
23
|
-
showOnUpscroll: true,
|
|
24
|
-
showOnBottom: true,
|
|
25
|
-
hideOffset: 'auto', // "auto" means the navbar height
|
|
26
|
-
animationDuration: 200,
|
|
27
|
-
navbarOffset: 0
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
function AutoHidingNavbar(element, options) {
|
|
31
|
-
this.element = $(element);
|
|
32
|
-
this.settings = $.extend({}, defaults, options);
|
|
33
|
-
this._defaults = defaults;
|
|
34
|
-
this._name = pluginName;
|
|
35
|
-
this.init();
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function hide(autoHidingNavbar) {
|
|
39
|
-
if (!_visible) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
autoHidingNavbar.element.addClass('navbar-hidden').animate({
|
|
44
|
-
top: -1 * parseInt(autoHidingNavbar.element.css('height'), 10) + autoHidingNavbar.settings.navbarOffset
|
|
45
|
-
}, {
|
|
46
|
-
queue: false,
|
|
47
|
-
duration: autoHidingNavbar.settings.animationDuration
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
try {
|
|
51
|
-
$('.dropdown.open .dropdown-toggle, .dropdown.show .dropdown-toggle', autoHidingNavbar.element).dropdown('toggle');
|
|
52
|
-
}
|
|
53
|
-
catch(e) {}
|
|
54
|
-
|
|
55
|
-
_visible = false;
|
|
56
|
-
|
|
57
|
-
autoHidingNavbar.element.trigger('hide.autoHidingNavbar');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function show(autoHidingNavbar) {
|
|
61
|
-
if (_visible) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
autoHidingNavbar.element.removeClass('navbar-hidden').animate({
|
|
66
|
-
top: 0
|
|
67
|
-
}, {
|
|
68
|
-
queue: false,
|
|
69
|
-
duration: autoHidingNavbar.settings.animationDuration
|
|
70
|
-
});
|
|
71
|
-
_visible = true;
|
|
72
|
-
|
|
73
|
-
autoHidingNavbar.element.trigger('show.autoHidingNavbar');
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function detectState(autoHidingNavbar) {
|
|
77
|
-
var scrollTop = $window.scrollTop(),
|
|
78
|
-
scrollDelta = scrollTop - _previousScrollTop;
|
|
79
|
-
|
|
80
|
-
_previousScrollTop = scrollTop;
|
|
81
|
-
|
|
82
|
-
if (scrollDelta < 0) {
|
|
83
|
-
if (_visible) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (autoHidingNavbar.settings.showOnUpscroll || scrollTop <= _hideOffset) {
|
|
88
|
-
show(autoHidingNavbar);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else if (scrollDelta > 0) {
|
|
92
|
-
if (!_visible) {
|
|
93
|
-
if (autoHidingNavbar.settings.showOnBottom && scrollTop + _windowHeight === $document.height()) {
|
|
94
|
-
show(autoHidingNavbar);
|
|
95
|
-
}
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if (scrollTop >= _hideOffset) {
|
|
100
|
-
hide(autoHidingNavbar);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function scrollHandler(autoHidingNavbar) {
|
|
107
|
-
if (autoHidingNavbar.settings.disableAutohide) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
_lastScrollHandlerRun = new Date().getTime();
|
|
112
|
-
|
|
113
|
-
detectState(autoHidingNavbar);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function bindEvents(autoHidingNavbar) {
|
|
117
|
-
$document.on('scroll.' + pluginName, function() {
|
|
118
|
-
if (new Date().getTime() - _lastScrollHandlerRun > _throttleDelay) {
|
|
119
|
-
scrollHandler(autoHidingNavbar);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
clearTimeout(_scrollThrottleTimer);
|
|
123
|
-
_scrollThrottleTimer = setTimeout(function() {
|
|
124
|
-
scrollHandler(autoHidingNavbar);
|
|
125
|
-
}, _throttleDelay);
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
$window.on('resize.' + pluginName, function() {
|
|
130
|
-
clearTimeout(_resizeThrottleTimer);
|
|
131
|
-
_resizeThrottleTimer = setTimeout(function() {
|
|
132
|
-
_windowHeight = $window.height();
|
|
133
|
-
}, _throttleDelay);
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
function unbindEvents() {
|
|
138
|
-
$document.off('.' + pluginName);
|
|
139
|
-
|
|
140
|
-
$window.off('.' + pluginName);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
AutoHidingNavbar.prototype = {
|
|
144
|
-
init: function() {
|
|
145
|
-
this.elements = {
|
|
146
|
-
navbar: this.element
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
this.setDisableAutohide(this.settings.disableAutohide);
|
|
150
|
-
this.setShowOnUpscroll(this.settings.showOnUpscroll);
|
|
151
|
-
this.setShowOnBottom(this.settings.showOnBottom);
|
|
152
|
-
this.setHideOffset(this.settings.hideOffset);
|
|
153
|
-
this.setAnimationDuration(this.settings.animationDuration);
|
|
154
|
-
|
|
155
|
-
_hideOffset = this.settings.hideOffset === 'auto' ? parseInt(this.element.css('height'), 10) : this.settings.hideOffset;
|
|
156
|
-
bindEvents(this);
|
|
157
|
-
|
|
158
|
-
return this.element;
|
|
159
|
-
},
|
|
160
|
-
setDisableAutohide: function(value) {
|
|
161
|
-
this.settings.disableAutohide = value;
|
|
162
|
-
return this.element;
|
|
163
|
-
},
|
|
164
|
-
setShowOnUpscroll: function(value) {
|
|
165
|
-
this.settings.showOnUpscroll = value;
|
|
166
|
-
return this.element;
|
|
167
|
-
},
|
|
168
|
-
setShowOnBottom: function(value) {
|
|
169
|
-
this.settings.showOnBottom = value;
|
|
170
|
-
return this.element;
|
|
171
|
-
},
|
|
172
|
-
setHideOffset: function(value) {
|
|
173
|
-
this.settings.hideOffset = value;
|
|
174
|
-
return this.element;
|
|
175
|
-
},
|
|
176
|
-
setAnimationDuration: function(value) {
|
|
177
|
-
this.settings.animationDuration = value;
|
|
178
|
-
return this.element;
|
|
179
|
-
},
|
|
180
|
-
show: function() {
|
|
181
|
-
show(this);
|
|
182
|
-
return this.element;
|
|
183
|
-
},
|
|
184
|
-
hide: function() {
|
|
185
|
-
hide(this);
|
|
186
|
-
return this.element;
|
|
187
|
-
},
|
|
188
|
-
destroy: function() {
|
|
189
|
-
unbindEvents(this);
|
|
190
|
-
show(this);
|
|
191
|
-
$.data(this, 'plugin_' + pluginName, null);
|
|
192
|
-
return this.element;
|
|
193
|
-
}
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
$.fn[pluginName] = function(options) {
|
|
197
|
-
var args = arguments;
|
|
198
|
-
|
|
199
|
-
if (options === undefined || typeof options === 'object') {
|
|
200
|
-
return this.each(function() {
|
|
201
|
-
if (!$.data(this, 'plugin_' + pluginName)) {
|
|
202
|
-
$.data(this, 'plugin_' + pluginName, new AutoHidingNavbar(this, options));
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
|
|
206
|
-
var returns;
|
|
207
|
-
|
|
208
|
-
this.each(function() {
|
|
209
|
-
var instance = $.data(this, 'plugin_' + pluginName);
|
|
210
|
-
|
|
211
|
-
if (instance instanceof AutoHidingNavbar && typeof instance[options] === 'function') {
|
|
212
|
-
returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
return returns !== undefined ? returns : this;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
};
|
|
220
|
-
|
|
1
|
+
/*
|
|
2
|
+
* Bootstrap Auto-Hiding Navbar - v4.0.0
|
|
3
|
+
* An extension for Bootstrap's fixed navbar which hides the navbar while the page is scrolling downwards and shows it the other way. The plugin is able to show/hide the navbar programmatically as well.
|
|
4
|
+
* http://www.virtuosoft.eu/code/bootstrap-autohidingnavbar/
|
|
5
|
+
*
|
|
6
|
+
* Made by István Ujj-Mészáros
|
|
7
|
+
* Under Apache License v2.0 License
|
|
8
|
+
*/
|
|
9
|
+
;(function($, window, document, undefined) {
|
|
10
|
+
var pluginName = 'autoHidingNavbar',
|
|
11
|
+
$window = $(window),
|
|
12
|
+
$document = $(document),
|
|
13
|
+
_scrollThrottleTimer = null,
|
|
14
|
+
_resizeThrottleTimer = null,
|
|
15
|
+
_throttleDelay = 70,
|
|
16
|
+
_lastScrollHandlerRun = 0,
|
|
17
|
+
_previousScrollTop = null,
|
|
18
|
+
_windowHeight = $window.height(),
|
|
19
|
+
_visible = true,
|
|
20
|
+
_hideOffset,
|
|
21
|
+
defaults = {
|
|
22
|
+
disableAutohide: false,
|
|
23
|
+
showOnUpscroll: true,
|
|
24
|
+
showOnBottom: true,
|
|
25
|
+
hideOffset: 'auto', // "auto" means the navbar height
|
|
26
|
+
animationDuration: 200,
|
|
27
|
+
navbarOffset: 0
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
function AutoHidingNavbar(element, options) {
|
|
31
|
+
this.element = $(element);
|
|
32
|
+
this.settings = $.extend({}, defaults, options);
|
|
33
|
+
this._defaults = defaults;
|
|
34
|
+
this._name = pluginName;
|
|
35
|
+
this.init();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function hide(autoHidingNavbar) {
|
|
39
|
+
if (!_visible) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
autoHidingNavbar.element.addClass('navbar-hidden').animate({
|
|
44
|
+
top: -1 * parseInt(autoHidingNavbar.element.css('height'), 10) + autoHidingNavbar.settings.navbarOffset
|
|
45
|
+
}, {
|
|
46
|
+
queue: false,
|
|
47
|
+
duration: autoHidingNavbar.settings.animationDuration
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
$('.dropdown.open .dropdown-toggle, .dropdown.show .dropdown-toggle', autoHidingNavbar.element).dropdown('toggle');
|
|
52
|
+
}
|
|
53
|
+
catch(e) {}
|
|
54
|
+
|
|
55
|
+
_visible = false;
|
|
56
|
+
|
|
57
|
+
autoHidingNavbar.element.trigger('hide.autoHidingNavbar');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function show(autoHidingNavbar) {
|
|
61
|
+
if (_visible) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
autoHidingNavbar.element.removeClass('navbar-hidden').animate({
|
|
66
|
+
top: 0
|
|
67
|
+
}, {
|
|
68
|
+
queue: false,
|
|
69
|
+
duration: autoHidingNavbar.settings.animationDuration
|
|
70
|
+
});
|
|
71
|
+
_visible = true;
|
|
72
|
+
|
|
73
|
+
autoHidingNavbar.element.trigger('show.autoHidingNavbar');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function detectState(autoHidingNavbar) {
|
|
77
|
+
var scrollTop = $window.scrollTop(),
|
|
78
|
+
scrollDelta = scrollTop - _previousScrollTop;
|
|
79
|
+
|
|
80
|
+
_previousScrollTop = scrollTop;
|
|
81
|
+
|
|
82
|
+
if (scrollDelta < 0) {
|
|
83
|
+
if (_visible) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (autoHidingNavbar.settings.showOnUpscroll || scrollTop <= _hideOffset) {
|
|
88
|
+
show(autoHidingNavbar);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else if (scrollDelta > 0) {
|
|
92
|
+
if (!_visible) {
|
|
93
|
+
if (autoHidingNavbar.settings.showOnBottom && scrollTop + _windowHeight === $document.height()) {
|
|
94
|
+
show(autoHidingNavbar);
|
|
95
|
+
}
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (scrollTop >= _hideOffset) {
|
|
100
|
+
hide(autoHidingNavbar);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function scrollHandler(autoHidingNavbar) {
|
|
107
|
+
if (autoHidingNavbar.settings.disableAutohide) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
_lastScrollHandlerRun = new Date().getTime();
|
|
112
|
+
|
|
113
|
+
detectState(autoHidingNavbar);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function bindEvents(autoHidingNavbar) {
|
|
117
|
+
$document.on('scroll.' + pluginName, function() {
|
|
118
|
+
if (new Date().getTime() - _lastScrollHandlerRun > _throttleDelay) {
|
|
119
|
+
scrollHandler(autoHidingNavbar);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
clearTimeout(_scrollThrottleTimer);
|
|
123
|
+
_scrollThrottleTimer = setTimeout(function() {
|
|
124
|
+
scrollHandler(autoHidingNavbar);
|
|
125
|
+
}, _throttleDelay);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
$window.on('resize.' + pluginName, function() {
|
|
130
|
+
clearTimeout(_resizeThrottleTimer);
|
|
131
|
+
_resizeThrottleTimer = setTimeout(function() {
|
|
132
|
+
_windowHeight = $window.height();
|
|
133
|
+
}, _throttleDelay);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function unbindEvents() {
|
|
138
|
+
$document.off('.' + pluginName);
|
|
139
|
+
|
|
140
|
+
$window.off('.' + pluginName);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
AutoHidingNavbar.prototype = {
|
|
144
|
+
init: function() {
|
|
145
|
+
this.elements = {
|
|
146
|
+
navbar: this.element
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
this.setDisableAutohide(this.settings.disableAutohide);
|
|
150
|
+
this.setShowOnUpscroll(this.settings.showOnUpscroll);
|
|
151
|
+
this.setShowOnBottom(this.settings.showOnBottom);
|
|
152
|
+
this.setHideOffset(this.settings.hideOffset);
|
|
153
|
+
this.setAnimationDuration(this.settings.animationDuration);
|
|
154
|
+
|
|
155
|
+
_hideOffset = this.settings.hideOffset === 'auto' ? parseInt(this.element.css('height'), 10) : this.settings.hideOffset;
|
|
156
|
+
bindEvents(this);
|
|
157
|
+
|
|
158
|
+
return this.element;
|
|
159
|
+
},
|
|
160
|
+
setDisableAutohide: function(value) {
|
|
161
|
+
this.settings.disableAutohide = value;
|
|
162
|
+
return this.element;
|
|
163
|
+
},
|
|
164
|
+
setShowOnUpscroll: function(value) {
|
|
165
|
+
this.settings.showOnUpscroll = value;
|
|
166
|
+
return this.element;
|
|
167
|
+
},
|
|
168
|
+
setShowOnBottom: function(value) {
|
|
169
|
+
this.settings.showOnBottom = value;
|
|
170
|
+
return this.element;
|
|
171
|
+
},
|
|
172
|
+
setHideOffset: function(value) {
|
|
173
|
+
this.settings.hideOffset = value;
|
|
174
|
+
return this.element;
|
|
175
|
+
},
|
|
176
|
+
setAnimationDuration: function(value) {
|
|
177
|
+
this.settings.animationDuration = value;
|
|
178
|
+
return this.element;
|
|
179
|
+
},
|
|
180
|
+
show: function() {
|
|
181
|
+
show(this);
|
|
182
|
+
return this.element;
|
|
183
|
+
},
|
|
184
|
+
hide: function() {
|
|
185
|
+
hide(this);
|
|
186
|
+
return this.element;
|
|
187
|
+
},
|
|
188
|
+
destroy: function() {
|
|
189
|
+
unbindEvents(this);
|
|
190
|
+
show(this);
|
|
191
|
+
$.data(this, 'plugin_' + pluginName, null);
|
|
192
|
+
return this.element;
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
$.fn[pluginName] = function(options) {
|
|
197
|
+
var args = arguments;
|
|
198
|
+
|
|
199
|
+
if (options === undefined || typeof options === 'object') {
|
|
200
|
+
return this.each(function() {
|
|
201
|
+
if (!$.data(this, 'plugin_' + pluginName)) {
|
|
202
|
+
$.data(this, 'plugin_' + pluginName, new AutoHidingNavbar(this, options));
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
|
|
206
|
+
var returns;
|
|
207
|
+
|
|
208
|
+
this.each(function() {
|
|
209
|
+
var instance = $.data(this, 'plugin_' + pluginName);
|
|
210
|
+
|
|
211
|
+
if (instance instanceof AutoHidingNavbar && typeof instance[options] === 'function') {
|
|
212
|
+
returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
return returns !== undefined ? returns : this;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
};
|
|
220
|
+
|
|
221
221
|
})(jQuery, window, document);
|
package/public/settings.js
CHANGED
|
@@ -18,7 +18,7 @@ define('forum/account/theme', ['forum/account/header', 'storage', 'settings', 'a
|
|
|
18
18
|
|
|
19
19
|
document.getElementById('persona:menus:legacy-layout').checked = sidebarSwapped;
|
|
20
20
|
try {
|
|
21
|
-
const parsed = JSON.parse(autohideNavbarEnvs);
|
|
21
|
+
const parsed = JSON.parse(autohideNavbarEnvs) || ['xs', 'sm'];
|
|
22
22
|
parsed.forEach((env) => {
|
|
23
23
|
const optionEl = document.getElementById('persona:navbar:autohide').querySelector(`option[value="${env}"]`);
|
|
24
24
|
optionEl.selected = true;
|
|
@@ -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>
|