nodebb-theme-harmony 1.0.0-beta.83 → 1.0.0-beta.84

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.83",
3
+ "version": "1.0.0-beta.84",
4
4
  "nbbpm": {
5
5
  "compatibility": "^3.0.0"
6
6
  },
package/scss/common.scss CHANGED
@@ -2,16 +2,16 @@
2
2
  body {
3
3
  overflow-y: scroll;
4
4
  -webkit-font-smoothing: antialiased;
5
- -moz-osx-font-smoothing: grayscale;
6
- text-rendering: optimizeLegibility;
5
+ -moz-osx-font-smoothing: grayscale;
6
+ text-rendering: optimizeLegibility;
7
7
  }
8
8
 
9
9
  // fixes chrome font boosting :/ https://stackoverflow.com/questions/13430897/how-to-override-font-boosting-in-mobile-chrome
10
10
  body * {
11
- max-height:1000000px;
12
- text-size-adjust: none;
13
- -webkit-text-size-adjust: none;
14
- -moz-text-size-adjust: none;
11
+ max-height:1000000px;
12
+ text-size-adjust: none;
13
+ -webkit-text-size-adjust: none;
14
+ -moz-text-size-adjust: none;
15
15
  }
16
16
 
17
17
  .ff-base {
@@ -5,7 +5,7 @@
5
5
  <div class="alert alert-warning text-center">[[user:has_no_follower]]</div>
6
6
  {{{ end }}}
7
7
 
8
- <div class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-2">
8
+ <div class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-4">
9
9
  {{{ each users }}}
10
10
  <!-- IMPORT partials/users/item.tpl -->
11
11
  {{{end}}}
@@ -6,7 +6,7 @@
6
6
  <div class="alert alert-warning text-center">[[user:follows_no_one]]</div>
7
7
  {{{ end }}}
8
8
 
9
- <div class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-2">
9
+ <div class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-4">
10
10
  {{{ each users }}}
11
11
  <!-- IMPORT partials/users/item.tpl -->
12
12
  {{{end}}}
@@ -6,7 +6,7 @@
6
6
  <!-- IMPORT partials/mobile-footer.tpl -->
7
7
  {{{ if !isSpider }}}
8
8
  <div class="">
9
- <div component="toaster/tray" class="alert-window fixed-bottom mb-5 mb-md-2 me-2 me-md-5 ms-auto" style="width:300px;">
9
+ <div component="toaster/tray" class="alert-window fixed-bottom mb-5 mb-md-2 me-2 me-md-5 ms-auto" style="width:300px; z-index: 1090;">
10
10
  <div id="reconnect-alert" class="alert alert-dismissible alert-warning clearfix hide" component="toaster/toast">
11
11
  <button type="button" class="btn-close float-end" data-bs-dismiss="alert" aria-hidden="true"></button>
12
12
  <p>[[global:reconnecting-message, {config.siteTitle}]]</p>
@@ -1,14 +1,14 @@
1
1
  <li component="categories/category" data-cid="{./cid}" data-parent-cid="{../parentCid}" class="category-{./cid}">
2
2
  <meta itemprop="name" content="{./name}">
3
- <div class="content depth-{./depth} d-flex gap-3 py-3">
4
- <div class="flex-1 d-flex gap-2">
5
- <div class="fs-5">
3
+ <div class="content depth-{./depth} d-flex gap-2">
4
+ <div class="flex-1 align-items-start d-flex gap-2">
5
+ <div>
6
6
  {buildCategoryIcon(@value, "24px", "rounded-1")}
7
7
  </div>
8
- <div>
9
- <h2 class="title fw-semibold fs-5 m-0 tracking-tight">
8
+ <div class="d-grid gap-0">
9
+ <div class="title fw-semibold">
10
10
  <!-- IMPORT partials/categories/link.tpl -->
11
- </h2>
11
+ </div>
12
12
  {{{ if ./descriptionParsed }}}
13
13
  <div class="description text-muted text-xs">{./descriptionParsed}</div>
14
14
  {{{ end }}}
@@ -18,5 +18,5 @@
18
18
  <!-- IMPORT partials/category/watch.tpl -->
19
19
  </div>
20
20
  </div>
21
- <hr class="text-muted opacity-25 m-0"/>
21
+ <hr class="text-muted opacity-25"/>
22
22
  </li>
@@ -9,7 +9,7 @@
9
9
  <span class="visible-md-inline visible-lg-inline fw-semibold">[[unread:all_categories]]</span>{{{ end }}}
10
10
  </button>
11
11
  <div component="category-selector-search" class="hidden position-absolute">
12
- <input type="text" class="form-control form-control-sm" autocomplete="off">
12
+ <input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
13
13
  </div>
14
14
  <ul component="category/list" class="dropdown-menu p-1 text-sm category-dropdown-menu" role="menu">
15
15
  <li role="presentation" class="category" data-cid="all">
@@ -12,7 +12,7 @@
12
12
  </span>
13
13
  </button>
14
14
  <div component="category-selector-search" class="hidden position-absolute">
15
- <input type="text" class="form-control form-control-sm" autocomplete="off">
15
+ <input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
16
16
  </div>
17
17
  <ul component="category/list" class="dropdown-menu p-1 text-sm category-dropdown-menu" role="menu">
18
18
  <li component="category/no-matches" role="presentation" class="category hidden">
@@ -11,7 +11,41 @@
11
11
  </ul>
12
12
  </div>
13
13
 
14
- <!-- IMPORT partials/category/filter-dropdown-left.tpl -->
14
+
15
+ <div component="category/dropdown" class="btn-group category-dropdown-container bottom-sheet">
16
+ <button type="button" class="filter-btn btn btn-light btn-sm border d-flex gap-2 dropdown-toggle {{{ if filters.cid }}}active-filter{{{ end }}}" data-bs-toggle="dropdown">
17
+ {{{ if selectedCategory }}}
18
+ <span class="category-item d-inline-flex align-items-center gap-1">
19
+ {buildCategoryIcon(selectedCategory, "18px", "rounded-circle")}
20
+ <span class="visible-md-inline visible-lg-inline">{selectedCategory.name}</span>
21
+ </span>
22
+ {{{ else }}}
23
+ <span class="visible-md-inline visible-lg-inline">[[unread:all_categories]]</span>
24
+ {{{ end }}}
25
+ <span class="caret"></span>
26
+ </button>
27
+ <div component="category-selector-search" class="hidden position-absolute">
28
+ <input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
29
+ </div>
30
+ <ul component="category/list" class="dropdown-menu p-1 text-sm category-dropdown-menu" role="menu">
31
+ {{{each categoryItems}}}
32
+ <li role="presentation" class="category {{{ if ../disabledClass }}}disabled{{{ end }}}" data-cid="{../cid}" data-parent-cid="{../parentCid}" data-name="{../name}">
33
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menu-item" href="#">
34
+ {../level}
35
+ <span component="category-markup" class="flex-1" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">
36
+ <div class="category-item d-inline-flex align-items-center gap-1">
37
+ {{{ if ./icon }}}
38
+ {buildCategoryIcon(@value, "24px", "rounded-circle")}
39
+ {{{ end }}}
40
+ {./name}
41
+ </div>
42
+ </span>
43
+ <i component="category/select/icon" class="fa fa-fw fa-check {{{ if !../selected }}}invisible{{{ end }}}"></i>
44
+ </a>
45
+ </li>
46
+ {{{end}}}
47
+ </ul>
48
+ </div>
15
49
 
16
50
  <div class="btn-group bottom-sheet">
17
51
  <a class="filter-btn btn btn-light btn-sm border {{{ if (sort != "newest") }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
@@ -1,7 +1,7 @@
1
1
  <div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}}">
