nodebb-theme-persona 11.3.30 → 11.3.31
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/less/header.less +0 -21
- package/package.json +1 -1
- package/templates/partials/menu.tpl +263 -263
package/less/header.less
CHANGED
|
@@ -402,24 +402,3 @@ html[data-dir="rtl"] {
|
|
|
402
402
|
text-align: right;
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
|
-
|
|
406
|
-
#mobile-menu:focus i.fa-bars {
|
|
407
|
-
-webkit-animation: fa-spin 2s infinite linear;
|
|
408
|
-
animation: fa-spin 2s infinite linear;
|
|
409
|
-
|
|
410
|
-
&::before {
|
|
411
|
-
font-family: "FontAwesome";
|
|
412
|
-
content: "\f110";
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
@keyframes fa-spin {
|
|
417
|
-
0% {
|
|
418
|
-
-webkit-transform: rotate(0deg);
|
|
419
|
-
transform: rotate(0deg);
|
|
420
|
-
}
|
|
421
|
-
100% {
|
|
422
|
-
-webkit-transform: rotate(359deg);
|
|
423
|
-
transform: rotate(359deg);
|
|
424
|
-
}
|
|
425
|
-
}
|
package/package.json
CHANGED
|
@@ -1,263 +1,263 @@
|
|
|
1
|
-
<div class="navbar-header">
|
|
2
|
-
<button type="button" class="navbar-toggle pull-left" id="mobile-menu">
|
|
3
|
-
<i class="fa fa-lg fa-fw fa-bars unread-count" data-content="{unreadCount.topic}"></i>
|
|
4
|
-
</button>
|
|
5
|
-
{{{ if config.loggedIn }}}
|
|
6
|
-
<button type="button" class="navbar-toggle" id="mobile-chats">
|
|
7
|
-
<span component="notifications/icon" class="notification-icon fa fa-fw fa-bell-o unread-count" data-content="{unreadCount.notification}"></span>
|
|
8
|
-
<span component="chat/icon" class="notification-icon fa fa-fw fa-comments unread-count" data-content="{unreadCount.chat}"></span>
|
|
9
|
-
{buildAvatar(user, "md", true)}
|
|
10
|
-
</button>
|
|
11
|
-
{{{ end }}}
|
|
12
|
-
|
|
13
|
-
{{{ if config.searchEnabled }}}
|
|
14
|
-
<div class="navbar-search visible-xs pull-right">
|
|
15
|
-
<form action="{config.relative_path}/search" method="GET">
|
|
16
|
-
<button type="button" class="btn btn-link"><i class="fa fa-lg fa-fw fa-search" title="[[global:header.search]]"></i></button>
|
|
17
|
-
<input autocomplete="off" type="text" class="form-control hidden" name="term" placeholder="[[global:search]]"/>
|
|
18
|
-
<button class="btn btn-primary hidden" type="submit"></button>
|
|
19
|
-
<input type="text" class="hidden" name="in" value="{config.searchDefaultInQuick}" />
|
|
20
|
-
</form>
|
|
21
|
-
<div class="quick-search-container hidden">
|
|
22
|
-
<div class="quick-search-results-container"></div>
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
25
|
-
{{{ end }}}
|
|
26
|
-
|
|
27
|
-
<!-- IF brand:logo -->
|
|
28
|
-
<a href="<!-- IF brand:logo:url -->{brand:logo:url}<!-- ELSE -->{relative_path}/<!-- ENDIF brand:logo:url -->">
|
|
29
|
-
<img alt="{brand:logo:alt}" class="{brand:logo:display} forum-logo" src="{brand:logo}?{config.cache-buster}" />
|
|
30
|
-
</a>
|
|
31
|
-
<!-- ENDIF brand:logo -->
|
|
32
|
-
<!-- IF config.showSiteTitle -->
|
|
33
|
-
<a href="<!-- IF title:url -->{title:url}<!-- ELSE -->{relative_path}/<!-- ENDIF title:url -->">
|
|
34
|
-
<h1 class="navbar-brand forum-title">{config.siteTitle}</h1>
|
|
35
|
-
</a>
|
|
36
|
-
<!-- ENDIF config.showSiteTitle -->
|
|
37
|
-
|
|
38
|
-
<div component="navbar/title" class="visible-xs hidden">
|
|
39
|
-
<span></span>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
|
|
43
|
-
<div id="nav-dropdown" class="hidden-xs">
|
|
44
|
-
<!-- IF !maintenanceHeader -->
|
|
45
|
-
<!-- IF config.loggedIn -->
|
|
46
|
-
|
|
47
|
-
<ul id="logged-in-menu" class="nav navbar-nav navbar-right">
|
|
48
|
-
<li class="notifications dropdown text-center hidden-xs" component="notifications">
|
|
49
|
-
<a href="{relative_path}/notifications" title="[[global:header.notifications]]" class="dropdown-toggle" data-toggle="dropdown" id="notif_dropdown" data-ajaxify="false" role="button">
|
|
50
|
-
<i component="notifications/icon" class="fa fa-fw fa-bell-o unread-count" data-content="{unreadCount.notification}"></i>
|
|
51
|
-
</a>
|
|
52
|
-
<ul class="dropdown-menu" aria-labelledby="notif_dropdown">
|
|
53
|
-
<li>
|
|
54
|
-
<ul component="notifications/list" class="notification-list">
|
|
55
|
-
<li class="loading-text">
|
|
56
|
-
<a href="#"><i class="fa fa-refresh fa-spin"></i> [[global:notifications.loading]]</a>
|
|
57
|
-
</li>
|
|
58
|
-
</ul>
|
|
59
|
-
</li>
|
|
60
|
-
<li class="notif-dropdown-link"><a href="#" class="mark-all-read">[[notifications:mark_all_read]]</a></li>
|
|
61
|
-
<li class="notif-dropdown-link"><a href="{relative_path}/notifications">[[notifications:see_all]]</a></li>
|
|
62
|
-
</ul>
|
|
63
|
-
</li>
|
|
64
|
-
|
|
65
|
-
<!-- IF canChat -->
|
|
66
|
-
<li class="chats dropdown">
|
|
67
|
-
<a class="dropdown-toggle" data-toggle="dropdown" href="{relative_path}/user/{user.userslug}/chats" title="[[global:header.chats]]" id="chat_dropdown" component="chat/dropdown" data-ajaxify="false" role="button">
|
|
68
|
-
<i component="chat/icon" class="fa fa-comment-o fa-fw unread-count" data-content="{unreadCount.chat}"></i> <span class="visible-xs-inline">[[global:header.chats]]</span>
|
|
69
|
-
</a>
|
|
70
|
-
<ul class="dropdown-menu" aria-labelledby="chat_dropdown">
|
|
71
|
-
<li>
|
|
72
|
-
<ul component="chat/list" class="chat-list chats-list">
|
|
73
|
-
<li class="loading-text">
|
|
74
|
-
<a href="#"><i class="fa fa-refresh fa-spin"></i> [[global:chats.loading]]</a>
|
|
75
|
-
</li>
|
|
76
|
-
</ul>
|
|
77
|
-
</li>
|
|
78
|
-
<li class="notif-dropdown-link"><a href="#" class="mark-all-read" component="chats/mark-all-read">[[modules:chat.mark_all_read]]</a></li>
|
|
79
|
-
<li class="notif-dropdown-link"><a href="{relative_path}/user/{user.userslug}/chats">[[modules:chat.see_all]]</a></li>
|
|
80
|
-
</ul>
|
|
81
|
-
</li>
|
|
82
|
-
<!-- ENDIF canChat -->
|
|
83
|
-
|
|
84
|
-
<li id="user_label" class="dropdown">
|
|
85
|
-
<label for="user-control-list-check" class="dropdown-toggle" data-toggle="dropdown" id="user_dropdown" title="[[global:header.profile]]" role="button">
|
|
86
|
-
{buildAvatar(user, "md", true)}
|
|
87
|
-
<span id="user-header-name" class="visible-xs-inline">{user.username}</span>
|
|
88
|
-
</label>
|
|
89
|
-
<input type="checkbox" class="hidden" id="user-control-list-check" aria-hidden="true">
|
|
90
|
-
<ul id="user-control-list" component="header/usercontrol" class="dropdown-menu" aria-labelledby="user_dropdown">
|
|
91
|
-
<li>
|
|
92
|
-
<a component="header/profilelink" href="{relative_path}/user/{user.userslug}">
|
|
93
|
-
<i component="user/status" class="fa fa-fw fa-circle status {user.status}"></i> <span component="header/username">{user.username}</span>
|
|
94
|
-
</a>
|
|
95
|
-
</li>
|
|
96
|
-
<li role="presentation" class="divider"></li>
|
|
97
|
-
<li>
|
|
98
|
-
<a href="#" class="user-status" data-status="online">
|
|
99
|
-
<i class="fa fa-fw fa-circle status online"></i><span <!-- IF user.online -->class="bold"<!-- ENDIF user.online -->> [[global:online]]</span>
|
|
100
|
-
</a>
|
|
101
|
-
</li>
|
|
102
|
-
<li>
|
|
103
|
-
<a href="#" class="user-status" data-status="away">
|
|
104
|
-
<i class="fa fa-fw fa-circle status away"></i><span <!-- IF user.away -->class="bold"<!-- ENDIF user.away -->> [[global:away]]</span>
|
|
105
|
-
</a>
|
|
106
|
-
</li>
|
|
107
|
-
<li>
|
|
108
|
-
<a href="#" class="user-status" data-status="dnd">
|
|
109
|
-
<i class="fa fa-fw fa-circle status dnd"></i><span <!-- IF user.dnd -->class="bold"<!-- ENDIF user.dnd -->> [[global:dnd]]</span>
|
|
110
|
-
</a>
|
|
111
|
-
</li>
|
|
112
|
-
<li>
|
|
113
|
-
<a href="#" class="user-status" data-status="offline">
|
|
114
|
-
<i class="fa fa-fw fa-circle status offline"></i><span <!-- IF user.offline -->class="bold"<!-- ENDIF user.offline -->> [[global:invisible]]</span>
|
|
115
|
-
</a>
|
|
116
|
-
</li>
|
|
117
|
-
<li role="presentation" class="divider"></li>
|
|
118
|
-
<li>
|
|
119
|
-
<a component="header/profilelink/edit" href="{relative_path}/user/{user.userslug}/edit">
|
|
120
|
-
<i class="fa fa-fw fa-edit"></i> <span>[[user:edit-profile]]</span>
|
|
121
|
-
</a>
|
|
122
|
-
</li>
|
|
123
|
-
<li>
|
|
124
|
-
<a component="header/profilelink/settings" href="{relative_path}/user/{user.userslug}/settings">
|
|
125
|
-
<i class="fa fa-fw fa-gear"></i> <span>[[user:settings]]</span>
|
|
126
|
-
</a>
|
|
127
|
-
</li>
|
|
128
|
-
{{{ if showModMenu }}}
|
|
129
|
-
<li role="presentation" class="divider"></li>
|
|
130
|
-
<li class="dropdown-header">[[pages:moderator-tools]]</li>
|
|
131
|
-
<li>
|
|
132
|
-
<a href="{relative_path}/flags">
|
|
133
|
-
<i class="fa fa-fw fa-flag"></i> <span>[[pages:flagged-content]]</span>
|
|
134
|
-
</a>
|
|
135
|
-
</li>
|
|
136
|
-
<li>
|
|
137
|
-
<a href="{relative_path}/post-queue">
|
|
138
|
-
<i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
|
|
139
|
-
</a>
|
|
140
|
-
</li>
|
|
141
|
-
<li>
|
|
142
|
-
<a href="{relative_path}/ip-blacklist">
|
|
143
|
-
<i class="fa fa-fw fa-ban"></i> <span>[[pages:ip-blacklist]]</span>
|
|
144
|
-
</a>
|
|
145
|
-
</li>
|
|
146
|
-
{{{ else }}}
|
|
147
|
-
{{{ if postQueueEnabled }}}
|
|
148
|
-
<li>
|
|
149
|
-
<a href="{relative_path}/post-queue">
|
|
150
|
-
<i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
|
|
151
|
-
</a>
|
|
152
|
-
</li>
|
|
153
|
-
{{{ end }}}
|
|
154
|
-
{{{ end }}}
|
|
155
|
-
|
|
156
|
-
<li role="presentation" class="divider"></li>
|
|
157
|
-
<li component="user/logout">
|
|
158
|
-
<form method="post" action="{relative_path}/logout">
|
|
159
|
-
<input type="hidden" name="_csrf" value="{config.csrf_token}">
|
|
160
|
-
<input type="hidden" name="noscript" value="true">
|
|
161
|
-
<button type="submit" class="btn btn-link">
|
|
162
|
-
<i class="fa fa-fw fa-sign-out"></i><span> [[global:logout]]</span>
|
|
163
|
-
</button>
|
|
164
|
-
</form>
|
|
165
|
-
</li>
|
|
166
|
-
</ul>
|
|
167
|
-
</li>
|
|
168
|
-
|
|
169
|
-
</ul>
|
|
170
|
-
<!-- ELSE -->
|
|
171
|
-
<ul id="logged-out-menu" class="nav navbar-nav navbar-right">
|
|
172
|
-
<!-- IF allowRegistration -->
|
|
173
|
-
<li>
|
|
174
|
-
<a href="{relative_path}/register">
|
|
175
|
-
<i class="fa fa-pencil fa-fw hidden-sm hidden-md hidden-lg"></i>
|
|
176
|
-
<span>[[global:register]]</span>
|
|
177
|
-
</a>
|
|
178
|
-
</li>
|
|
179
|
-
<!-- ENDIF allowRegistration -->
|
|
180
|
-
<li>
|
|
181
|
-
<a href="{relative_path}/login">
|
|
182
|
-
<i class="fa fa-sign-in fa-fw hidden-sm hidden-md hidden-lg"></i>
|
|
183
|
-
<span>[[global:login]]</span>
|
|
184
|
-
</a>
|
|
185
|
-
</li>
|
|
186
|
-
</ul>
|
|
187
|
-
<!-- ENDIF config.loggedIn -->
|
|
188
|
-
<!-- IF config.searchEnabled -->
|
|
189
|
-
<ul class="nav navbar-nav navbar-right">
|
|
190
|
-
<li>
|
|
191
|
-
<form id="search-form" class="navbar-form navbar-right hidden-xs" role="search" method="GET">
|
|
192
|
-
<button id="search-button" type="button" class="btn btn-link"><i class="fa fa-search fa-fw" title="[[global:header.search]]"></i></button>
|
|
193
|
-
<div class="hidden" id="search-fields">
|
|
194
|
-
<div class="form-group">
|
|
195
|
-
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="">
|
|
196
|
-
<a href="#"><i class="fa fa-gears fa-fw advanced-search-link"></i></a>
|
|
197
|
-
</div>
|
|
198
|
-
<button type="submit" class="btn btn-default hide">[[global:search]]</button>
|
|
199
|
-
</div>
|
|
200
|
-
</form>
|
|
201
|
-
<div id="quick-search-container" class="quick-search-container hidden">
|
|
202
|
-
<div class="checkbox filter-category">
|
|
203
|
-
<label>
|
|
204
|
-
<input type="checkbox" checked><span class="name"></span>
|
|
205
|
-
</label>
|
|
206
|
-
</div>
|
|
207
|
-
<div class="text-center loading-indicator"><i class="fa fa-spinner fa-spin"></i></div>
|
|
208
|
-
<div class="quick-search-results-container"></div>
|
|
209
|
-
</div>
|
|
210
|
-
</li>
|
|
211
|
-
<li class="visible-xs" id="search-menu">
|
|
212
|
-
<a href="{relative_path}/search">
|
|
213
|
-
<i class="fa fa-search fa-fw"></i> [[global:search]]
|
|
214
|
-
</a>
|
|
215
|
-
</li>
|
|
216
|
-
</ul>
|
|
217
|
-
<!-- ENDIF config.searchEnabled -->
|
|
218
|
-
|
|
219
|
-
<ul class="nav navbar-nav navbar-right hidden-xs">
|
|
220
|
-
<li>
|
|
221
|
-
<a href="#" id="reconnect" class="hide" title="[[global:reconnecting-message, {config.siteTitle}]]">
|
|
222
|
-
<i class="fa fa-check"></i>
|
|
223
|
-
</a>
|
|
224
|
-
</li>
|
|
225
|
-
</ul>
|
|
226
|
-
|
|
227
|
-
<ul id="main-nav" class="nav navbar-nav">
|
|
228
|
-
{{{each navigation}}}
|
|
229
|
-
<!-- IF function.displayMenuItem, @index -->
|
|
230
|
-
<li class="{navigation.class}{{{ if navigation.dropdown }}} dropdown{{{ end }}}">
|
|
231
|
-
<a title="{navigation.title}" class="navigation-link {{{ if navigation.dropdown }}}dropdown-toggle{{{ end }}}"
|
|
232
|
-
{{{ if navigation.dropdown }}} href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" {{{ else }}} href="{navigation.route}"{{{ end }}} {{{ if navigation.id }}}id="{navigation.id}"{{{ end }}}{{{ if navigation.targetBlank }}} target="_blank"{{{ end }}}>
|
|
233
|
-
{{{ if navigation.iconClass }}}
|
|
234
|
-
<i class="fa fa-fw {navigation.iconClass}" data-content="{navigation.content}"></i>
|
|
235
|
-
{{{ end }}}
|
|
236
|
-
{{{ if navigation.text }}}
|
|
237
|
-
<span class="{navigation.textClass}">{navigation.text}</span>
|
|
238
|
-
{{{ end }}}
|
|
239
|
-
{{{ if navigation.dropdown}}}
|
|
240
|
-
<i class="fa fa-caret-down"></i>
|
|
241
|
-
{{{ end }}}
|
|
242
|
-
</a>
|
|
243
|
-
{{{ if navigation.dropdown }}}
|
|
244
|
-
<ul class="dropdown-menu">
|
|
245
|
-
{navigation.dropdownContent}
|
|
246
|
-
</ul>
|
|
247
|
-
{{{ end }}}
|
|
248
|
-
</li>
|
|
249
|
-
<!-- ENDIF function.displayMenuItem -->
|
|
250
|
-
{{{end}}}
|
|
251
|
-
</ul>
|
|
252
|
-
|
|
253
|
-
<!-- ELSE -->
|
|
254
|
-
<ul class="nav navbar-nav navbar-right">
|
|
255
|
-
<li>
|
|
256
|
-
<a href="{relative_path}/login">
|
|
257
|
-
<i class="fa fa-sign-in fa-fw hidden-sm hidden-md hidden-lg"></i>
|
|
258
|
-
<span>[[global:login]]</span>
|
|
259
|
-
</a>
|
|
260
|
-
</li>
|
|
261
|
-
</ul>
|
|
262
|
-
<!-- ENDIF !maintenanceHeader -->
|
|
263
|
-
</div>
|
|
1
|
+
<div class="navbar-header">
|
|
2
|
+
<button type="button" class="navbar-toggle pull-left" id="mobile-menu">
|
|
3
|
+
<i class="fa fa-lg fa-fw fa-bars unread-count" data-content="{unreadCount.topic}"></i>
|
|
4
|
+
</button>
|
|
5
|
+
{{{ if config.loggedIn }}}
|
|
6
|
+
<button type="button" class="navbar-toggle" id="mobile-chats">
|
|
7
|
+
<span component="notifications/icon" class="notification-icon fa fa-fw fa-bell-o unread-count" data-content="{unreadCount.notification}"></span>
|
|
8
|
+
<span component="chat/icon" class="notification-icon fa fa-fw fa-comments unread-count" data-content="{unreadCount.chat}"></span>
|
|
9
|
+
{buildAvatar(user, "md", true)}
|
|
10
|
+
</button>
|
|
11
|
+
{{{ end }}}
|
|
12
|
+
|
|
13
|
+
{{{ if config.searchEnabled }}}
|
|
14
|
+
<div class="navbar-search visible-xs pull-right">
|
|
15
|
+
<form action="{config.relative_path}/search" method="GET">
|
|
16
|
+
<button type="button" class="btn btn-link"><i class="fa fa-lg fa-fw fa-search" title="[[global:header.search]]"></i></button>
|
|
17
|
+
<input autocomplete="off" type="text" class="form-control hidden" name="term" placeholder="[[global:search]]"/>
|
|
18
|
+
<button class="btn btn-primary hidden" type="submit"></button>
|
|
19
|
+
<input type="text" class="hidden" name="in" value="{config.searchDefaultInQuick}" />
|
|
20
|
+
</form>
|
|
21
|
+
<div class="quick-search-container hidden">
|
|
22
|
+
<div class="quick-search-results-container"></div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
{{{ end }}}
|
|
26
|
+
|
|
27
|
+
<!-- IF brand:logo -->
|
|
28
|
+
<a href="<!-- IF brand:logo:url -->{brand:logo:url}<!-- ELSE -->{relative_path}/<!-- ENDIF brand:logo:url -->">
|
|
29
|
+
<img alt="{brand:logo:alt}" class="{brand:logo:display} forum-logo" src="{brand:logo}?{config.cache-buster}" />
|
|
30
|
+
</a>
|
|
31
|
+
<!-- ENDIF brand:logo -->
|
|
32
|
+
<!-- IF config.showSiteTitle -->
|
|
33
|
+
<a href="<!-- IF title:url -->{title:url}<!-- ELSE -->{relative_path}/<!-- ENDIF title:url -->">
|
|
34
|
+
<h1 class="navbar-brand forum-title">{config.siteTitle}</h1>
|
|
35
|
+
</a>
|
|
36
|
+
<!-- ENDIF config.showSiteTitle -->
|
|
37
|
+
|
|
38
|
+
<div component="navbar/title" class="visible-xs hidden">
|
|
39
|
+
<span></span>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div id="nav-dropdown" class="hidden-xs">
|
|
44
|
+
<!-- IF !maintenanceHeader -->
|
|
45
|
+
<!-- IF config.loggedIn -->
|
|
46
|
+
|
|
47
|
+
<ul id="logged-in-menu" class="nav navbar-nav navbar-right">
|
|
48
|
+
<li class="notifications dropdown text-center hidden-xs" component="notifications">
|
|
49
|
+
<a href="{relative_path}/notifications" title="[[global:header.notifications]]" class="dropdown-toggle" data-toggle="dropdown" id="notif_dropdown" data-ajaxify="false" role="button">
|
|
50
|
+
<i component="notifications/icon" class="fa fa-fw fa-bell-o unread-count" data-content="{unreadCount.notification}"></i>
|
|
51
|
+
</a>
|
|
52
|
+
<ul class="dropdown-menu" aria-labelledby="notif_dropdown">
|
|
53
|
+
<li>
|
|
54
|
+
<ul component="notifications/list" class="notification-list">
|
|
55
|
+
<li class="loading-text">
|
|
56
|
+
<a href="#"><i class="fa fa-refresh fa-spin"></i> [[global:notifications.loading]]</a>
|
|
57
|
+
</li>
|
|
58
|
+
</ul>
|
|
59
|
+
</li>
|
|
60
|
+
<li class="notif-dropdown-link"><a href="#" class="mark-all-read">[[notifications:mark_all_read]]</a></li>
|
|
61
|
+
<li class="notif-dropdown-link"><a href="{relative_path}/notifications">[[notifications:see_all]]</a></li>
|
|
62
|
+
</ul>
|
|
63
|
+
</li>
|
|
64
|
+
|
|
65
|
+
<!-- IF canChat -->
|
|
66
|
+
<li class="chats dropdown">
|
|
67
|
+
<a class="dropdown-toggle" data-toggle="dropdown" href="{relative_path}/user/{user.userslug}/chats" title="[[global:header.chats]]" id="chat_dropdown" component="chat/dropdown" data-ajaxify="false" role="button">
|
|
68
|
+
<i component="chat/icon" class="fa fa-comment-o fa-fw unread-count" data-content="{unreadCount.chat}"></i> <span class="visible-xs-inline">[[global:header.chats]]</span>
|
|
69
|
+
</a>
|
|
70
|
+
<ul class="dropdown-menu" aria-labelledby="chat_dropdown">
|
|
71
|
+
<li>
|
|
72
|
+
<ul component="chat/list" class="chat-list chats-list">
|
|
73
|
+
<li class="loading-text">
|
|
74
|
+
<a href="#"><i class="fa fa-refresh fa-spin"></i> [[global:chats.loading]]</a>
|
|
75
|
+
</li>
|
|
76
|
+
</ul>
|
|
77
|
+
</li>
|
|
78
|
+
<li class="notif-dropdown-link"><a href="#" class="mark-all-read" component="chats/mark-all-read">[[modules:chat.mark_all_read]]</a></li>
|
|
79
|
+
<li class="notif-dropdown-link"><a href="{relative_path}/user/{user.userslug}/chats">[[modules:chat.see_all]]</a></li>
|
|
80
|
+
</ul>
|
|
81
|
+
</li>
|
|
82
|
+
<!-- ENDIF canChat -->
|
|
83
|
+
|
|
84
|
+
<li id="user_label" class="dropdown">
|
|
85
|
+
<label for="user-control-list-check" class="dropdown-toggle" data-toggle="dropdown" id="user_dropdown" title="[[global:header.profile]]" role="button">
|
|
86
|
+
{buildAvatar(user, "md", true)}
|
|
87
|
+
<span id="user-header-name" class="visible-xs-inline">{user.username}</span>
|
|
88
|
+
</label>
|
|
89
|
+
<input type="checkbox" class="hidden" id="user-control-list-check" aria-hidden="true">
|
|
90
|
+
<ul id="user-control-list" component="header/usercontrol" class="dropdown-menu" aria-labelledby="user_dropdown">
|
|
91
|
+
<li>
|
|
92
|
+
<a component="header/profilelink" href="{relative_path}/user/{user.userslug}">
|
|
93
|
+
<i component="user/status" class="fa fa-fw fa-circle status {user.status}"></i> <span component="header/username">{user.username}</span>
|
|
94
|
+
</a>
|
|
95
|
+
</li>
|
|
96
|
+
<li role="presentation" class="divider"></li>
|
|
97
|
+
<li>
|
|
98
|
+
<a href="#" class="user-status" data-status="online">
|
|
99
|
+
<i class="fa fa-fw fa-circle status online"></i><span <!-- IF user.online -->class="bold"<!-- ENDIF user.online -->> [[global:online]]</span>
|
|
100
|
+
</a>
|
|
101
|
+
</li>
|
|
102
|
+
<li>
|
|
103
|
+
<a href="#" class="user-status" data-status="away">
|
|
104
|
+
<i class="fa fa-fw fa-circle status away"></i><span <!-- IF user.away -->class="bold"<!-- ENDIF user.away -->> [[global:away]]</span>
|
|
105
|
+
</a>
|
|
106
|
+
</li>
|
|
107
|
+
<li>
|
|
108
|
+
<a href="#" class="user-status" data-status="dnd">
|
|
109
|
+
<i class="fa fa-fw fa-circle status dnd"></i><span <!-- IF user.dnd -->class="bold"<!-- ENDIF user.dnd -->> [[global:dnd]]</span>
|
|
110
|
+
</a>
|
|
111
|
+
</li>
|
|
112
|
+
<li>
|
|
113
|
+
<a href="#" class="user-status" data-status="offline">
|
|
114
|
+
<i class="fa fa-fw fa-circle status offline"></i><span <!-- IF user.offline -->class="bold"<!-- ENDIF user.offline -->> [[global:invisible]]</span>
|
|
115
|
+
</a>
|
|
116
|
+
</li>
|
|
117
|
+
<li role="presentation" class="divider"></li>
|
|
118
|
+
<li>
|
|
119
|
+
<a component="header/profilelink/edit" href="{relative_path}/user/{user.userslug}/edit">
|
|
120
|
+
<i class="fa fa-fw fa-edit"></i> <span>[[user:edit-profile]]</span>
|
|
121
|
+
</a>
|
|
122
|
+
</li>
|
|
123
|
+
<li>
|
|
124
|
+
<a component="header/profilelink/settings" href="{relative_path}/user/{user.userslug}/settings">
|
|
125
|
+
<i class="fa fa-fw fa-gear"></i> <span>[[user:settings]]</span>
|
|
126
|
+
</a>
|
|
127
|
+
</li>
|
|
128
|
+
{{{ if showModMenu }}}
|
|
129
|
+
<li role="presentation" class="divider"></li>
|
|
130
|
+
<li class="dropdown-header">[[pages:moderator-tools]]</li>
|
|
131
|
+
<li>
|
|
132
|
+
<a href="{relative_path}/flags">
|
|
133
|
+
<i class="fa fa-fw fa-flag"></i> <span>[[pages:flagged-content]]</span>
|
|
134
|
+
</a>
|
|
135
|
+
</li>
|
|
136
|
+
<li>
|
|
137
|
+
<a href="{relative_path}/post-queue">
|
|
138
|
+
<i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
|
|
139
|
+
</a>
|
|
140
|
+
</li>
|
|
141
|
+
<li>
|
|
142
|
+
<a href="{relative_path}/ip-blacklist">
|
|
143
|
+
<i class="fa fa-fw fa-ban"></i> <span>[[pages:ip-blacklist]]</span>
|
|
144
|
+
</a>
|
|
145
|
+
</li>
|
|
146
|
+
{{{ else }}}
|
|
147
|
+
{{{ if postQueueEnabled }}}
|
|
148
|
+
<li>
|
|
149
|
+
<a href="{relative_path}/post-queue">
|
|
150
|
+
<i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
|
|
151
|
+
</a>
|
|
152
|
+
</li>
|
|
153
|
+
{{{ end }}}
|
|
154
|
+
{{{ end }}}
|
|
155
|
+
|
|
156
|
+
<li role="presentation" class="divider"></li>
|
|
157
|
+
<li component="user/logout">
|
|
158
|
+
<form method="post" action="{relative_path}/logout">
|
|
159
|
+
<input type="hidden" name="_csrf" value="{config.csrf_token}">
|
|
160
|
+
<input type="hidden" name="noscript" value="true">
|
|
161
|
+
<button type="submit" class="btn btn-link">
|
|
162
|
+
<i class="fa fa-fw fa-sign-out"></i><span> [[global:logout]]</span>
|
|
163
|
+
</button>
|
|
164
|
+
</form>
|
|
165
|
+
</li>
|
|
166
|
+
</ul>
|
|
167
|
+
</li>
|
|
168
|
+
|
|
169
|
+
</ul>
|
|
170
|
+
<!-- ELSE -->
|
|
171
|
+
<ul id="logged-out-menu" class="nav navbar-nav navbar-right">
|
|
172
|
+
<!-- IF allowRegistration -->
|
|
173
|
+
<li>
|
|
174
|
+
<a href="{relative_path}/register">
|
|
175
|
+
<i class="fa fa-pencil fa-fw hidden-sm hidden-md hidden-lg"></i>
|
|
176
|
+
<span>[[global:register]]</span>
|
|
177
|
+
</a>
|
|
178
|
+
</li>
|
|
179
|
+
<!-- ENDIF allowRegistration -->
|
|
180
|
+
<li>
|
|
181
|
+
<a href="{relative_path}/login">
|
|
182
|
+
<i class="fa fa-sign-in fa-fw hidden-sm hidden-md hidden-lg"></i>
|
|
183
|
+
<span>[[global:login]]</span>
|
|
184
|
+
</a>
|
|
185
|
+
</li>
|
|
186
|
+
</ul>
|
|
187
|
+
<!-- ENDIF config.loggedIn -->
|
|
188
|
+
<!-- IF config.searchEnabled -->
|
|
189
|
+
<ul class="nav navbar-nav navbar-right">
|
|
190
|
+
<li>
|
|
191
|
+
<form id="search-form" class="navbar-form navbar-right hidden-xs" role="search" method="GET">
|
|
192
|
+
<button id="search-button" type="button" class="btn btn-link"><i class="fa fa-search fa-fw" title="[[global:header.search]]"></i></button>
|
|
193
|
+
<div class="hidden" id="search-fields">
|
|
194
|
+
<div class="form-group">
|
|
195
|
+
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="">
|
|
196
|
+
<a href="#"><i class="fa fa-gears fa-fw advanced-search-link"></i></a>
|
|
197
|
+
</div>
|
|
198
|
+
<button type="submit" class="btn btn-default hide">[[global:search]]</button>
|
|
199
|
+
</div>
|
|
200
|
+
</form>
|
|
201
|
+
<div id="quick-search-container" class="quick-search-container hidden">
|
|
202
|
+
<div class="checkbox filter-category">
|
|
203
|
+
<label>
|
|
204
|
+
<input type="checkbox" checked><span class="name"></span>
|
|
205
|
+
</label>
|
|
206
|
+
</div>
|
|
207
|
+
<div class="text-center loading-indicator"><i class="fa fa-spinner fa-spin"></i></div>
|
|
208
|
+
<div class="quick-search-results-container"></div>
|
|
209
|
+
</div>
|
|
210
|
+
</li>
|
|
211
|
+
<li class="visible-xs" id="search-menu">
|
|
212
|
+
<a href="{relative_path}/search">
|
|
213
|
+
<i class="fa fa-search fa-fw"></i> [[global:search]]
|
|
214
|
+
</a>
|
|
215
|
+
</li>
|
|
216
|
+
</ul>
|
|
217
|
+
<!-- ENDIF config.searchEnabled -->
|
|
218
|
+
|
|
219
|
+
<ul class="nav navbar-nav navbar-right hidden-xs">
|
|
220
|
+
<li>
|
|
221
|
+
<a href="#" id="reconnect" class="hide" title="[[global:reconnecting-message, {config.siteTitle}]]">
|
|
222
|
+
<i class="fa fa-check"></i>
|
|
223
|
+
</a>
|
|
224
|
+
</li>
|
|
225
|
+
</ul>
|
|
226
|
+
|
|
227
|
+
<ul id="main-nav" class="nav navbar-nav">
|
|
228
|
+
{{{each navigation}}}
|
|
229
|
+
<!-- IF function.displayMenuItem, @index -->
|
|
230
|
+
<li class="{navigation.class}{{{ if navigation.dropdown }}} dropdown{{{ end }}}">
|
|
231
|
+
<a title="{navigation.title}" class="navigation-link {{{ if navigation.dropdown }}}dropdown-toggle{{{ end }}}"
|
|
232
|
+
{{{ if navigation.dropdown }}} href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" {{{ else }}} href="{navigation.route}"{{{ end }}} {{{ if navigation.id }}}id="{navigation.id}"{{{ end }}}{{{ if navigation.targetBlank }}} target="_blank"{{{ end }}}>
|
|
233
|
+
{{{ if navigation.iconClass }}}
|
|
234
|
+
<i class="fa fa-fw {navigation.iconClass}" data-content="{navigation.content}"></i>
|
|
235
|
+
{{{ end }}}
|
|
236
|
+
{{{ if navigation.text }}}
|
|
237
|
+
<span class="{navigation.textClass}">{navigation.text}</span>
|
|
238
|
+
{{{ end }}}
|
|
239
|
+
{{{ if navigation.dropdown}}}
|
|
240
|
+
<i class="fa fa-caret-down"></i>
|
|
241
|
+
{{{ end }}}
|
|
242
|
+
</a>
|
|
243
|
+
{{{ if navigation.dropdown }}}
|
|
244
|
+
<ul class="dropdown-menu">
|
|
245
|
+
{navigation.dropdownContent}
|
|
246
|
+
</ul>
|
|
247
|
+
{{{ end }}}
|
|
248
|
+
</li>
|
|
249
|
+
<!-- ENDIF function.displayMenuItem -->
|
|
250
|
+
{{{end}}}
|
|
251
|
+
</ul>
|
|
252
|
+
|
|
253
|
+
<!-- ELSE -->
|
|
254
|
+
<ul class="nav navbar-nav navbar-right">
|
|
255
|
+
<li>
|
|
256
|
+
<a href="{relative_path}/login">
|
|
257
|
+
<i class="fa fa-sign-in fa-fw hidden-sm hidden-md hidden-lg"></i>
|
|
258
|
+
<span>[[global:login]]</span>
|
|
259
|
+
</a>
|
|
260
|
+
</li>
|
|
261
|
+
</ul>
|
|
262
|
+
<!-- ENDIF !maintenanceHeader -->
|
|
263
|
+
</div>
|