nodebb-theme-harmony 1.0.0-beta.56 → 1.0.0-beta.58

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.0.0-beta.56",
3
+ "version": "1.0.0-beta.58",
4
4
  "nbbpm": {
5
5
  "compatibility": "^3.0.0"
6
6
  },
package/public/harmony.js CHANGED
@@ -7,6 +7,7 @@ $(document).ready(function () {
7
7
  setupDrafts();
8
8
  handleMobileNavigator();
9
9
  setupNavTooltips();
10
+ fixPlaceholders();
10
11
 
11
12
  $('[component="skinSwitcher"]').on('click', '.dropdown-item', function () {
12
13
  const skin = $(this).attr('data-value');
@@ -231,4 +232,17 @@ $(document).ready(function () {
231
232
  $(this).tooltip('hide');
232
233
  });
233
234
  }
235
+
236
+ function fixPlaceholders() {
237
+ const count = parseInt(document.querySelector('[component="notifications/count"]').innerText, 10);
238
+ if (count > 1) {
239
+ const notifListEl = document.querySelector('[component="notifications/list"]');
240
+ const placeholder = notifListEl.querySelector('li');
241
+
242
+ for (let x = 0; x < count - 1; x++) {
243
+ const cloneEl = placeholder.cloneNode(true);
244
+ notifListEl.insertBefore(cloneEl, placeholder);
245
+ }
246
+ }
247
+ }
234
248
  });
package/scss/sidebar.scss CHANGED
@@ -135,10 +135,16 @@
135
135
  overflow-y: auto!important;
136
136
  }
137
137
  .search-dropdown, .chats-dropdown, .notifications-dropdown, .drafts-dropdown {
138
- left: 0!important;
139
- right: 0!important;
140
- bottom: $spacer!important;
138
+ left: 0 !important;
139
+ right: 0 !important;
140
+ bottom: $spacer * 0.7 !important;
141
141
  box-shadow: none!important;
142
+
143
+ border-left: 0;
144
+ border-right: 0;
145
+ border-bottom: 0;
146
+ border-radius: 0;
147
+
142
148
  ul {
143
149
  max-height: 60vh!important;
144
150
  overflow-y: auto!important;
@@ -11,10 +11,31 @@
11
11
  <ul class="notifications-dropdown dropdown-menu p-1 shadow">
12
12
  <li>
13
13
  <ul component="notifications/list" class="notification-list list-unstyled overscroll-behavior-contain">
14
- <li class="mb-2 placeholder-wave">
15
- <div class="text-sm placeholder col-11">&nbsp;</div>
16
- <div class="text-sm placeholder col-5">&nbsp;</div><br />
17
- <div class="text-xs placeholder col-3">&nbsp;</div>
14
+ <li class="mb-2 p-1 placeholder-wave">
15
+ <div class="d-flex gap-1 justify-content-between">
16
+ <div class="d-flex gap-2 flex-grow-1">
17
+ <div class="placeholder" style="width: 32px; height: 32px;"></div>
18
+ <div class="flex-grow-1">
19
+ <div class="d-flex flex-column">
20
+ <div class="text-sm">
21
+ <span class="placeholder placeholder-sm col-4"></span>
22
+ <span class="placeholder placeholder-sm col-6"></span>
23
+ <span class="placeholder placeholder-sm col-7"></span>
24
+ <span class="placeholder placeholder-sm col-2"></span>
25
+ <span class="placeholder placeholder-sm col-5"></span>
26
+ </div>
27
+ <div class="text-xs">
28
+ <div class="placeholder placeholder-xs col-6"></div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ <div class="">
34
+ <button class="mark-read btn-ghost-sm" style="width: 1.5rem; height: 1.5rem;">
35
+ <i class="unread fa fa-2xs fa-circle text-primary"></i>
36
+ </button>
37
+ </div>
38
+ </div>
18
39
  </li>
19
40
  </ul>
20
41
  </li>
@@ -1,5 +1,7 @@
1
+ <!-- IMPORT partials/breadcrumbs.tpl -->
2
+
3
+ {{{ if (!singlePost && posts.length) }}}
1
4
  <div class="btn-toolbar justify-content-end">
2
- {{{ if (!singlePost && posts.length) }}}
3
5
  <div class="me-2">
4
6
  <!-- IMPORT partials/category/filter-dropdown-right.tpl -->
5
7
  </div>
@@ -20,18 +22,24 @@
20
22
  {{{ end }}}
21
23
  </ul>
22
24
  </div>
23
- {{{ end }}}
24
25
  </div>
26
+
25
27
  <hr/>
28
+ {{{ end }}}
29
+
26
30
  <div class="row">
27
31
  <div class="col-12">
28
32
  <div class="post-queue preventSlideout posts-list">
29
- {{{ if !posts.length }}}
30
- {{{ if isAdmin }}}
31
- <div class="card card-body">
32
- <p>
33
- [[post-queue:description, {config.relative_path}/admin/settings/post#post-queue]]
34
- </p>
33
+ {{{ if (!posts.length && isAdmin) }}}
34
+ {{{ if !singlePost }}}
35
+ <div class="alert alert-info">
36
+ <p>[[post-queue:no-queued-posts]]</p>
37
+ {{{ if !enabled }}}<p>[[post-queue:enabling-help, {config.relative_path}/admin/settings/post#post-queue]]</p>{{{ end }}}
38
+ </div>
39
+ {{{ else }}}
40
+ <div class="alert alert-info d-flex align-items-center">
41
+ <p class="mb-0 me-auto">[[post-queue:no-single-post]]</p>
42
+ <a class="btn btn-sm btn-primary" href=".">[[post-queue:back-to-list]]</a>
35
43
  </div>
36
44
  {{{ end }}}
37
45
  {{{ end }}}