2
2
  <nav class="navbar navbar-expand my-2 p-0 border-0 rounded topic-main-buttons">
3
3
  <div class="card card-header flex-row p-2 border rounded w-100">
4
- <ul class="navbar-nav me-auto gap-2 align-items-center">
4
+ <ul class="navbar-nav me-auto gap-2 align-items-start">
5
5
  {{{ if loggedIn }}}
6
6
  <button component="topic/mark-unread" class="btn-ghost-sm d-flex gap-2 align-items-center">
7
7
  <i class="fa fa-fw fa-inbox text-primary"></i>
@@ -10,7 +10,7 @@
10
10
  {{{ end }}}
11
11
  </button>
12
12
  <div component="tag/filter/search" class="hidden position-absolute top-0">
13
- <input type="text" class="form-control form-control-sm" autocomplete="off">
13
+ <input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
14
14
  </div>
15
15
  <ul component="tag/filter/list" class="dropdown-menu p-1 text-sm overflow-auto" role="menu" style="max-height: 500px;">
16
16
  <li role="presentation" data-tag="">
@@ -1,7 +1,7 @@
1
1
  <div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}} mb-3">
2
2
  <nav class="topic-list-header navbar navbar-expand p-0 border-0 rounded">
3
3
  <div class="card card-header flex-row p-2 gap-1 border rounded w-100">
