nodebb-theme-harmony 2.1.46 → 2.2.2

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": "2.1.46",
3
+ "version": "2.2.2",
4
4
  "nbbpm": {
5
5
  "compatibility": "^4.0.0"
6
6
  },
@@ -1,12 +1,9 @@
1
1
  <div class="notifications flex-fill">
2
- <div class="btn-toolbar justify-content-end" role="toolbar">
3
- <button class="btn btn-sm btn-light" component="notifications/mark_all">[[notifications:mark-all-read]]</button>
4
- </div>
2
+ <div class="d-flex flex-column flex-md-row">
3
+ <div class="d-flex flex-column flex-shrink-0 pe-2 border-end-md text-sm mb-3 flex-basis-md-200 gap-2">
5
4
 
6
- <hr class="text-muted opacity-25"/>
5
+ <button class="btn btn-sm btn-primary w-100" component="notifications/mark_all"><i class="fa fa-check-double"></i> [[notifications:mark-all-read]]</a></button>
7
6
 
8
- <div class="d-flex flex-column flex-md-row">
9
- <div class="flex-shrink-0 pe-2 border-end-md text-sm mb-3 flex-basis-md-200">
10
7
  <div class="nav sticky-top d-flex flex-row flex-md-column flex-wrap gap-1" style="z-index: 1;">
11
8
  {{{ each filters }}}
12
9
  {{{ if ./separator }}}
@@ -10,7 +10,7 @@
10
10
  <!-- IMPORT partials/categories/link.tpl -->
11
11
  </div>
12
12
  {{{ if ./descriptionParsed }}}
13
- <div class="description text-muted text-xs w-100">{./descriptionParsed}</div>
13
+ <div class="description text-muted text-xs w-100 line-clamp-sm-5">{./descriptionParsed}</div>
14
14
  {{{ end }}}
15
15
  </div>
16
16
  </div>
@@ -2,7 +2,7 @@
2
2
  <nav class="topic-list-header d-flex flex-nowrap my-2 p-0 border-0 rounded">
3
3
  <div class="d-flex flex-row p-2 text-bg-light gap-1 border rounded w-100">
4
4
  <div component="category/controls" class="d-flex me-auto mb-0 gap-2 flex-wrap">
5
- {{{ if (template.category || template.world) }}}
5
+ {{{ if template.category }}}
6
6
  <!-- IMPORT partials/category/watch.tpl -->
7
7
  <!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
8
8
  <!-- IMPORT partials/category/sort.tpl -->
@@ -24,12 +24,35 @@
24
24
  <!-- IMPORT partials/category/filter-dropdown-left.tpl -->
25
25
  <!-- IMPORT partials/tags/watch.tpl -->
26
26
  {{{ end }}}
27
- <!-- IMPORT partials/category/tools-dropdown-left.tpl -->
28
27
 
29
28
  {{{ if (!feeds:disableRSS && rssFeedUrl) }}}
30
29
  <a class="btn btn-ghost btn-sm d-none d-lg-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
31
30
  {{{ end }}}
32
31
 
32
+ {{{ if template.world }}}
33
+ <a class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center fw-semibold" href="{config.relative_path}/world">
34
+ <i class="fa fa-clock text-primary"></i>
35
+ [[world:latest]]
36
+ </a>
37
+ <button class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown">
38
+ <i class="fa fa-fw fa-fire text-primary"></i>
39
+ <span class="visible-md-inline visible-lg-inline fw-semibold">[[world:popular]]</span>
40
+ </button>
41
+ <ul class="dropdown-menu">
42
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=day">Day</a></li>
43
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=week">Week</a></li>
44
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=month">Month</a></li>
45
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=year">Year</a></li>
46
+ <li><a class="dropdown-item" href="{config.relative_path}/world?sort=popular&term=alltime">All time</a></li>
47
+ </ul>
48
+ <a class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center fw-semibold" href="#" id="world-help">
49
+ <i class="fa fa-question text-primary"></i>
50
+ [[world:help]]
51
+ </a>
52
+ {{{ end }}}
53
+
54
+ <!-- IMPORT partials/category/tools-dropdown-left.tpl -->
55
+
33
56
  <a href="{{{ if (template.category || template.world) }}}{url}{{{ else }}}{config.relative_path}/{selectedFilter.url}{querystring}{{{ end }}}" class="btn btn-secondary fw-semibold position-absolute top-100 translate-middle-x start-50 mt-1 hide" style="--bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem;" id="new-topics-alert">
34
57
  <i class="fa fa-fw fa-arrow-up"></i> [[recent:load-new-posts]]
35
58
  </a>
@@ -1,3 +1,8 @@
1
+ <!-- IMPORT partials/breadcrumbs-json-ld.tpl -->
2
+ {{{ if config.theme.enableBreadcrumbs }}}
3
+ <!-- IMPORT partials/breadcrumbs.tpl -->
4
+ {{{ end }}}
5
+
1
6
  {{{ if widgets.header.length }}}
2
7
  <div data-widget-area="header">
3
8
  {{{each widgets.header}}}
@@ -16,70 +21,58 @@
16
21
  {./descriptionParsed}
17
22
  </p>
