nodebb-theme-harmony 1.2.24 → 1.2.26

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,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-theme-harmony",
3
- "version": "1.2.24",
3
+ "version": "1.2.26",
4
4
  "nbbpm": {
5
5
  "compatibility": "^3.5.0"
6
6
  },
@@ -26,7 +26,7 @@
26
26
  </div>
27
27
  </div>
28
28
  </div>
29
- <div>
29
+ <div class="d-flex gap-2 align-items-start">
30
30
  {{{ if loggedIn }}}
31
31
  {function.membershipBtn, group}
32
32
  {{{ end }}}
@@ -49,7 +49,7 @@
49
49
  <div class="tab-pane fade show active" id="groups-posts" role="tabpanel">
50
50
  <h3 class="fw-semibold fs-5 mb-0">[[global:posts]]</h3>
51
51
  {{{ if !posts.length }}}
52
- <div class="alert alert-info">[[groups:details.has-no-posts]]</div>
52
+ <div class="alert alert-info my-2">[[groups:details.has-no-posts]]</div>
53
53
  {{{ end }}}
54
54
  <!-- IMPORT partials/posts_list.tpl -->
55
55
  </div>
@@ -7,7 +7,7 @@
7
7
  <a class="permalink text-muted timeago text-xs" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}" title="{./timestampISO}" aria-label="[[global:lastpost]]"></a>
8
8
  </div>
9
9
  <div class="post-content text-xs text-break line-clamp-sm-2 lh-sm position-relative flex-fill">
10
- <a class="stretched-link" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}" aria-label="[[global:lastpost]]"></a>
10
+ <a class="stretched-link" tabindex="-1" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}" aria-label="[[global:lastpost]]"></a>
11
11
  {./content}
12
12
  </div>
13
13
  </div>
@@ -14,20 +14,20 @@
14
14
  </div>
15
15
 
16
16
  <div style="max-height: 500px; overflow: auto;">
17
+ <div component="groups/invited/alert" class="alert alert-info {{{ if group.invited.length }}}hidden{{{ end }}}">[[groups:invited.none]]</div>
17
18
  <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}}}
19
+ <tbody>
20
+ {{{ each group.invited }}}
21
+ <tr data-uid="{group.invited.uid}" class="align-middle">
22
+ <td class="member-name p-2 d-flex align-items-center justify-content-between">
23
+ <div class="d-flex align-items-center gap-2">
24
+ <a class="text-decoration-none" href="{config.relative_path}/user/{group.invited.userslug}">{buildAvatar(group.invited, "24px", true)}</a>
25
+ <a href="{config.relative_path}/user/{group.invited.userslug}">{group.invited.username}</a>
26
+ </div>
27
+ <button class="btn btn-outline-secondary btn-sm text-nowrap" data-action="rescindInvite">[[groups:invited.uninvite]]</button>
28
+ </td>
29
+ </tr>
30
+ {{{ end }}}
31
+ </tbody>
32
32
  </table>
33
33
  </div>
@@ -7,23 +7,23 @@
7
7
  {{{ end }}}
8
8
 
9
9
  <div style="max-height: 500px;overflow: auto;">
10
+ <div component="groups/pending/alert" class="alert alert-info {{{ if group.pending.length }}}hidden{{{ end }}}">[[groups:pending.none]]</div>
10
11
  <table component="groups/pending" class="table table-hover">
11
- {{{ if !group.pending.length }}}
12
- <div class="alert alert-info">[[groups:pending.none]]</div>
13
- {{{ end }}}
14
- {{{each group.pending}}}
15
- <tr data-uid="{group.pending.uid}" class="align-middle">
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>
21
- <div class="d-flex gap-2">
22
- <button class="btn btn-danger btn-sm" data-action="reject">[[groups:pending.reject]]</a></li>
23
- <button class="btn btn-success btn-sm" data-action="accept">[[groups:pending.accept]]</a></li>
24
- </div>
25
- </td>
26
- </tr>
27
- {{{end}}}
12
+ <tbody>
13
+ {{{ each group.pending }}}
14
+ <tr data-uid="{group.pending.uid}" class="align-middle">
15
+ <td class="member-name p-2 d-flex align-items-center justify-content-between">
16
+ <div class="d-flex gap-2">
17
+ <a class="text-decoration-none" href="{config.relative_path}/user/{group.pending.userslug}">{buildAvatar(group.pending, "24px", true)}</a>
18
+ <a href="{config.relative_path}/user/{group.pending.userslug}">{group.pending.username}</a>
19
+ </div>
20
+ <div class="d-flex gap-2">
21
+ <button class="btn btn-danger btn-sm" data-action="reject">[[groups:pending.reject]]</a></li>
22
+ <button class="btn btn-success btn-sm" data-action="accept">[[groups:pending.accept]]</a></li>
23
+ </div>
24
+ </td>
25
+ </tr>
26
+ {{{ end }}}
27
+ </tbody>
28
28
  </table>
29
29
  </div>
@@ -5,18 +5,18 @@
5
5
  </button>
6
6
  <button data-bs-toggle="tab" data-bs-target="#groups-members" class="btn-ghost ff-secondary fw-semibold">
7
7
  <div class="flex-grow-1">[[groups:members]]</div>
8
- <span class="flex-shrink-0 text-xs" title="{group.memberCount}">{humanReadableNumber(group.memberCount)}</span>
8
+ <span component="group/member/count" class="flex-shrink-0 text-xs" title="{group.memberCount}">{humanReadableNumber(group.memberCount)}</span>
9
9
  </button>
10
10
 
11
11
  {{{ if group.isOwner }}}
12
12
  <button data-bs-toggle="tab" data-bs-target="#groups-pending" class="btn-ghost ff-secondary fw-semibold">
13
13
  <div class="flex-grow-1">[[groups:details.pending]]</div>
14
- <span class="flex-shrink-0 text-xs" title="{group.pending.length}">{humanReadableNumber(group.group.pending.length)}</span>
14
+ <span component="group/pending/count" class="flex-shrink-0 text-xs" title="{group.pending.length}">{humanReadableNumber(group.pending.length)}</span>
15
15
  </button>
16
16
 
17
17
  <button data-bs-toggle="tab" data-bs-target="#groups-invited" class="btn-ghost ff-secondary fw-semibold">
18
18
  <div class="flex-grow-1">[[groups:details.invited]]</div>
19
- <span class="flex-shrink-0 text-xs" title="{group.invited.length}">{humanReadableNumber(group.group.invited.length)}</span>
19
+ <span component="group/invited/count" class="flex-shrink-0 text-xs" title="{group.invited.length}">{humanReadableNumber(group.invited.length)}</span>
20
20
  </button>
21
21
 
22
22
  <button data-bs-toggle="tab" data-bs-target="#groups-admin" class="btn-ghost ff-secondary fw-semibold">
@@ -110,7 +110,7 @@
110
110
  <a class="permalink text-muted timeago text-xs" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" title="{./teaser.timestampISO}" aria-label="[[global:lastpost]]"></a>
111
111
  </div>
112
112
  <div class="post-content text-xs ps-2 line-clamp-sm-2 lh-sm text-break position-relative flex-fill">
113
- <a class="stretched-link" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" aria-label="[[global:lastpost]]"></a>
113
+ <a class="stretched-link" tabindex="-1" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" aria-label="[[global:lastpost]]"></a>
114
114
  {./teaser.content}
115
115
  </div>
116
116
  {{{ end }}}