4
- <ul component="category/controls" class="navbar-nav me-auto gap-2 align-items-center">
4
+ <ul component="category/controls" class="navbar-nav me-auto gap-2 align-items-start">
5
5
  {{{ if template.category }}}
6
6
  <!-- IMPORT partials/category/watch.tpl -->
7
7
  <!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
@@ -26,8 +26,8 @@
26
26
  {{{ end }}}
27
27
  </div>
28
28
  <div class="d-flex flex-column gap-1">
29
- <div class="d-flex align-items-center gap-1 mb-1 {{{ if showSelect }}}me-4{{{ end }}} me-md-0">
30
- {{{ if ./unread }}}<span class="text-primary text-xs">&#9679;</span>{{{ end }}}
29
+ <div class="d-flex align-items-start gap-1 mb-1 {{{ if showSelect }}}me-4{{{ end }}} me-md-0">
30
+ {{{ if ./unread }}}<span class="text-primary mt-1" style="font-size:8px">&#9679;</span>{{{ end }}}
31
31
  <h2 component="topic/header" class="tracking-tight text-break title text-md fw-semibold m-0">
32
32
  {{{ if topics.noAnchor }}}
33
33
  <span>{./title}</span>
@@ -33,9 +33,11 @@
33
33
  {{{ if !enabled }}}<p>[[post-queue:enabling-help, {config.relative_path}/admin/settings/post#post-queue]]</p>{{{ end }}}
34
34
  </div>
35
35
  {{{ else }}}
36
- <div class="alert alert-info d-flex align-items-center">
37
- <p class="mb-0 me-auto">[[post-queue:no-single-post]]</p>
38
- <a class="btn btn-sm btn-primary" href=".">[[post-queue:back-to-list]]</a>
36
+ <div class="alert alert-info d-flex align-items-md-center d-flex flex-column flex-md-row">
37
+ <p class="mb-md-0">[[post-queue:no-single-post]]</p>
38
+ <div class="d-grid ms-md-auto">
39
+ <a class="btn btn-sm btn-primary flex-shrink text-nowrap" href=".">[[post-queue:back-to-list]]</a>
40
+ </div>
39
41
  </div>
40
42
  {{{ end }}}
41
43
  {{{ end }}}
@@ -91,7 +93,7 @@
91
93
  </li>
92
94
  <li class="card-body border-bottom">
93
95
  <div class="text-xs fw-semibold mb-1">
94
- {{{ if posts.data.tid }}}[[post-queue:topic]]{{{ else }}}[[post-queue:title]] <i class="fa fa-fw fa-edit" data-bs-toggle="tooltip" title="[[post-queue:title-editable]]"></i>{{{ end }}}
96
+ {{{ if posts.data.tid }}}[[post-queue:topic]]{{{ else }}}[[post-queue:title]]{{{ end }}}
95
97
  </div>
96
98
  <span class="small topic-title text-break">
97
99
  {{{ if posts.data.tid }}}
@@ -107,9 +109,9 @@
107
109
  </li>
108
110
  <li class="card-body border-bottom">
109
111
  <div class="text-xs fw-semibold mb-1">
110
- [[post-queue:category]]{{{ if posts.data.cid}}} <i class="fa fa-fw fa-edit" data-bs-toggle="tooltip" title="[[post-queue:category-editable]]"></i>{{{ end }}}
112
+ [[post-queue:category]]
111
113
  </div>
112
- <div class="topic-category small" {{{if posts.data.cid}}}data-editable="editable"{{{end}}}">
114
+ <div class="topic-category small">
113
115
  <a href="{config.relative_path}/category/{posts.category.slug}">
114
116
  <div class="category-item d-inline-block">
115
117
  {buildCategoryIcon(./category, "24px", "rounded-circle")}
@@ -118,11 +120,32 @@
118
120
  </a>
119
121
  </div>
120
122
  </li>
121
- <li class="card-body d-grid d-lg-flex gap-2">
123
+ <li class="card-body">
122
124
  {{{ if canAccept }}}
123
- <button class="btn btn-success btn-sm" data-action="accept"><i class="fa fa-fw fa-check"></i> [[post-queue:accept]] </button>
124
- <button class="btn btn-info btn-sm" data-action="notify"><i class="fa fa-fw fa-bell-o"></i> [[post-queue:notify]]</button>
125
- <button class="btn btn-danger btn-sm" data-action="reject"><i class="fa fa-fw fa-times"></i> [[post-queue:reject]]</button>
125
+ <div class="row row-cols-2 g-1">
126
+ <div class="col d-grid">
127
+ <button class="btn btn-success btn-sm" data-action="accept"><i class="fa fa-fw fa-check"></i> [[post-queue:accept]] </button>
128
+ </div>
129
+ <div class="col d-grid">
130
+ <button class="btn btn-danger btn-sm" data-action="reject"><i class="fa fa-fw fa-times"></i> [[post-queue:reject]]</button>
131
+ </div>
132
+ {{{ if !posts.data.tid }}}
133
+ <div class="col d-grid">
134
+ <button class="btn btn-light btn-sm" data-action="editTitle"><i class="fa fa-fw fa-edit"></i> [[post-queue:title]]</button>
135
+ </div>
136
+ {{{ end }}}
137
+ <div class="col d-grid">
138
+ <button class="btn btn-light btn-sm" data-action="editContent"><i class="fa fa-fw fa-edit"></i> [[post-queue:content]]</button>
139
+ </div>
140
+ {{{if posts.data.cid}}}
141
+ <div class="col d-grid">
142
+ <button class="btn btn-light btn-sm" data-action="editCategory"><i class="fa fa-fw fa-edit"></i> [[post-queue:category]]</button>
143
+ </div>
144
+ {{{ end }}}
145
+ <div class="col d-grid">
146
+ <button class="btn btn-light btn-sm" data-action="notify"><i class="fa fa-fw fa-bell-o"></i> [[post-queue:notify]]</button>
147
+ </div>
148
+ </div>
126
149
  {{{ else }}}
127
150
  <button class="btn btn-danger btn-sm" data-action="reject"><i class="fa fa-fw fa-times"></i> [[post-queue:remove]]</button>
128
151
  {{{ end }}}
@@ -134,7 +157,6 @@
134
157
  <div class="post-content-editable flex-grow-1 hidden">
135
158
  <textarea class="form-control w-100 h-100 p-3">{posts.data.rawContent}</textarea>
136
159
  </div>
137
- <div class="border-top p-2 d-none d-md-block text-xs fw-semibold text-end">[[post-queue:content-editable]]</div>
138
160
  </div>
139
161
  </div>
140
162
  </div>