nodebb-theme-harmony 1.0.38 → 1.0.39
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/public/harmony.js +10 -1
- package/scss/common.scss +1 -1
- package/scss/groups.scss +0 -8
- package/templates/partials/groups/invited.tpl +18 -18
- package/templates/partials/groups/memberlist.tpl +29 -29
- package/templates/partials/groups/pending.tpl +9 -10
- package/templates/topic.tpl +2 -2
package/package.json
CHANGED
package/public/harmony.js
CHANGED
|
@@ -223,9 +223,18 @@ $(document).ready(function () {
|
|
|
223
223
|
// remove title from user icon in sidebar to prevent double tooltip
|
|
224
224
|
$('.sidebar [component="header/avatar"] .avatar').removeAttr('title');
|
|
225
225
|
const tooltipEls = $('.sidebar [title]');
|
|
226
|
-
|
|
226
|
+
const lefttooltipEls = $('.sidebar-left [title]');
|
|
227
|
+
const rightooltipEls = $('.sidebar-right [title]');
|
|
228
|
+
const isRtl = $('html').attr('data-dir') === 'rtl';
|
|
229
|
+
lefttooltipEls.tooltip({
|
|
227
230
|
trigger: 'manual',
|
|
228
231
|
animation: false,
|
|
232
|
+
placement: isRtl ? 'left' : 'right',
|
|
233
|
+
});
|
|
234
|
+
rightooltipEls.tooltip({
|
|
235
|
+
trigger: 'manual',
|
|
236
|
+
animation: false,
|
|
237
|
+
placement: isRtl ? 'right' : 'left',
|
|
229
238
|
});
|
|
230
239
|
|
|
231
240
|
tooltipEls.on('mouseenter', function (ev) {
|
package/scss/common.scss
CHANGED
package/scss/groups.scss
CHANGED
|
@@ -13,21 +13,21 @@
|
|
|
13
13
|
<button type="button" class="btn btn-primary btn-sm float-end" component="groups/members/bulk-invite-button">[[groups:bulk-invite]]</button>
|
|
14
14
|
</div>
|
|
15
15
|
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
</
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
</
|
|
16
|
+
<div style="max-height: 500px; overflow: auto;">
|
|
17
|
+
<table component="groups/invited" class="table table-hover">
|
|
18
|
+
{{{ if !group.invited.length }}}
|
|
19
|
+
<div class="alert alert-info">[[groups:invited.none]]</div>
|
|
20
|
+
{{{ end }}}
|
|
21
|
+
{{{each group.invited}}}
|
|
22
|
+
<tr data-uid="{group.invited.uid}" class="align-middle">
|
|
23
|
+
<td class="member-name p-2 d-flex align-items-center justify-content-between">
|
|
24
|
+
<div class="d-flex align-items-center gap-2">
|
|
25
|
+
<a class="text-decoration-none" href="{config.relative_path}/user/{group.invited.userslug}">{buildAvatar(group.invited, "24px", true)}</a>
|
|
26
|
+
<a href="{config.relative_path}/user/{group.invited.userslug}">{group.invited.username}</a>
|
|
27
|
+
</div>
|
|
28
|
+
<button class="btn btn-outline-secondary btn-sm text-nowrap" data-action="rescindInvite">[[groups:invited.uninvite]]</button>
|
|
29
|
+
</td>
|
|
30
|
+
</tr>
|
|
31
|
+
{{{end}}}
|
|
32
|
+
</table>
|
|
33
|
+
</div>
|
|
@@ -14,34 +14,34 @@
|
|
|
14
14
|
</div>
|
|
15
15
|
</div>
|
|
16
16
|
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
</div>
|
|
17
|
+
<div style="max-height: 500px; overflow: auto;">
|
|
18
|
+
<table component="groups/members" class="table table-hover" data-nextstart="{group.membersNextStart}">
|
|
19
|
+
<tbody>
|
|
20
|
+
{{{each group.members}}}
|
|
21
|
+
<tr class="w-100" data-uid="{group.members.uid}" data-isowner="{{{ if group.members.isOwner }}}1{{{ else }}}0{{{ end }}}">
|
|
22
|
+
<td class="member-name p-2 w-100 ">
|
|
23
|
+
<div class="d-flex align-items-center justify-content-between">
|
|
24
|
+
<div class="d-flex align-items-center gap-2">
|
|
25
|
+
<a class="text-decoration-none" href="{config.relative_path}/user/{group.members.userslug}">{buildAvatar(group.members, "24px", true)}</a>
|
|
26
|
+
<a class="align-text-top" href="{config.relative_path}/user/{group.members.userslug}">{group.members.username}</a>
|
|
27
|
+
<i component="groups/owner/icon" title="[[groups:owner]]" class="user-owner-icon fa fa-star align-text-top text-warning {{{ if !group.members.isOwner }}}invisible{{{ end }}}"></i>
|
|
28
|
+
</div>
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
{{{ if group.isOwner }}}
|
|
31
|
+
<div class="owner-controls d-flex gap-1">
|
|
32
|
+
<a class="btn btn-light btn-sm" href="#" data-ajaxify="false" data-action="toggleOwnership" title="[[groups:details.grant]]">
|
|
33
|
+
<i class="fa fa-star text-warning"></i>
|
|
34
|
+
</a>
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
</table>
|
|
36
|
+
<a class="btn btn-light btn-sm" href="#" data-ajaxify="false" data-action="kick" title="[[groups:details.kick]]">
|
|
37
|
+
<i class="fa fa-ban text-danger"></i>
|
|
38
|
+
</a>
|
|
39
|
+
</div>
|
|
40
|
+
{{{ end }}}
|
|
41
|
+
</div>
|
|
42
|
+
</td>
|
|
43
|
+
</tr>
|
|
44
|
+
{{{end}}}
|
|
45
|
+
</tbody>
|
|
46
|
+
</table>
|
|
47
|
+
</div>
|
|
@@ -6,25 +6,24 @@
|
|
|
6
6
|
</div>
|
|
7
7
|
{{{ end }}}
|
|
8
8
|
|
|
9
|
-
<
|
|
9
|
+
<div style="max-height: 500px;overflow: auto;">
|
|
10
|
+
<table component="groups/pending" class="table table-hover">
|
|
10
11
|
{{{ if !group.pending.length }}}
|
|
11
12
|
<div class="alert alert-info">[[groups:pending.none]]</div>
|
|
12
13
|
{{{ end }}}
|
|
13
14
|
{{{each group.pending}}}
|
|
14
15
|
<tr data-uid="{group.pending.uid}" class="align-middle">
|
|
15
|
-
<td class="p-2">
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
</td>
|
|
21
|
-
<td class="p-2">
|
|
16
|
+
<td class="member-name p-2 d-flex align-items-center justify-content-between">
|
|
17
|
+
<div class="d-flex gap-2">
|
|
18
|
+
<a class="text-decoration-none" href="{config.relative_path}/user/{group.pending.userslug}">{buildAvatar(group.pending, "24px", true)}</a>
|
|
19
|
+
<a href="{config.relative_path}/user/{group.pending.userslug}">{group.pending.username}</a>
|
|
20
|
+
</div>
|
|
22
21
|
<div class="d-flex gap-2">
|
|
23
22
|
<button class="btn btn-danger btn-sm" data-action="reject">[[groups:pending.reject]]</a></li>
|
|
24
23
|
<button class="btn btn-success btn-sm" data-action="accept">[[groups:pending.accept]]</a></li>
|
|
25
|
-
|
|
26
24
|
</div>
|
|
27
25
|
</td>
|
|
28
26
|
</tr>
|
|
29
27
|
{{{end}}}
|
|
30
|
-
</table>
|
|
28
|
+
</table>
|
|
29
|
+
</div>
|
package/templates/topic.tpl
CHANGED
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
<i class="fa fa-lock"></i>
|
|
28
28
|
[[topic:locked]]
|
|
29
29
|
</span>
|
|
30
|
-
<
|
|
30
|
+
<a href="{config.relative_path}/category/{oldCid}" class="badge badge border border-gray-300 text-primary text-decoration-none {{{ if !oldCid }}}hidden{{{ end }}}">
|
|
31
31
|
<i class="fa fa-arrow-circle-right"></i>
|
|
32
32
|
{{{ if privileges.isAdminOrMod }}}[[topic:moved-from, {oldCategory.name}]]{{{ else }}}[[topic:moved]]{{{ end }}}
|
|
33
|
-
</
|
|
33
|
+
</a>
|
|
34
34
|
{{{each icons}}}<span class="lh-1">{@value}</span>{{{end}}}
|
|
35
35
|
</span>
|
|
36
36
|
<a class="lh-1" href="{config.relative_path}/category/{category.slug}">{function.buildCategoryLabel, category, "border"}</a>
|