nodebb-theme-persona 14.2.8 → 14.2.10
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/package.json
CHANGED
|
@@ -1,41 +1,30 @@
|
|
|
1
1
|
<!-- IMPORT partials/account/header.tpl -->
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
<div class="
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<li class="list-group-item" data-uuid="{../uuid}">
|
|
10
|
-
<div class="float-end">
|
|
11
|
-
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
12
|
-
<!-- IF !../current -->
|
|
13
|
-
<button class="btn btn-sm btn-outline-secondary" type="button" data-action="revokeSession">Revoke Session</button>
|
|
14
|
-
<!-- ENDIF !../current -->
|
|
15
|
-
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
16
|
-
{function.userAgentIcons}
|
|
17
|
-
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
18
|
-
</div>
|
|
19
|
-
{../browser} {../version} on {../platform}<br />
|
|
20
|
-
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
21
|
-
<ul>
|
|
22
|
-
<li><strong>[[global:ip-address]]</strong>: {../ip}</li>
|
|
23
|
-
</ul>
|
|
24
|
-
</li>
|
|
25
|
-
{{{end}}}
|
|
26
|
-
</ul>
|
|
27
|
-
</div>
|
|
3
|
+
{{{ if sessions.length }}}
|
|
4
|
+
<div class="mb-3">
|
|
5
|
+
<h5>[[global:sessions]]</h5>
|
|
6
|
+
<ul class="list-group" component="user/sessions">
|
|
7
|
+
<!-- IMPORT partials/account/session-list.tpl -->
|
|
8
|
+
</ul>
|
|
28
9
|
</div>
|
|
29
|
-
|
|
10
|
+
{{{ end }}}
|
|
30
11
|
|
|
31
12
|
<div class="row">
|
|
32
|
-
<div class="col-sm-6">
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
<
|
|
13
|
+
<div class="col-sm-6 mb-3">
|
|
14
|
+
{{{ if invitedBy}}}
|
|
15
|
+
<div class="mb-4 pb-3 border-bottom">
|
|
16
|
+
<h6>[[user:info.invited-by]]</h6>
|
|
17
|
+
<div class="d-flex align-items-center gap-2">
|
|
18
|
+
<a href="">{buildAvatar(invitedBy, "24px", true)}</a>
|
|
19
|
+
<a href="">{invitedBy.username}</a>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
{{{ end }}}
|
|
23
|
+
|
|
24
|
+
<div class="mb-4 border-bottom">
|
|
25
|
+
<h6>[[global:recentips]]</h6>
|
|
26
|
+
<div class="">
|
|
27
|
+
<ul class="text-sm text-secondary">
|
|
39
28
|
{{{each ips}}}
|
|
40
29
|
<li>{@value}</li>
|
|
41
30
|
{{{end}}}
|
|
@@ -43,22 +32,20 @@
|
|
|
43
32
|
</div>
|
|
44
33
|
</div>
|
|
45
34
|
|
|
46
|
-
<div class="
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<div class="card-body">
|
|
51
|
-
<ul class="list-unstyled mb-0">
|
|
35
|
+
<div class="mb-4 border-bottom">
|
|
36
|
+
<h6>[[user:info.username-history]]</h6>
|
|
37
|
+
<div class="">
|
|
38
|
+
<ul class="list-unstyled">
|
|
52
39
|
{{{ each usernames }}}
|
|
53
40
|
<li class="d-flex justify-content-between mb-1">
|
|
54
|
-
<span class="text-sm">{./value}</span>
|
|
41
|
+
<span class="text-sm text-secondary">{./value}</span>
|
|
55
42
|
|
|
56
43
|
<div>
|
|
57
44
|
{{{ if ./byUid }}}
|
|
58
45
|
<a class="lh-1" href="{{{ if ./byUser.userslug }}}{config.relative_path}/user/{./byUser.userslug}{{{ else }}}#{{{ end }}}">
|
|
59
46
|
{buildAvatar(./byUser, "18px", true)}</a>
|
|
60
47
|
{{{ end }}}
|
|
61
|
-
<span class="timeago text-sm lh-1" title="{./timestampISO}"></span>
|
|
48
|
+
<span class="timeago text-sm text-secondary lh-1 align-middle" title="{./timestampISO}"></span>
|
|
62
49
|
</div>
|
|
63
50
|
</li>
|
|
64
51
|
{{{ end }}}
|
|
@@ -66,79 +53,30 @@
|
|
|
66
53
|
</div>
|
|
67
54
|
</div>
|
|
68
55
|
|
|
69
|
-
<div class="
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
<div class="card-body">
|
|
74
|
-
<ul class="list-unstyled mb-0">
|
|
56
|
+
<div class="mb-4 border-bottom">
|
|
57
|
+
<h6>[[user:info.email-history]]</h6>
|
|
58
|
+
<div class="">
|
|
59
|
+
<ul class="list-unstyled">
|
|
75
60
|
{{{ each emails }}}
|
|
76
61
|
<li class="d-flex justify-content-between mb-1">
|
|
77
|
-
<span class="text-sm">{./value}</span>
|
|
62
|
+
<span class="text-sm text-secondary">{./value}</span>
|
|
78
63
|
<div>
|
|
79
64
|
{{{ if ./byUid }}}
|
|
80
65
|
<a class="lh-1" href="{{{ if ./byUser.userslug }}}{config.relative_path}/user/{./byUser.userslug}{{{ else }}}#{{{ end }}}">
|
|
81
66
|
{buildAvatar(./byUser, "18px", true)}</a>
|
|
82
67
|
{{{ end }}}
|
|
83
|
-
<span class="timeago text-sm lh-1" title="{./timestampISO}"></span>
|
|
68
|
+
<span class="timeago text-sm text-secondary lh-1 align-middle" title="{./timestampISO}"></span>
|
|
84
69
|
</div>
|
|
85
70
|
</li>
|
|
86
71
|
{{{ end }}}
|
|
87
72
|
</ul>
|
|
88
73
|
</div>
|
|
89
74
|
</div>
|
|
90
|
-
<!-- IF isAdminOrGlobalModerator -->
|
|
91
|
-
<div class="card">
|
|
92
|
-
<h5 class="card-header">
|
|
93
|
-
[[user:info.moderation-note]]
|
|
94
|
-
</h5>
|
|
95
|
-
<div class="card-body">
|
|
96
|
-
<textarea component="account/moderation-note" class="form-control"></textarea>
|
|
97
|
-
<br/>
|
|
98
|
-
<button class="btn btn-sm float-end btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
|
|
99
|
-
<br/>
|
|
100
|
-
<div component="account/moderation-note/list">
|
|
101
|
-
{{{ each moderationNotes }}}
|
|
102
|
-
<hr/>
|
|
103
75
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" class="fw-bold" itemprop="author" data-username="{./user.username}" data-uid="{./user.uid}">{./user.username}</a>
|
|
109
|
-
|
|
110
|
-
<span class="timeago" title="{./timestampISO}"></span>
|
|
111
|
-
</div>
|
|
112
|
-
|
|
113
|
-
<div component="account/moderation-note/content-area" class="d-flex flex-column">
|
|
114
|
-
<div class="content">
|
|
115
|
-
{./note}
|
|
116
|
-
</div>
|
|
117
|
-
<button component="account/moderation-note/edit" class="btn btn-sm btn-link align-self-end">[[topic:edit]]</button>
|
|
118
|
-
</div>
|
|
119
|
-
|
|
120
|
-
<div component="account/moderation-note/edit-area" class="d-flex flex-column gap-2">
|
|
121
|
-
<textarea class="form-control w-100 overflow-hidden">{./rawNote}</textarea>
|
|
122
|
-
<div class="align-self-end">
|
|
123
|
-
<button component="account/moderation-note/cancel-edit" class="btn btn-sm btn-link text-danger align-self-end">[[global:cancel]]</button>
|
|
124
|
-
<button component="account/moderation-note/save-edit" class="btn btn-sm btn-primary align-self-end">[[global:save]]</button>
|
|
125
|
-
</div>
|
|
126
|
-
</div>
|
|
127
|
-
</div>
|
|
128
|
-
{{{ end }}}
|
|
129
|
-
</div>
|
|
130
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
<!-- ENDIF isAdminOrGlobalModerator -->
|
|
134
|
-
</div>
|
|
135
|
-
<div class="col-sm-6">
|
|
136
|
-
<div class="card mb-3">
|
|
137
|
-
<h5 class="card-header">
|
|
138
|
-
[[user:info.latest-flags]]
|
|
139
|
-
</h5>
|
|
140
|
-
<div class="card-body">
|
|
141
|
-
<!-- IF history.flags.length -->
|
|
76
|
+
<div class="mb-3 border-bottom">
|
|
77
|
+
<h6>[[user:info.latest-flags]]</h6>
|
|
78
|
+
<div class="">
|
|
79
|
+
{{{ if history.flags.length }}}
|
|
142
80
|
<ul class="recent-flags list-unstyled">
|
|
143
81
|
{{{ each history.flags }}}
|
|
144
82
|
<li class="mb-4 border-bottom">
|
|
@@ -176,28 +114,25 @@
|
|
|
176
114
|
</li>
|
|
177
115
|
{{{ end }}}
|
|
178
116
|
</ul>
|
|
179
|
-
|
|
180
|
-
<div class="alert alert-
|
|
181
|
-
|
|
117
|
+
{{{ else }}}
|
|
118
|
+
<div class="alert alert-light">[[user:info.no-flags]]</div>
|
|
119
|
+
{{{ end }}}
|
|
182
120
|
</div>
|
|
183
121
|
</div>
|
|
184
122
|
|
|
185
|
-
<div class="
|
|
186
|
-
<
|
|
123
|
+
<div class="mb-3 border-bottom">
|
|
124
|
+
<h6 class="d-flex align-items-center justify-content-between">
|
|
187
125
|
[[user:info.ban-history]]
|
|
188
126
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
</h5>
|
|
199
|
-
<div class="card-body">
|
|
200
|
-
<!-- IF history.bans.length -->
|
|
127
|
+
{{{ if (!banned && !isSelf) }}}
|
|
128
|
+
<button class="btn btn-sm btn-danger" component="account/ban">[[user:ban-account]]</button>
|
|
129
|
+
{{{ end }}}
|
|
130
|
+
{{{ if (banned && !isSelf) }}}
|
|
131
|
+
<button class="btn btn-sm btn-success" component="account/unban">[[user:unban-account]]</button>
|
|
132
|
+
{{{ end }}}
|
|
133
|
+
</h6>
|
|
134
|
+
<div class="">
|
|
135
|
+
{{{ if history.bans.length }}}
|
|
201
136
|
<ul class="ban-history list-unstyled">
|
|
202
137
|
{{{ each history.bans }}}
|
|
203
138
|
<li class="mb-4 border-bottom">
|
|
@@ -218,7 +153,7 @@
|
|
|
218
153
|
<p class="mb-1">
|
|
219
154
|
<span class="reason">[[user:info.banned-reason-label]]: <strong>{./reason}</strong></span>
|
|
220
155
|
</p>
|
|
221
|
-
<p
|
|
156
|
+
<p>
|
|
222
157
|
{{{ if ./until }}}
|
|
223
158
|
<span class="expiry">[[user:info.banned-until, {isoTimeToLocaleString(./untilISO, config.userLang)}]]</span>
|
|
224
159
|
{{{ else }}}
|
|
@@ -230,27 +165,27 @@
|
|
|
230
165
|
</li>
|
|
231
166
|
{{{ end }}}
|
|
232
167
|
</ul>
|
|
233
|
-
|
|
234
|
-
<div class="alert alert-
|
|
235
|
-
|
|
168
|
+
{{{ else }}}
|
|
169
|
+
<div class="alert alert-light">[[user:info.no-ban-history]]</div>
|
|
170
|
+
{{{ end }}}
|
|
236
171
|
</div>
|
|
237
172
|
</div>
|
|
238
173
|
|
|
239
|
-
<div class="
|
|
240
|
-
<
|
|
174
|
+
<div class="mb-3">
|
|
175
|
+
<h6 class="d-flex align-items-center justify-content-between">
|
|
241
176
|
[[user:info.mute-history]]
|
|
242
177
|
|
|
243
178
|
{{{ if !muted }}}
|
|
244
179
|
{{{ if !isSelf }}}
|
|
245
|
-
<button class="btn btn-sm
|
|
180
|
+
<button class="btn btn-sm btn-danger" component="account/mute">[[user:mute-account]]</button>
|
|
246
181
|
{{{ end }}}
|
|
247
182
|
{{{ else }}}
|
|
248
183
|
{{{ if !isSelf }}}
|
|
249
|
-
<button class="btn btn-sm
|
|
184
|
+
<button class="btn btn-sm btn-success" component="account/unmute">[[user:unmute-account]]</button>
|
|
250
185
|
{{{ end }}}
|
|
251
186
|
{{{ end }}}
|
|
252
|
-
</
|
|
253
|
-
<div class="
|
|
187
|
+
</h6>
|
|
188
|
+
<div class="">
|
|
254
189
|
{{{ if history.mutes.length }}}
|
|
255
190
|
<ul class="ban-history list-unstyled">
|
|
256
191
|
{{{ each history.mutes }}}
|
|
@@ -272,7 +207,7 @@
|
|
|
272
207
|
<p class="mb-1">
|
|
273
208
|
<span class="reason">[[user:info.banned-reason-label]]: <strong>{./reason}</strong></span>
|
|
274
209
|
</p>
|
|
275
|
-
<p
|
|
210
|
+
<p>
|
|
276
211
|
{{{ if ./until }}}
|
|
277
212
|
<span class="expiry">[[user:info.muted-until, {isoTimeToLocaleString(./untilISO, config.userLang)}]]</span>
|
|
278
213
|
{{{ end }}}
|
|
@@ -281,12 +216,60 @@
|
|
|
281
216
|
{{{ end }}}
|
|
282
217
|
</ul>
|
|
283
218
|
{{{ else }}}
|
|
284
|
-
<div class="alert alert-
|
|
219
|
+
<div class="alert alert-light">[[user:info.no-mute-history]]</div>
|
|
285
220
|
{{{ end }}}
|
|
286
221
|
</div>
|
|
287
222
|
</div>
|
|
288
223
|
|
|
289
224
|
</div>
|
|
225
|
+
|
|
226
|
+
<div class="col-sm-6 mb-3">
|
|
227
|
+
{{{ if isAdminOrGlobalModerator }}}
|
|
228
|
+
<div class="card">
|
|
229
|
+
<h5 class="card-header">
|
|
230
|
+
[[user:info.moderation-note]]
|
|
231
|
+
</h5>
|
|
232
|
+
<div class="card-body">
|
|
233
|
+
<textarea component="account/moderation-note" class="form-control mb-3" aria-label="[[user:info.moderation-note]]"></textarea>
|
|
234
|
+
|
|
235
|
+
<button class="btn btn-sm float-end btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
|
|
236
|
+
<br/>
|
|
237
|
+
<div component="account/moderation-note/list">
|
|
238
|
+
{{{ each moderationNotes }}}
|
|
239
|
+
<hr/>
|
|
240
|
+
|
|
241
|
+
<div data-id="{./id}">
|
|
242
|
+
<div class="d-flex align-items-baseline gap-1 mb-1">
|
|
243
|
+
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}">{buildAvatar(./user, "24px", true)}</a>
|
|
244
|
+
|
|
245
|
+
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" class="fw-bold" itemprop="author" data-username="{./user.username}" data-uid="{./user.uid}">{./user.username}</a>
|
|
246
|
+
|
|
247
|
+
<span class="timeago text-sm text-secondary" title="{./timestampISO}"></span>
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
<div component="account/moderation-note/content-area" class="d-flex flex-column">
|
|
252
|
+
<div class="content text-secondary">
|
|
253
|
+
{./note}
|
|
254
|
+
</div>
|
|
255
|
+
<button component="account/moderation-note/edit" class="btn btn-sm btn-link align-self-end">[[topic:edit]]</button>
|
|
256
|
+
</div>
|
|
257
|
+
|
|
258
|
+
<div component="account/moderation-note/edit-area" class="d-flex flex-column gap-2 hidden">
|
|
259
|
+
<textarea class="form-control form-control-sm w-100 overflow-hidden">{./rawNote}</textarea>
|
|
260
|
+
<div class="align-self-end">
|
|
261
|
+
<button component="account/moderation-note/cancel-edit" class="btn btn-sm btn-link text-danger align-self-end">[[global:cancel]]</button>
|
|
262
|
+
<button component="account/moderation-note/save-edit" class="btn btn-sm btn-primary align-self-end">[[global:save]]</button>
|
|
263
|
+
</div>
|
|
264
|
+
</div>
|
|
265
|
+
</div>
|
|
266
|
+
{{{ end }}}
|
|
267
|
+
</div>
|
|
268
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
269
|
+
</div>
|
|
270
|
+
</div>
|
|
271
|
+
{{{ end }}}
|
|
272
|
+
</div>
|
|
290
273
|
</div>
|
|
291
274
|
|
|
292
275
|
<!-- IMPORT partials/account/footer.tpl -->
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{{{ if privileges.topics:reply }}}
|
|
1
|
+
{{{ if (privileges.topics:create || privileges.topics:reply) }}}
|
|
2
2
|
<div component="topic/quickreply/container" class="quick-reply d-flex gap-3 mb-4">
|
|
3
3
|
<div class="icon hidden-xs">
|
|
4
4
|
<a class="d-inline-block position-relative" href="{{{ if loggedInUser.userslug }}}{config.relative_path}/user/{loggedInUser.userslug}{{{ else }}}#{{{ end }}}">
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<div class="d-flex justify-content-end gap-2">
|
|
17
17
|
<button type="button" component="topic/quickreply/upload/button" class="btn btn-ghost btn-sm border"><i class="fa fa-upload"></i></button>
|
|
18
18
|
<button type="button" component="topic/quickreply/expand" class="btn btn-ghost btn-sm border" title="[[topic:open-composer]]"><i class="fa fa-expand"></i></button>
|
|
19
|
-
<button type="submit" component="topic/quickreply/button" class="btn btn-sm btn-primary">[[topic:post-quick-reply]]</button>
|
|
19
|
+
<button type="submit" component="topic/quickreply/button" class="btn btn-sm btn-primary">[[topic:post-quick-{{{ if tid }}}reply{{{ else }}}create{{{ end }}}]]</button>
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
22
22
|
</form>
|
package/templates/world.tpl
CHANGED