nodebb-theme-harmony 2.0.0-pre.2 → 2.0.0-pre.21
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-lock.json +2368 -0
- package/package.json +2 -2
- package/public/harmony.js +2 -5
- package/scss/header.scss +1 -1
- package/scss/modules/topics-list.scss +2 -2
- package/scss/overrides.scss +2 -0
- package/scss/topic.scss +1 -4
- package/templates/account/settings.tpl +2 -2
- package/templates/account/theme.tpl +1 -1
- package/templates/category.tpl +1 -1
- package/templates/flags/detail.tpl +1 -1
- package/templates/partials/account/sidebar-left.tpl +5 -1
- package/templates/partials/buttons/newTopic.tpl +1 -1
- package/templates/partials/category/filter-dropdown-content.tpl +28 -24
- package/templates/partials/category/selector-dropdown-content.tpl +23 -19
- package/templates/partials/category/sort.tpl +9 -9
- package/templates/partials/category/tools.tpl +13 -13
- package/templates/partials/category/watch.tpl +8 -8
- package/templates/partials/flags/bulk-actions.tpl +1 -0
- package/templates/partials/flags/filters.tpl +21 -18
- package/templates/partials/mobile-footer.tpl +1 -1
- package/templates/partials/posts_list_item.tpl +1 -1
- package/templates/partials/quick-search-results.tpl +1 -1
- package/templates/partials/search-filters.tpl +1 -1
- package/templates/partials/sidebar/chats.tpl +1 -1
- package/templates/partials/sidebar/drafts.tpl +1 -1
- package/templates/partials/sidebar/notifications.tpl +1 -1
- package/templates/partials/sidebar/user-menu.tpl +13 -13
- package/templates/partials/tags/filter-dropdown-content.tpl +24 -20
- package/templates/partials/topic/post-menu-list.tpl +28 -20
- package/templates/partials/topic/post.tpl +1 -1
- package/templates/partials/topic/sort.tpl +3 -3
- package/templates/partials/topic/topic-menu-list.tpl +15 -15
- package/templates/partials/topic/watch.tpl +6 -6
- package/templates/partials/topic-list-bar.tpl +3 -3
- package/templates/partials/topics_list.tpl +2 -2
- package/templates/topic.tpl +2 -2
- package/templates/world.tpl +21 -0
package/package.json
CHANGED
package/public/harmony.js
CHANGED
|
@@ -65,11 +65,8 @@ $(document).ready(function () {
|
|
|
65
65
|
const bottomBar = $('[component="bottombar"]');
|
|
66
66
|
const $body = $('body');
|
|
67
67
|
const $window = $(window);
|
|
68
|
-
$body.on('shown.bs.dropdown', '.sticky-tools', function () {
|
|
69
|
-
bottomBar.
|
|
70
|
-
});
|
|
71
|
-
$body.on('hidden.bs.dropdown', '.sticky-tools', function () {
|
|
72
|
-
bottomBar.removeClass('hidden');
|
|
68
|
+
$body.on('shown.bs.dropdown hidden.bs.dropdown', '.sticky-tools', function () {
|
|
69
|
+
bottomBar.toggleClass('hidden', $(this).find('.dropdown-menu.show').length);
|
|
73
70
|
});
|
|
74
71
|
function isSearchVisible() {
|
|
75
72
|
return !!$('[component="bottombar"] [component="sidebar/search"] .search-dropdown.show').length;
|
package/scss/header.scss
CHANGED
package/scss/overrides.scss
CHANGED
package/scss/topic.scss
CHANGED
|
@@ -35,10 +35,7 @@ body.template-topic {
|
|
|
35
35
|
&.selected .post-container {
|
|
36
36
|
background-color: mix($body-bg, $body-color, 90%);
|
|
37
37
|
}
|
|
38
|
-
&.deleted .post-container .content {
|
|
39
|
-
opacity: .75;
|
|
40
|
-
text-decoration: line-through;
|
|
41
|
-
}
|
|
38
|
+
&.deleted .post-container .content { opacity: .65; }
|
|
42
39
|
|
|
43
40
|
[component="post/content"] {
|
|
44
41
|
@include fix-lists();
|
|
@@ -112,8 +112,8 @@
|
|
|
112
112
|
<div class="mb-2">
|
|
113
113
|
<label class="form-label text-sm" for="categoryTopicSort">[[user:category-topic-sort]]</label>
|
|
114
114
|
<select class="form-select form-select-sm" id="categoryTopicSort" data-property="categoryTopicSort">
|
|
115
|
-
<option value="
|
|
116
|
-
<option value="
|
|
115
|
+
<option value="recently_replied" {{{ if (settings.categoryTopicSort == "recently_replied") }}}selected{{{ end }}}>[[topic:recently-replied]]</option>
|
|
116
|
+
<option value="recently_created" {{{ if (settings.categoryTopicSort == "recently_created") }}}selected{{{ end }}}>[[topic:recently-created]]</option>
|
|
117
117
|
<option value="most_posts" {{{ if (settings.categoryTopicSort == "most_posts") }}}selected{{{ end }}}>[[topic:most-posts]]</option>
|
|
118
118
|
<option value="most_votes" {{{ if (settings.categoryTopicSort == "most_votes") }}}selected{{{ end }}}>[[topic:most-votes]]</option>
|
|
119
119
|
<option value="most_views" {{{ if (settings.categoryTopicSort == "most_views") }}}selected{{{ end }}}>[[topic:most-views]]</option>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
<div class="form-check form-switch mb-3">
|
|
16
|
-
<input type="checkbox" class="form-check-input" id="enableBreadcrumbs" name="enableBreadcrumbs" />
|
|
16
|
+
<input type="checkbox" class="form-check-input" id="enableBreadcrumbs" name="enableBreadcrumbs" {{{ if theme.enableBreadcrumbs }}}checked{{{ end }}} />
|
|
17
17
|
<label for="enableBreadcrumbs" class="form-check-label">[[themes/harmony:settings.enableBreadcrumbs]]</label>
|
|
18
18
|
</div>
|
|
19
19
|
|
package/templates/category.tpl
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<h1 class="tracking-tight fs-2 fw-semibold mb-0 text-center">{./name}</h1>
|
|
10
10
|
</div>
|
|
11
11
|
{{{ if ./descriptionParsed }}}
|
|
12
|
-
<div class="description text-
|
|
12
|
+
<div class="description text-secondary text-sm w-100 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}}">
|
|
13
13
|
{./descriptionParsed}
|
|
14
14
|
</div>
|
|
15
15
|
{{{ end }}}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="d-flex flex-column flex-md-row">
|
|
4
4
|
<div class="flex-shrink-0 d-flex flex-column gap-3 border-end-md text-sm mb-3 pe-4" style="flex-basis: 240px !important;">
|
|
5
5
|
<div class="d-grid gap-1">
|
|
6
|
-
<a class="btn btn-ghost ff-secondary border btn-sm justify-content-start" href="{config.relative_path}/{type_path}/{targetId}">
|
|
6
|
+
<a class="btn btn-ghost ff-secondary border btn-sm justify-content-start" href="{config.relative_path}/{type_path}/{encodeURIComponent(targetId)}">
|
|
7
7
|
<i class="fa fa-fw fa-external-link text-primary"></i>
|
|
8
8
|
[[flags:go-to-target]]
|
|
9
9
|
</a>
|
|
@@ -67,10 +67,14 @@
|
|
|
67
67
|
|
|
68
68
|
{{{ if (loggedIn && (!isSelf && !banned)) }}}
|
|
69
69
|
<hr class="w-100 my-2"/>
|
|
70
|
-
<a href="#" component="account/flag" class="btn-ghost-sm ff-secondary">
|
|
70
|
+
<a {{{if flagId }}}hidden{{{end}}} href="#" component="account/flag" class="btn-ghost-sm ff-secondary">
|
|
71
71
|
<i class="flex-shrink-0 fa-solid fa-flag text-danger"></i>
|
|
72
72
|
<div class="flex-grow-1 text-nowrap">[[user:flag-profile]]</div>
|
|
73
73
|
</a>
|
|
74
|
+
<a {{{if !flagId }}}hidden{{{end}}} href="#" component="account/already-flagged" class="btn-ghost-sm ff-secondary" data-flag-id="{flagId}">
|
|
75
|
+
<i class="flex-shrink-0 fa-solid fa-flag text-danger"></i>
|
|
76
|
+
<div class="flex-grow-1 text-nowrap">[[user:profile-flagged]]</div>
|
|
77
|
+
</a>
|
|
74
78
|
<a href="#" component="account/block" class="btn-ghost-sm ff-secondary {{{ if isBlocked }}}hidden{{{ end }}}">
|
|
75
79
|
<i class="flex-shrink-0 fa-solid fa-ban text-danger"></i>
|
|
76
80
|
<div class="flex-grow-1 text-nowrap">[[user:block-user]]</div>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</button>
|
|
5
5
|
<noscript>
|
|
6
6
|
<input type="checkbox" class="hidden" id="category-dropdown-check" aria-hidden="true">
|
|
7
|
-
<ul component="category/list" class="dropdown-menu p-1 text-sm category-dropdown-menu" role="menu">
|
|
7
|
+
<ul component="category/list" class="dropdown-menu p-1 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
|
8
8
|
{{{each categories}}}
|
|
9
9
|
<li role="presentation" class="category {{{if categories.disabledClass}}}disabled{{{end}}}">
|
|
10
10
|
<a role="menu-item" href="{config.relative_path}/compose?cid={categories.cid}">{categories.level}
|
|
@@ -8,30 +8,34 @@
|
|
|
8
8
|
<i class="fa fa-fw fa-list text-primary"></i>
|
|
9
9
|
<span class="visible-md-inline visible-lg-inline fw-semibold">[[unread:all-categories]]</span>{{{ end }}}
|
|
10
10
|
</button>
|
|
11
|
+
|
|
11
12
|
<div component="category-selector-search" class="hidden position-absolute">
|
|
12
13
|
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
13
14
|
</div>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
</
|
|
15
|
+
|
|
16
|
+
<div class="dropdown-menu p-1">
|
|
17
|
+
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
|
18
|
+
<li role="presentation" class="category" data-cid="all">
|
|
19
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{{{ if allCategoriesUrl }}}{config.relative_path}/{allCategoriesUrl}{{{ else }}}#{{{ end }}}">
|
|
20
|
+
<div class="flex-grow-1">[[unread:all-categories]]</div>
|
|
21
|
+
<i component="category/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i>
|
|
22
|
+
</a>
|
|
23
|
+
</li>
|
|
24
|
+
{{{each categoryItems}}}
|
|
25
|
+
<li role="presentation" class="category {{{ if ./disabledClass }}}disabled{{{ end }}}" data-cid="{./cid}" data-parent-cid="{./parentCid}" data-name="{./name}">
|
|
26
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if ./disabledClass }}}disabled{{{ end }}}" role="menuitem" href="#">
|
|
27
|
+
{./level}
|
|
28
|
+
<span component="category-markup" class="flex-grow-1" style="{{{ if ./match }}}font-weight: bold;{{{end}}}">
|
|
29
|
+
<div class="category-item d-inline-flex align-items-center gap-1">
|
|
30
|
+
{{{ if ./icon }}}
|
|
31
|
+
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
|
32
|
+
{{{ end }}}
|
|
33
|
+
{./name}
|
|
34
|
+
</div>
|
|
35
|
+
</span>
|
|
36
|
+
<i component="category/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{ if !./selected }}}invisible{{{ end }}}"></i>
|
|
37
|
+
</a>
|
|
38
|
+
</li>
|
|
39
|
+
{{{end}}}
|
|
40
|
+
</ul>
|
|
41
|
+
</div>
|
|
@@ -11,25 +11,29 @@
|
|
|
11
11
|
{{{ end }}}
|
|
12
12
|
</span>
|
|
13
13
|
</button>
|
|
14
|
+
|
|
14
15
|
<div component="category-selector-search" class="hidden position-absolute">
|
|
15
16
|
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
16
17
|
</div>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
</
|
|
18
|
+
|
|
19
|
+
<div class="dropdown-menu p-1">
|
|
20
|
+
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
|
21
|
+
<li component="category/no-matches" role="presentation" class="category hidden">
|
|
22
|
+
<a class="dropdown-item rounded-1" role="menuitem">[[search:no-matches]]</a>
|
|
23
|
+
</li>
|
|
24
|
+
{{{ each categoryItems }}}
|
|
25
|
+
<li role="presentation" class="category {{{ if ./disabledClass }}}disabled {{{ end }}}" data-cid="{./cid}" data-name="{./name}" data-parent-cid="{./parentCid}">
|
|
26
|
+
<a class="dropdown-item rounded-1 {{{ if ./disabledClass }}}disabled{{{ end }}}" role="menuitem" href="#">{./level}
|
|
27
|
+
<span component="category-markup" style="{{{ if ./match }}}font-weight: bold;{{{end}}}">
|
|
28
|
+
<div class="category-item d-inline-flex align-items-center gap-1">
|
|
29
|
+
{{{ if ./icon }}}
|
|
30
|
+
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
|
31
|
+
{{{ end }}}
|
|
32
|
+
{./name}
|
|
33
|
+
</div>
|
|
34
|
+
</span>
|
|
35
|
+
</a>
|
|
36
|
+
</li>
|
|
37
|
+
{{{ end }}}
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
@@ -6,33 +6,33 @@
|
|
|
6
6
|
|
|
7
7
|
<ul class="dropdown-menu p-1 text-sm" role="menu">
|
|
8
8
|
<li>
|
|
9
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" data-sort="
|
|
10
|
-
<span class="flex-grow-1">[[topic:
|
|
11
|
-
<i class="flex-shrink-0 fa fa-fw text-
|
|
9
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" data-sort="recently_replied" role="menuitem">
|
|
10
|
+
<span class="flex-grow-1">[[topic:recently-replied]]</span>
|
|
11
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
12
12
|
</a>
|
|
13
13
|
</li>
|
|
14
14
|
<li>
|
|
15
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" data-sort="
|
|
16
|
-
<span class="flex-grow-1">[[topic:
|
|
17
|
-
<i class="flex-shrink-0 fa fa-fw text-
|
|
15
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" data-sort="recently_created" role="menuitem">
|
|
16
|
+
<span class="flex-grow-1">[[topic:recently-created]]</span>
|
|
17
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
18
18
|
</a>
|
|
19
19
|
</li>
|
|
20
20
|
<li>
|
|
21
21
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" data-sort="most_posts" role="menuitem">
|
|
22
22
|
<span class="flex-grow-1">[[topic:most-posts]]</span>
|
|
23
|
-
<i class="flex-shrink-0 fa fa-fw text-
|
|
23
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
24
24
|
</a>
|
|
25
25
|
</li>
|
|
26
26
|
<li>
|
|
27
27
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" data-sort="most_votes" role="menuitem">
|
|
28
28
|
<span class="flex-grow-1">[[topic:most-votes]]</span>
|
|
29
|
-
<i class="flex-shrink-0 fa fa-fw text-
|
|
29
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
30
30
|
</a>
|
|
31
31
|
</li>
|
|
32
32
|
<li>
|
|
33
33
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" data-sort="most_views" role="menuitem">
|
|
34
34
|
<span class="flex-grow-1">[[topic:most-views]]</span>
|
|
35
|
-
<i class="flex-shrink-0 fa fa-fw text-
|
|
35
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
36
36
|
</a>
|
|
37
37
|
</li>
|
|
38
38
|
</ul>
|
|
@@ -8,28 +8,28 @@
|
|
|
8
8
|
<ul class="dropdown-menu p-1 text-sm" role="menu">
|
|
9
9
|
<li>
|
|
10
10
|
<a component="topic/mark-unread-for-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
11
|
-
<i class="fa fa-fw
|
|
11
|
+
<i class="fa fa-fw fa-inbox text-secondary"></i> [[topic:thread-tools.markAsUnreadForAll]]
|
|
12
12
|
</a>
|
|
13
13
|
</li>
|
|
14
14
|
<li>
|
|
15
15
|
<a component="topic/pin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
16
|
-
<i class="fa fa-fw
|
|
16
|
+
<i class="fa fa-fw fa-thumb-tack text-secondary"></i> [[topic:thread-tools.pin]]
|
|
17
17
|
</a>
|
|
18
18
|
</li>
|
|
19
19
|
<li>
|
|
20
20
|
<a component="topic/unpin" href="#" class="hidden dropdown-item rounded-1" role="menuitem">
|
|
21
|
-
<i class="fa fa-fw
|
|
21
|
+
<i class="fa fa-fw fa-thumb-tack fa-rotate-90 text-secondary"></i> [[topic:thread-tools.unpin]]
|
|
22
22
|
</a>
|
|
23
23
|
</li>
|
|
24
24
|
|
|
25
25
|
<li>
|
|
26
26
|
<a component="topic/lock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
27
|
-
<i class="fa fa-fw
|
|
27
|
+
<i class="fa fa-fw fa-lock text-secondary"></i> [[topic:thread-tools.lock]]
|
|
28
28
|
</a>
|
|
29
29
|
</li>
|
|
30
30
|
<li>
|
|
31
31
|
<a component="topic/unlock" href="#" class="hidden dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
32
|
-
<i class="fa fa-fw
|
|
32
|
+
<i class="fa fa-fw fa-unlock text-secondary"></i> [[topic:thread-tools.unlock]]
|
|
33
33
|
</a>
|
|
34
34
|
</li>
|
|
35
35
|
|
|
@@ -37,25 +37,25 @@
|
|
|
37
37
|
|
|
38
38
|
<li>
|
|
39
39
|
<a component="topic/move" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
40
|
-
<i class="fa fa-fw
|
|
40
|
+
<i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move]]
|
|
41
41
|
</a>
|
|
42
42
|
</li>
|
|
43
43
|
{{{if template.category}}}
|
|
44
44
|
<li>
|
|
45
45
|
<a component="topic/move-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
46
|
-
<i class="fa fa-fw
|
|
46
|
+
<i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move-all]]
|
|
47
47
|
</a>
|
|
48
48
|
</li>
|
|
49
49
|
{{{end}}}
|
|
50
50
|
<li>
|
|
51
51
|
<a component="topic/merge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
52
|
-
<i class="fa fa-fw
|
|
52
|
+
<i class="fa fa-fw fa-code-fork text-secondary"></i> [[topic:thread-tools.merge]]
|
|
53
53
|
</a>
|
|
54
54
|
</li>
|
|
55
55
|
|
|
56
56
|
<li>
|
|
57
57
|
<a component="topic/tag" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
58
|
-
<i class="fa fa-fw
|
|
58
|
+
<i class="fa fa-fw fa-tag text-secondary"></i> [[topic:thread-tools.tag]]
|
|
59
59
|
</a>
|
|
60
60
|
</li>
|
|
61
61
|
|
|
@@ -63,24 +63,24 @@
|
|
|
63
63
|
|
|
64
64
|
<li>
|
|
65
65
|
<a component="topic/delete" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem">
|
|
66
|
-
<i class="fa fa-fw
|
|
66
|
+
<i class="fa fa-fw fa-trash-o text-secondary"></i> [[topic:thread-tools.delete]]
|
|
67
67
|
</a>
|
|
68
68
|
</li>
|
|
69
69
|
<li>
|
|
70
70
|
<a component="topic/restore" href="#" class="hidden dropdown-item rounded-1" role="menuitem">
|
|
71
|
-
<i class="fa fa-fw
|
|
71
|
+
<i class="fa fa-fw fa-history text-secondary"></i> [[topic:thread-tools.restore]]
|
|
72
72
|
</a>
|
|
73
73
|
</li>
|
|
74
74
|
<li>
|
|
75
75
|
<a component="topic/purge" href="#" class="hidden dropdown-item rounded-1" role="menuitem">
|
|
76
|
-
<i class="fa fa-fw
|
|
76
|
+
<i class="fa fa-fw fa-eraser text-secondary"></i> [[topic:thread-tools.purge]]
|
|
77
77
|
</a>
|
|
78
78
|
</li>
|
|
79
79
|
|
|
80
80
|
{{{each thread_tools}}}
|
|
81
81
|
<li>
|
|
82
82
|
<a href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {thread_tools.class}" role="menuitem">
|
|
83
|
-
<i class="fa fa-fw {thread_tools.icon}"></i>
|
|
83
|
+
<i class="fa fa-fw {thread_tools.icon} text-secondary"></i>
|
|
84
84
|
{thread_tools.title}</a>
|
|
85
85
|
</li>
|
|
86
86
|
{{{end}}}
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="category/watching" data-state="watching" role="menuitem">
|
|
16
16
|
<div class="flex-grow-1 d-flex flex-column">
|
|
17
17
|
<span class="d-flex align-items-center gap-2">
|
|
18
|
-
<i class="flex-shrink-0 fa fa-fw
|
|
18
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-o text-secondary"></i>
|
|
19
19
|
<span class="flex-grow-1 fw-semibold">[[category:watching]]</span>
|
|
20
20
|
</span>
|
|
21
|
-
<div class="help-text text-
|
|
21
|
+
<div class="help-text text-secondary text-xs">[[category:watching.description]]</div>
|
|
22
22
|
</div>
|
|
23
23
|
<span class="flex-shrink-0"><i component="category/watching/check" class="fa fa-fw {{{ if ./isWatched }}}fa-check{{{ end }}}"></i></span>
|
|
24
24
|
</a>
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="category/tracking" data-state="tracking" role="menuitem">
|
|
29
29
|
<div class="flex-grow-1 d-flex flex-column">
|
|
30
30
|
<span class="d-flex align-items-center gap-2">
|
|
31
|
-
<i class="flex-shrink-0 fa fa-fw
|
|
31
|
+
<i class="flex-shrink-0 fa fa-fw fa-inbox text-secondary"></i>
|
|
32
32
|
<span class="flex-grow-1 fw-semibold">[[category:tracking]]</span>
|
|
33
33
|
</span>
|
|
34
|
-
<div class="help-text text-
|
|
34
|
+
<div class="help-text text-secondary text-xs">[[category:tracking.description]]</div>
|
|
35
35
|
</div>
|
|
36
36
|
<span class="flex-shrink-0"><i component="category/tracking/check" class="fa fa-fw {{{ if ./isTracked }}}fa-check{{{ end }}}"></i></span>
|
|
37
37
|
</a>
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="category/notwatching" data-state="notwatching" role="menuitem">
|
|
42
42
|
<div class="flex-grow-1 d-flex flex-column">
|
|
43
43
|
<span class="d-flex align-items-center gap-2">
|
|
44
|
-
<i class="flex-shrink-0 fa fa-fw
|
|
44
|
+
<i class="flex-shrink-0 fa fa-fw fa-clock-o text-secondary"></i>
|
|
45
45
|
<span class="flex-grow-1 fw-semibold">[[category:not-watching]]</span>
|
|
46
46
|
</span>
|
|
47
|
-
<div class="help-text text-
|
|
47
|
+
<div class="help-text text-secondary text-xs">[[category:not-watching.description]]</div>
|
|
48
48
|
</div>
|
|
49
49
|
<span class="flex-shrink-0"><i component="category/notwatching/check" class="fa fa-fw {{{ if ./isNotWatched }}}fa-check{{{ end }}}"></i></span>
|
|
50
50
|
</a>
|
|
@@ -54,10 +54,10 @@
|
|
|
54
54
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="category/ignoring" data-state="ignoring" role="menuitem">
|
|
55
55
|
<div class="flex-grow-1 d-flex flex-column">
|
|
56
56
|
<span class="d-flex align-items-center gap-2">
|
|
57
|
-
<i class="flex-shrink-0 fa fa-fw
|
|
57
|
+
<i class="flex-shrink-0 fa fa-fw fa-eye-slash text-secondary"></i>
|
|
58
58
|
<span class="flex-grow-1 fw-semibold">[[category:ignoring]]</span>
|
|
59
59
|
</span>
|
|
60
|
-
<div class="help-text text-
|
|
60
|
+
<div class="help-text text-secondary text-xs">[[category:ignoring.description]]</div>
|
|
61
61
|
</div>
|
|
62
62
|
<span class="flex-shrink-0"><i component="category/ignoring/check" class="fa fa-fw {{{ if ./isIgnored }}}fa-check{{{ end }}}"></i></span>
|
|
63
63
|
</a>
|
|
@@ -5,5 +5,6 @@
|
|
|
5
5
|
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu">
|
|
6
6
|
<li><a href="#" class="dropdown-item rounded-1" data-action="bulk-assign" role="menuitem">[[flags:assign-to-me]]</a></li>
|
|
7
7
|
<li><a href="#" class="dropdown-item rounded-1" data-action="bulk-mark-resolved" role="menuitem">[[flags:bulk-resolve]]</a></li>
|
|
8
|
+
<li><a href="#" class="dropdown-item rounded-1" data-action="bulk-purge" role="menuitem">[[flags:bulk-purge]]</a></li>
|
|
8
9
|
</ul>
|
|
9
10
|
</div>
|
|
@@ -27,24 +27,27 @@
|
|
|
27
27
|
<div component="category-selector-search" class="hidden position-absolute">
|
|
28
28
|
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
29
29
|
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
30
|
+
|
|
31
|
+
<div class="dropdown-menu p-1">
|
|
32
|
+
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
|
33
|
+
{{{each categoryItems}}}
|
|
34
|
+
<li role="presentation" class="category {{{ if ../disabledClass }}}disabled{{{ end }}}" data-cid="{../cid}" data-parent-cid="{../parentCid}" data-name="{../name}">
|
|
35
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#">
|
|
36
|
+
{../level}
|
|
37
|
+
<span component="category-markup" class="flex-grow-1" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">
|
|
38
|
+
<div class="category-item d-inline-flex align-items-center gap-1">
|
|
39
|
+
{{{ if ./icon }}}
|
|
40
|
+
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
|
41
|
+
{{{ end }}}
|
|
42
|
+
{./name}
|
|
43
|
+
</div>
|
|
44
|
+
</span>
|
|
45
|
+
<i component="category/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{ if !../selected }}}invisible{{{ end }}}"></i>
|
|
46
|
+
</a>
|
|
47
|
+
</li>
|
|
48
|
+
{{{end}}}
|
|
49
|
+
</ul>
|
|
50
|
+
</div>
|
|
48
51
|
</div>
|
|
49
52
|
|
|
50
53
|
<div class="btn-group bottom-sheet">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div component="bottombar" class="bottombar d-flex flex-column d-lg-none fixed-bottom ff-secondary gap-1 align-items-center">
|
|
1
|
+
<div component="bottombar" class="bottombar d-flex flex-column d-lg-none fixed-bottom ff-secondary gap-1 align-items-center" style="bottom: 0px;">
|
|
2
2
|
|
|
3
3
|
<!-- IMPORT partials/topic/navigator-mobile.tpl -->
|
|
4
4
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<li component="post" class="posts-list-item {{{ if ./deleted }}} deleted{{{ else }}}{{{ if ./topic.deleted }}} deleted{{{ end }}}{{{ end }}}{{{ if ./topic.scheduled }}} scheduled{{{ end }}}" data-pid="{./pid}" data-uid="{./uid}">
|
|
2
2
|
<hr/>
|
|
3
|
-
<a class="topic-title fw-semibold fs-5 mb-2 text-reset text-break d-block" href="{config.relative_path}/post/{./pid}">
|
|
3
|
+
<a class="topic-title fw-semibold fs-5 mb-2 text-reset text-break d-block" href="{config.relative_path}/post/{encodeURIComponent(./pid)}">
|
|
4
4
|
{{{ if ./isMainPost }}}<i class="fa fa-book text-muted" title="[[topic:topic]]"></i> {{{ end }}}{./topic.title}
|
|
5
5
|
</a>
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
|
|
12
|
-
<ul id="quick-search-results" class="quick-search-results list-unstyled mb-0 p-0 pe-1 overflow-auto overscroll-behavior-contain ff-base" style="max-width: 400px; max-height: 500px;">
|
|
12
|
+
<ul id="quick-search-results" class="quick-search-results list-unstyled mb-0 p-0 pe-1 overflow-auto overscroll-behavior-contain ff-base ghost-scrollbar" style="max-width: 400px; max-height: 500px;">
|
|
13
13
|
<li role="separator" class="dropdown-divider d-none d-md-block"></li>
|
|
14
14
|
{{{ each posts }}}
|
|
15
15
|
<li data-tid="{posts.topic.tid}" data-pid="{posts.pid}" class="d-flex flex-column gap-1">
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<input type="text" class="form-control" component="category/filter/search" placeholder="[[search:type-a-category]]">
|
|
14
14
|
</div>
|
|
15
15
|
</li>
|
|
16
|
-
<div component="category/list" class="overflow-auto" style="max-height: 350px;"></div>
|
|
16
|
+
<div component="category/list" class="overflow-auto ghost-scrollbar" style="max-height: 350px;"></div>
|
|
17
17
|
<div class="px-3 py-1">
|
|
18
18
|
<div class="form-check">
|
|
19
19
|
<input id="search-children" class="form-check-input" type="checkbox"/>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
</a>
|
|
11
11
|
<ul class="chats-dropdown dropdown-menu p-1 shadow" role="menu">
|
|
12
12
|
<li>
|
|
13
|
-
<div component="chat/list" class="list-container chats-list overscroll-behavior-contain p-0 pe-1 ff-base">
|
|
13
|
+
<div component="chat/list" class="list-container chats-list overscroll-behavior-contain p-0 pe-1 ff-base ghost-scrollbar">
|
|
14
14
|
<div class="rounded-1">
|
|
15
15
|
<div class="d-flex gap-1 justify-content-between">
|
|
16
16
|
<div class="dropdown-item p-2 d-flex gap-2 placeholder-wave">
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
</a>
|
|
11
11
|
<ul class="drafts-dropdown dropdown-menu p-1 shadow" role="menu">
|
|
12
12
|
<li>
|
|
13
|
-
<div component="drafts/list" class="list-container draft-list list-unstyled d-flex flex-column overscroll-behavior-contain gap-1 pe-1">
|
|
13
|
+
<div component="drafts/list" class="list-container draft-list list-unstyled d-flex flex-column overscroll-behavior-contain gap-1 pe-1 ghost-scrollbar">
|
|
14
14
|
<div class="dropdown-item rounded-1 p-2 d-flex gap-2 placeholder-wave">
|
|
15
15
|
<div class="d-flex flex-grow-1 flex-column w-100">
|
|
16
16
|
<div class="text-xs placeholder col-3"> </div>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
</a>
|
|
11
11
|
<ul class="notifications-dropdown dropdown-menu p-1 shadow" role="menu">
|
|
12
12
|
<li>
|
|
13
|
-
<div component="notifications/list" class="list-container notification-list overscroll-behavior-contain pe-1 ff-base">
|
|
13
|
+
<div component="notifications/list" class="list-container notification-list overscroll-behavior-contain pe-1 ff-base ghost-scrollbar">
|
|
14
14
|
<div class="mb-2 p-1">
|
|
15
15
|
<div class="d-flex gap-1 justify-content-between">
|
|
16
16
|
<div class="d-flex gap-2 flex-grow-1 placeholder-wave">
|