nodebb-theme-harmony 1.2.50 → 1.2.52
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 +1 -1
- package/templates/account/info.tpl +109 -63
package/package.json
CHANGED
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
</div>
|
|
41
41
|
</div>
|
|
42
42
|
|
|
43
|
-
<div class="card">
|
|
43
|
+
<div class="card mb-3">
|
|
44
44
|
<h5 class="card-header">
|
|
45
45
|
[[user:info.email-history]]
|
|
46
46
|
</h5>
|
|
@@ -55,6 +55,42 @@
|
|
|
55
55
|
</ul>
|
|
56
56
|
</div>
|
|
57
57
|
</div>
|
|
58
|
+
|
|
59
|
+
{{{ if isAdminOrGlobalModerator }}}
|
|
60
|
+
<div class="card">
|
|
61
|
+
<h5 class="card-header">
|
|
62
|
+
[[user:info.moderation-note]]
|
|
63
|
+
</h5>
|
|
64
|
+
<div class="card-body">
|
|
65
|
+
<textarea component="account/moderation-note" class="form-control mb-3" aria-label="[[user:info.moderation-note]]"></textarea>
|
|
66
|
+
|
|
67
|
+
<button class="btn btn-sm float-end btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
|
|
68
|
+
<br/>
|
|
69
|
+
<div component="account/moderation-note/list">
|
|
70
|
+
{{{ each moderationNotes }}}
|
|
71
|
+
<hr/>
|
|
72
|
+
|
|
73
|
+
<div>
|
|
74
|
+
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}">{buildAvatar(./user, "24px", true)}</a>
|
|
75
|
+
<strong>
|
|
76
|
+
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" itemprop="author" data-username="{./user.username}" data-uid="{./user.uid}">{./user.username}</a>
|
|
77
|
+
</strong>
|
|
78
|
+
|
|
79
|
+
<div class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
|
|
80
|
+
<span class="timeago" title="{./timestampISO}"></span>
|
|
81
|
+
</div>
|
|
82
|
+
<br />
|
|
83
|
+
|
|
84
|
+
<div class="content">
|
|
85
|
+
{./note}
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
{{{ end }}}
|
|
89
|
+
</div>
|
|
90
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
{{{ end }}}
|
|
58
94
|
</div>
|
|
59
95
|
<div class="col-sm-6 mb-3">
|
|
60
96
|
<div class="card mb-3">
|
|
@@ -65,15 +101,38 @@
|
|
|
65
101
|
{{{ if history.flags.length }}}
|
|
66
102
|
<ul class="recent-flags list-unstyled">
|
|
67
103
|
{{{ each history.flags }}}
|
|
68
|
-
<li>
|
|
69
|
-
<
|
|
104
|
+
<li class="mb-4 border-bottom">
|
|
105
|
+
<div class="mb-1 d-flex align-items-center justify-content-between">
|
|
106
|
+
<div>
|
|
107
|
+
{{{ if (./type == "user")}}}
|
|
108
|
+
<span class="badge text-bg-info">[[user:info.profile]]</span>
|
|
109
|
+
{{{ else }}}
|
|
110
|
+
<span class="badge text-bg-info">[[user:info.post]]</span>
|
|
111
|
+
{{{ end }}}
|
|
112
|
+
<span class="timestamp timeago" title="{./timestampISO}"></span>
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
<a href="{config.relative_path}/flags/{./flagId}" class="badge badge border border-gray-300 text-body">[[user:info.view-flag]]</a>
|
|
116
|
+
</div>
|
|
117
|
+
|
|
118
|
+
{{{ if (./type == "post") }}}
|
|
119
|
+
<p class="mb-1">
|
|
70
120
|
{{{ if history.flags.targetPurged }}}
|
|
71
121
|
<div>[[flags:target-purged]]</div>
|
|
72
122
|
{{{ else }}}
|
|
73
|
-
<a class="title" href="{config.relative_path}/post/{./pid}">{./title}</a
|
|
123
|
+
<a class="title" href="{config.relative_path}/post/{./pid}">{./title}</a>
|
|
74
124
|
{{{ end }}}
|
|
75
|
-
<span class="timestamp">[[flags:flagged-timeago-readable, {./timestampISO}, {isoTimeToLocaleString(./timestampISO, config.userLang)}]]</span>
|
|
76
125
|
</p>
|
|
126
|
+
{{{ end }}}
|
|
127
|
+
|
|
128
|
+
<div class="d-flex gap-2 align-items-center mb-3">
|
|
129
|
+
<span class="text-sm">[[user:info.reported-by]]</span>
|
|
130
|
+
<div class="d-flex text-nowrap">
|
|
131
|
+
{{{ each ./reports }}}
|
|
132
|
+
<a style="width: 18px; z-index: 3;" class="text-decoration-none" href="{config.relative_path}/user/{./reporter.userslug}">{buildAvatar(./reporter, "24px", true)}</a>
|
|
133
|
+
{{{ end }}}
|
|
134
|
+
</div>
|
|
135
|
+
</div>
|
|
77
136
|
</li>
|
|
78
137
|
{{{ end }}}
|
|
79
138
|
</ul>
|
|
@@ -97,23 +156,36 @@
|
|
|
97
156
|
<div class="card-body">
|
|
98
157
|
{{{ if history.bans.length }}}
|
|
99
158
|
<ul class="ban-history list-unstyled">
|
|
100
|
-
{{{each history.bans}}}
|
|
101
|
-
<li>
|
|
102
|
-
<
|
|
103
|
-
<
|
|
104
|
-
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
|
|
159
|
+
{{{ each history.bans }}}
|
|
160
|
+
<li class="mb-4 border-bottom">
|
|
161
|
+
<div class="mb-1 d-flex align-items-center justify-content-between">
|
|
162
|
+
<div>
|
|
163
|
+
<a href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "24px", true)}</a>
|
|
164
|
+
<strong>
|
|
165
|
+
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" itemprop="author" data-username="{./user.username}" data-uid="{./user.uid}">{./user.username}</a>
|
|
166
|
+
</strong>
|
|
167
|
+
<span class="timestamp timeago" title="{./timestampISO}"></span>
|
|
168
|
+
</div>
|
|
169
|
+
{{{ if (./type != "unban") }}}
|
|
170
|
+
<span class="badge text-bg-danger">[[user:banned]]</span>
|
|
171
|
+
{{{ else }}}
|
|
172
|
+
<span class="badge text-bg-success">[[user:unbanned]]</span>
|
|
173
|
+
{{{ end }}}
|
|
174
|
+
</div>
|
|
175
|
+
<p class="mb-1">
|
|
176
|
+
<span class="reason">[[user:info.banned-reason-label]]: <strong>{./reason}</strong></span>
|
|
177
|
+
</p>
|
|
178
|
+
<p class="">
|
|
108
179
|
{{{ if ./until }}}
|
|
109
|
-
<span class="expiry">[[user:info.banned-until, {isoTimeToLocaleString(./untilISO, config.userLang)}]]</span
|
|
180
|
+
<span class="expiry">[[user:info.banned-until, {isoTimeToLocaleString(./untilISO, config.userLang)}]]</span>
|
|
110
181
|
{{{ else }}}
|
|
111
|
-
|
|
182
|
+
{{{ if (./type != "unban") }}}
|
|
183
|
+
<span class="expiry">[[user:info.banned-permanently]]</span>
|
|
184
|
+
{{{ end }}}
|
|
112
185
|
{{{ end }}}
|
|
113
|
-
<span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {./reason}</span>
|
|
114
186
|
</p>
|
|
115
187
|
</li>
|
|
116
|
-
{{{end}}}
|
|
188
|
+
{{{ end }}}
|
|
117
189
|
</ul>
|
|
118
190
|
{{{ else }}}
|
|
119
191
|
<div class="alert alert-success">[[user:info.no-ban-history]]</div>
|
|
@@ -139,18 +211,28 @@
|
|
|
139
211
|
{{{ if history.mutes.length }}}
|
|
140
212
|
<ul class="ban-history list-unstyled">
|
|
141
213
|
{{{ each history.mutes }}}
|
|
142
|
-
<li>
|
|
143
|
-
<
|
|
144
|
-
<
|
|
145
|
-
|
|
146
|
-
<
|
|
147
|
-
|
|
148
|
-
|
|
214
|
+
<li class="mb-4 border-bottom">
|
|
215
|
+
<div class="mb-1 d-flex align-items-center justify-content-between">
|
|
216
|
+
<div>
|
|
217
|
+
<a href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "24px", true)}</a>
|
|
218
|
+
<strong>
|
|
219
|
+
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" itemprop="author" data-username="{./user.username}" data-uid="{./user.uid}">{./user.username}</a>
|
|
220
|
+
</strong>
|
|
221
|
+
<span class="timestamp timeago" title="{./timestampISO}"></span>
|
|
222
|
+
</div>
|
|
223
|
+
{{{ if (./type != "unmute") }}}
|
|
224
|
+
<span class="badge text-bg-danger">[[user:muted]]</span>
|
|
225
|
+
{{{ else }}}
|
|
226
|
+
<span class="badge text-bg-success">[[user:unmuted]]</span>
|
|
227
|
+
{{{ end }}}
|
|
228
|
+
</div>
|
|
229
|
+
<p class="mb-1">
|
|
230
|
+
<span class="reason">[[user:info.banned-reason-label]]: <strong>{./reason}</strong></span>
|
|
231
|
+
</p>
|
|
232
|
+
<p class="">
|
|
149
233
|
{{{ if ./until }}}
|
|
150
|
-
<span class="expiry">[[user:info.muted-until, {isoTimeToLocaleString(./untilISO, config.userLang)}]]</span
|
|
234
|
+
<span class="expiry">[[user:info.muted-until, {isoTimeToLocaleString(./untilISO, config.userLang)}]]</span>
|
|
151
235
|
{{{ end }}}
|
|
152
|
-
|
|
153
|
-
<span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {./reason}</span>
|
|
154
236
|
</p>
|
|
155
237
|
</li>
|
|
156
238
|
{{{ end }}}
|
|
@@ -160,42 +242,6 @@
|
|
|
160
242
|
{{{ end }}}
|
|
161
243
|
</div>
|
|
162
244
|
</div>
|
|
163
|
-
|
|
164
|
-
{{{ if isAdminOrGlobalModerator }}}
|
|
165
|
-
<div class="card">
|
|
166
|
-
<h5 class="card-header">
|
|
167
|
-
[[user:info.moderation-note]]
|
|
168
|
-
</h5>
|
|
169
|
-
<div class="card-body">
|
|
170
|
-
<textarea component="account/moderation-note" class="form-control mb-3" aria-label="[[user:info.moderation-note]]"></textarea>
|
|
171
|
-
|
|
172
|
-
<button class="btn btn-sm float-end btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
|
|
173
|
-
<br/>
|
|
174
|
-
<div component="account/moderation-note/list">
|
|
175
|
-
{{{ each moderationNotes }}}
|
|
176
|
-
<hr/>
|
|
177
|
-
|
|
178
|
-
<div>
|
|
179
|
-
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}">{buildAvatar(./user, "24px", true)}</a>
|
|
180
|
-
<strong>
|
|
181
|
-
<a href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" itemprop="author" data-username="{./user.username}" data-uid="{./user.uid}">{./user.username}</a>
|
|
182
|
-
</strong>
|
|
183
|
-
|
|
184
|
-
<div class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
|
|
185
|
-
<span class="timeago" title="{./timestampISO}"></span>
|
|
186
|
-
</div>
|
|
187
|
-
<br />
|
|
188
|
-
|
|
189
|
-
<div class="content">
|
|
190
|
-
{./note}
|
|
191
|
-
</div>
|
|
192
|
-
</div>
|
|
193
|
-
{{{ end }}}
|
|
194
|
-
</div>
|
|
195
|
-
<!-- IMPORT partials/paginator.tpl -->
|
|
196
|
-
</div>
|
|
197
|
-
</div>
|
|
198
|
-
{{{ end }}}
|
|
199
245
|
</div>
|
|
200
246
|
</div>
|
|
201
247
|
|