18
23
  {{{ end }}}
19
-
20
- <p class="description text-secondary text-sm w-100 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}}">
21
- <a class="btn btn-sm btn-link" href="{config.relative_path}/popular?term=daily&cid=-1">[[world:popular]]</a>
22
- <a class="btn btn-sm btn-link" href="{config.relative_path}/recent?cid=-1">[[world:recent]]</a>
23
- <button class="btn btn-sm btn-link" id="world-help">
24
- <i class="fa fa-question"></i>
25
- [[world:help]]
26
- </button>
27
- </p>
28
24
  </div>
29
25
 
30
26
  <div class="row flex-fill">
31
27
  <div class="world {{{if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
32
- <form class="mb-4" role="search" method="GET" action="{config.relative_path}/search">
33
- <input type="hidden" name="in" value="categories" />
34
- <div class="input-group" id="category-options">
35
- <input class="form-control form-control-lg" component="category-search" name="term" type="text" autocomplete="off" placeholder="Find a category..." aria-label="Category Search" />
36
- <button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false"><i class="fa fa-cog"></i></button>
37
- <ul class="dropdown-menu dropdown-menu-end">
38
- <li id="show-categories"><a class="dropdown-item" href="#">
39
- <i class="fa fa-eye"></i>
40
- [[world:show-categories]]
41
- </a></li>
42
- <li id="hide-categories"><a class="dropdown-item" href="#">
43
- <i class="fa fa-eye-slash"></i>
44
- [[world:hide-categories]]
45
- </a></li>
46
- </ul>
47
- </div>
48
- </form>
49
-
50
- <div class="quick-search-container dropdown-menu d-block p-2 hidden">
51
- <div class="text-center loading-indicator"><i class="fa fa-spinner fa-spin"></i></div>
52
- <div class="quick-search-results-container"></div>
53
- </div>
28
+ <div class="category">
29
+ <div class="row flex-row-reverse">
30
+ <div class="col-lg-4 col-sm-12 mt-2 pt-1">
31
+ <form class="mb-3" role="search" method="GET" action="{config.relative_path}/search">
32
+ <input type="hidden" name="in" value="categories" />
33
+ <input class="form-control form-control-lg" component="category-search" name="term" type="text" autocomplete="off" placeholder="[[world:category-search]]" />
34
+ </form>
35
+ <div class="quick-search-container dropdown-menu d-block p-2 hidden">
36
+ <div class="text-center loading-indicator"><i class="fa fa-spinner fa-spin"></i></div>
37
+ <div class="quick-search-results-container"></div>
38
+ </div>
54
39
 
55
- <ul class="categories-list ps-0 hidden">
56
- {{{ each categories }}}
57
- <!-- IMPORT partials/categories/item.tpl -->
58
- {{{ end }}}
59
- </ul>
40
+ <ul class="categories-list ps-0 list-unstyled pt-3">
41
+ {{{ each categories }}}
42
+ <!-- IMPORT partials/account/category-item.tpl -->
43
+ {{{ end }}}
44
+ </ul>
45
+ </div>
60
46
 
61
- <!-- IMPORT partials/topic-list-bar.tpl -->
47
+ {{{ if posts.length }}}
48
+ <div class="col-lg-8 col-sm-12">
49
+ {{{ if posts.length }}}
50
+ <!-- IMPORT partials/topic-list-bar.tpl -->
51
+ {{{ end }}}
52
+ <ul class="list-unstyled" id="world-feed">
53
+ {{{ each posts }}}
54
+ <!-- IMPORT partials/feed/item.tpl -->
55
+ {{{ end }}}
56
+ </ul>
62
57
 
63
- <div class="category">
64
- {{{ if !topics.length }}}
65
- <div class="row">
66
- <div class="col-md-10 offset-md-1 d-flex align-items-center">
58
+ {{{ if config.usePagination }}}
59
+ <!-- IMPORT partials/paginator.tpl -->
60
+ {{{ end }}}
61
+ </div>
62
+ {{{ else }}}
63
+ <div class="col-lg-8 col-sm-12 d-flex gap-3 align-items-top">
67
64
  <div>
68
- <h2 class="fs-4 mb-3">[[world:onboard.title]]</h2>
65
+ <h2 class="fs-4 mb-3">
66
+ <i class="fa fa-comment-nodes"></i>
67
+ [[world:onboard.title]]
68
+ </h2>
69
69
  <p>[[world:onboard.what]]</p>
70
70
  <p>[[world:onboard.why]]</p>
71
71
  <p>[[world:onboard.how]]</p>
72
72
  </div>
73
- <i class="fa fa-comment-nodes fa-8x p-3"></i>
74
73
  </div>
74
+ {{{ end }}}
75
75
  </div>
76
- {{{ end }}}
77
-
78
- <!-- IMPORT partials/topics_list.tpl -->
79
-
80
- {{{ if config.usePagination }}}
81
- <!-- IMPORT partials/paginator.tpl -->
82
- {{{ end }}}
83
76
  </div>
84
77
  </div>
85
78
  <div data-widget-area="sidebar" class="col-lg-3 col-sm-12 {{{ if !widgets.sidebar.length }}}hidden{{{ end }}}">