nodebb-theme-harmony 2.0.0-pre.1 → 2.0.0-pre.10
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/library.js +2 -5
- package/package-lock.json +2 -2
- 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/topic.scss +4 -4
- package/templates/account/settings.tpl +2 -2
- package/templates/account/theme.tpl +5 -0
- package/templates/admin/plugins/harmony.tpl +4 -0
- package/templates/category.tpl +3 -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/filters.tpl +21 -18
- 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 +1 -1
- package/templates/partials/topics_list.tpl +1 -1
- package/templates/topic.tpl +4 -1
package/library.js
CHANGED
|
@@ -11,6 +11,7 @@ const library = module.exports;
|
|
|
11
11
|
|
|
12
12
|
const defaults = {
|
|
13
13
|
enableQuickReply: 'on',
|
|
14
|
+
enableBreadcrumbs: 'on',
|
|
14
15
|
centerHeaderElements: 'off',
|
|
15
16
|
mobileTopicTeasers: 'off',
|
|
16
17
|
stickyToolbar: 'on',
|
|
@@ -129,11 +130,6 @@ library.defineWidgetAreas = async function (areas) {
|
|
|
129
130
|
template: 'account/profile.tpl',
|
|
130
131
|
location: 'profile-aboutme-after',
|
|
131
132
|
},
|
|
132
|
-
{
|
|
133
|
-
name: 'Chat Header',
|
|
134
|
-
template: 'chats.tpl',
|
|
135
|
-
location: 'header',
|
|
136
|
-
},
|
|
137
133
|
]);
|
|
138
134
|
|
|
139
135
|
return areas;
|
|
@@ -147,6 +143,7 @@ library.loadThemeConfig = async function (uid) {
|
|
|
147
143
|
|
|
148
144
|
const config = { ...defaults, ...themeConfig, ...(_.pick(userConfig, Object.keys(defaults))) };
|
|
149
145
|
config.enableQuickReply = config.enableQuickReply === 'on';
|
|
146
|
+
config.enableBreadcrumbs = config.enableBreadcrumbs === 'on';
|
|
150
147
|
config.centerHeaderElements = config.centerHeaderElements === 'on';
|
|
151
148
|
config.mobileTopicTeasers = config.mobileTopicTeasers === 'on';
|
|
152
149
|
config.stickyToolbar = config.stickyToolbar === 'on';
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nodebb-theme-harmony",
|
|
3
|
-
"version": "2.0.0-pre.
|
|
3
|
+
"version": "2.0.0-pre.10",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "nodebb-theme-harmony",
|
|
9
|
-
"version": "2.0.0-pre.
|
|
9
|
+
"version": "2.0.0-pre.10",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@fontsource/inter": "5.0.15",
|
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/topic.scss
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
body.template-topic {
|
|
2
|
+
.breadcrumb .breadcrumb-item:last-child {
|
|
3
|
+
display: none;
|
|
4
|
+
}
|
|
2
5
|
.topic {
|
|
3
6
|
.posts-container {
|
|
4
7
|
max-width: 960px;
|
|
@@ -32,10 +35,7 @@ body.template-topic {
|
|
|
32
35
|
&.selected .post-container {
|
|
33
36
|
background-color: mix($body-bg, $body-color, 90%);
|
|
34
37
|
}
|
|
35
|
-
&.deleted .post-container .content {
|
|
36
|
-
opacity: .75;
|
|
37
|
-
text-decoration: line-through;
|
|
38
|
-
}
|
|
38
|
+
&.deleted .post-container .content { opacity: .65; }
|
|
39
39
|
|
|
40
40
|
[component="post/content"] {
|
|
41
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>
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
<label class="form-check-label" for="enableQuickReply">[[themes/harmony:settings.enableQuickReply]]</label>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
+
<div class="form-check form-switch mb-3">
|
|
16
|
+
<input type="checkbox" class="form-check-input" id="enableBreadcrumbs" name="enableBreadcrumbs" {{{ if theme.enableBreadcrumbs }}}checked{{{ end }}} />
|
|
17
|
+
<label for="enableBreadcrumbs" class="form-check-label">[[themes/harmony:settings.enableBreadcrumbs]]</label>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
15
20
|
<div class="form-check form-switch mb-3">
|
|
16
21
|
<input class="form-check-input" type="checkbox" role="switch" id="centerHeaderElements" name="centerHeaderElements" {{{ if theme.centerHeaderElements }}}checked{{{ end }}}>
|
|
17
22
|
<label class="form-check-label" for="centerHeaderElements">[[themes/harmony:settings.centerHeaderElements]]</label>
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
<input type="checkbox" class="form-check-input" id="enableQuickReply" name="enableQuickReply" />
|
|
9
9
|
<label for="enableQuickReply" class="form-check-label">[[themes/harmony:settings.enableQuickReply]]</label>
|
|
10
10
|
</div>
|
|
11
|
+
<div class="form-check form-switch">
|
|
12
|
+
<input type="checkbox" class="form-check-input" id="enableBreadcrumbs" name="enableBreadcrumbs" />
|
|
13
|
+
<label for="enableBreadcrumbs" class="form-check-label">[[themes/harmony:settings.enableBreadcrumbs]]</label>
|
|
14
|
+
</div>
|
|
11
15
|
<div class="form-check form-switch">
|
|
12
16
|
<input type="checkbox" class="form-check-input" id="centerHeaderElements" name="centerHeaderElements" />
|
|
13
17
|
<label for="centerHeaderElements" class="form-check-label">[[themes/harmony:settings.centerHeaderElements]]</label>
|
package/templates/category.tpl
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<!-- IMPORT partials/breadcrumbs-json-ld.tpl -->
|
|
2
|
+
{{{ if config.theme.enableBreadcrumbs }}}
|
|
2
3
|
<!-- IMPORT partials/breadcrumbs.tpl -->
|
|
4
|
+
{{{ end }}}
|
|
3
5
|
|
|
4
6
|
<div class="category-header d-flex flex-column gap-2">
|
|
5
7
|
<div class="d-flex gap-2 align-items-center mb-1 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
|
|
@@ -7,7 +9,7 @@
|
|
|
7
9
|
<h1 class="tracking-tight fs-2 fw-semibold mb-0 text-center">{./name}</h1>
|
|
8
10
|
</div>
|
|
9
11
|
{{{ if ./descriptionParsed }}}
|
|
10
|
-
<div class="description text-
|
|
12
|
+
<div class="description text-secondary text-sm w-100 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}}">
|
|
11
13
|
{./descriptionParsed}
|
|
12
14
|
</div>
|
|
13
15
|
{{{ end }}}
|
|
@@ -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>
|
|
@@ -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">
|
|
@@ -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">
|
|
@@ -15,44 +15,44 @@
|
|
|
15
15
|
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.online }}}selected{{{ end }}}" data-status="online" role="menuitem">
|
|
16
16
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status online"></span>
|
|
17
17
|
<span class="flex-grow-1">[[global:online]]</span>
|
|
18
|
-
<i class="fa-solid fa-check text-
|
|
18
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0" aria-label="[[global:selected]]"></i>
|
|
19
19
|
</a>
|
|
20
20
|
</li>
|
|
21
21
|
<li>
|
|
22
22
|
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.away }}}selected{{{ end }}}" data-status="away" role="menuitem">
|
|
23
23
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status away"></span>
|
|
24
24
|
<span class="flex-grow-1">[[global:away]]</span>
|
|
25
|
-
<i class="fa-solid fa-check text-
|
|
25
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0"><span class="visually-hidden"></span>[[global:selected]]</span></i>
|
|
26
26
|
</a>
|
|
27
27
|
</li>
|
|
28
28
|
<li>
|
|
29
29
|
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.dnd }}}selected{{{ end }}}" data-status="dnd" role="menuitem">
|
|
30
30
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status dnd"></span>
|
|
31
31
|
<span class="flex-grow-1">[[global:dnd]]</span>
|
|
32
|
-
<i class="fa-solid fa-check text-
|
|
32
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0"></i>
|
|
33
33
|
</a>
|
|
34
34
|
</li>
|
|
35
35
|
<li>
|
|
36
36
|
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.offline }}}selected{{{ end }}}" data-status="offline" role="menuitem">
|
|
37
37
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status offline"></span>
|
|
38
38
|
<span class="flex-grow-1">[[global:invisible]]</span>
|
|
39
|
-
<i class="fa-solid fa-check text-
|
|
39
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0"></i>
|
|
40
40
|
</a>
|
|
41
41
|
</li>
|
|
42
42
|
<li role="presentation" class="dropdown-divider"></li>
|
|
43
43
|
<li>
|
|
44
44
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/user/{user.userslug}/bookmarks" role="menuitem">
|
|
45
|
-
<i class="fa fa-fw fa-bookmark text-
|
|
45
|
+
<i class="fa fa-fw fa-bookmark text-secondary"></i> <span>[[user:bookmarks]]</span>
|
|
46
46
|
</a>
|
|
47
47
|
</li>
|
|
48
48
|
<li>
|
|
49
49
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="header/profilelink/edit" href="{relative_path}/user/{user.userslug}/edit" role="menuitem">
|
|
50
|
-
<i class="fa fa-fw fa-edit text-
|
|
50
|
+
<i class="fa fa-fw fa-edit text-secondary"></i> <span>[[user:edit-profile]]</span>
|
|
51
51
|
</a>
|
|
52
52
|
</li>
|
|
53
53
|
<li>
|
|
54
54
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="header/profilelink/settings" href="{relative_path}/user/{user.userslug}/settings" role="menuitem">
|
|
55
|
-
<i class="fa fa-fw fa-gear text-
|
|
55
|
+
<i class="fa fa-fw fa-gear text-secondary"></i> <span>[[user:settings]]</span>
|
|
56
56
|
</a>
|
|
57
57
|
</li>
|
|
58
58
|
{{{ if showModMenu }}}
|
|
@@ -60,31 +60,31 @@
|
|
|
60
60
|
<li><h6 class="dropdown-header text-xs">[[pages:moderator-tools]]</h6></li>
|
|
61
61
|
<li>
|
|
62
62
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/flags" role="menuitem">
|
|
63
|
-
<i class="fa fa-fw fa-flag text-
|
|
63
|
+
<i class="fa fa-fw fa-flag text-secondary"></i> <span>[[pages:flagged-content]]</span>
|
|
64
64
|
</a>
|
|
65
65
|
</li>
|
|
66
66
|
<li>
|
|
67
67
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/post-queue" role="menuitem">
|
|
68
|
-
<i class="fa fa-fw fa-list-alt text-
|
|
68
|
+
<i class="fa fa-fw fa-list-alt text-secondary"></i> <span>[[pages:post-queue]]</span>
|
|
69
69
|
</a>
|
|
70
70
|
</li>
|
|
71
71
|
{{{ if registrationQueueEnabled }}}
|
|
72
72
|
<li>
|
|
73
73
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/registration-queue" role="menuitem">
|
|
74
|
-
<i class="fa fa-fw fa-list-alt text-
|
|
74
|
+
<i class="fa fa-fw fa-list-alt text-secondary"></i> <span>[[pages:registration-queue]]</span>
|
|
75
75
|
</a>
|
|
76
76
|
</li>
|
|
77
77
|
{{{ end }}}
|
|
78
78
|
<li>
|
|
79
79
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/ip-blacklist" role="menuitem">
|
|
80
|
-
<i class="fa fa-fw fa-ban text-
|
|
80
|
+
<i class="fa fa-fw fa-ban text-secondary"></i> <span>[[pages:ip-blacklist]]</span>
|
|
81
81
|
</a>
|
|
82
82
|
</li>
|
|
83
83
|
{{{ else }}}
|
|
84
84
|
{{{ if postQueueEnabled }}}
|
|
85
85
|
<li>
|
|
86
86
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/post-queue" role="menuitem">
|
|
87
|
-
<i class="fa fa-fw fa-list-alt text-
|
|
87
|
+
<i class="fa fa-fw fa-list-alt text-secondary"></i> <span>[[pages:post-queue]]</span>
|
|
88
88
|
</a>
|
|
89
89
|
</li>
|
|
90
90
|
{{{ end }}}
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
<input type="hidden" name="_csrf" value="{config.csrf_token}">
|
|
97
97
|
<input type="hidden" name="noscript" value="true">
|
|
98
98
|
<button type="submit" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
99
|
-
<i class="fa fa-fw fa-sign-out text-
|
|
99
|
+
<i class="fa fa-fw fa-sign-out text-secondary"></i><span>[[global:logout]]</span>
|
|
100
100
|
</button>
|
|
101
101
|
</form>
|
|
102
102
|
</li>
|
|
@@ -9,26 +9,30 @@
|
|
|
9
9
|
<span class="visible-md-inline visible-lg-inline fw-semibold">[[tags:all-tags]]</span>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
</button>
|
|
12
|
+
|
|
12
13
|
<div component="tag/filter/search" class="hidden position-absolute top-0">
|
|
13
14
|
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
14
15
|
</div>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
</
|
|
16
|
+
|
|
17
|
+
<div class="dropdown-menu p-1">
|
|
18
|
+
<ul component="tag/filter/list" class="list-unstyled mb-0 text-sm overflow-auto ghost-scrollbar" role="menu" style="max-height: 500px;" role="menu">
|
|
19
|
+
<li role="presentation" data-tag="">
|
|
20
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#">
|
|
21
|
+
<span class="flex-grow-1">[[tags:all-tags]]</span>
|
|
22
|
+
<i component="tag/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{if selectedTag }}}invisible{{{ end }}}"></i>
|
|
23
|
+
</a>
|
|
24
|
+
</li>
|
|
25
|
+
{{{ each tagItems }}}
|
|
26
|
+
<li role="presentation" data-tag="{./valueEscaped}">
|
|
27
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#">
|
|
28
|
+
<span component="tag-markup" class="flex-grow-1">
|
|
29
|
+
<div class="d-inline-flex align-items-center gap-1">
|
|
30
|
+
{./valueEscaped}
|
|
31
|
+
</div>
|
|
32
|
+
</span>
|
|
33
|
+
<i component="tag/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{ if !./selected }}}invisible{{{ end }}}"></i>
|
|
34
|
+
</a>
|
|
35
|
+
</li>
|
|
36
|
+
{{{ end }}}
|
|
37
|
+
</ul>
|
|
38
|
+
</div>
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{{{ if posts.display_moderator_tools }}}
|
|
2
2
|
<li>
|
|
3
3
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/edit" role="menuitem" href="#">
|
|
4
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
4
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-pencil"></i></span> [[topic:edit]]
|
|
5
5
|
</a>
|
|
6
6
|
</li>
|
|
7
7
|
<li {{{ if posts.deleted }}}hidden{{{ end }}}>
|
|
8
8
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/delete" role="menuitem" href="#" class="{{{ if posts.deleted }}}hidden{{{ end }}}">
|
|
9
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
9
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-trash-o"></i></span> [[topic:delete]]
|
|
10
10
|
</a>
|
|
11
11
|
</li>
|
|
12
12
|
<li {{{ if !posts.deleted }}}hidden{{{ end }}}>
|
|
13
13
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/restore" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
|
|
14
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
14
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:restore]]
|
|
15
15
|
</a>
|
|
16
16
|
</li>
|
|
17
17
|
{{{ if posts.display_purge_tools }}}
|
|
18
18
|
<li {{{ if !posts.deleted }}}hidden{{{ end }}}>
|
|
19
19
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/purge" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
|
|
20
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
20
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-eraser"></i></span> [[topic:purge]]
|
|
21
21
|
</a>
|
|
22
22
|
</li>
|
|
23
23
|
{{{ end }}}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
{{{ if posts.display_move_tools }}}
|
|
26
26
|
<li>
|
|
27
27
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/move" role="menuitem" href="#">
|
|
28
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
28
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-arrows"></i></span> [[topic:move]]
|
|
29
29
|
</a>
|
|
30
30
|
</li>
|
|
31
31
|
{{{ end }}}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
{{{ if posts.display_change_owner_tools }}}
|
|
34
34
|
<li>
|
|
35
35
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/change-owner" role="menuitem" href="#">
|
|
36
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
36
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-user"></i></span> [[topic:change-owner]]
|
|
37
37
|
</a>
|
|
38
38
|
</li>
|
|
39
39
|
{{{ end }}}
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
{{{ if posts.ip }}}
|
|
42
42
|
<li>
|
|
43
43
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/copy-ip" role="menuitem" href="#" data-clipboard-text="{posts.ip}">
|
|
44
|
-
<span class="menu-icon" ><i class="fa fa-fw text-
|
|
44
|
+
<span class="menu-icon" ><i class="fa fa-fw text-secondary fa-copy"></i></span> [[topic:copy-ip]] {posts.ip}
|
|
45
45
|
</a>
|
|
46
46
|
</li>
|
|
47
47
|
{{{ if posts.display_ip_ban }}}
|
|
48
48
|
<li>
|
|
49
49
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/ban-ip" role="menuitem" href="#" data-ip="{posts.ip}">
|
|
50
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
50
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-ban"></i></span> [[topic:ban-ip]] {posts.ip}
|
|
51
51
|
</a>
|
|
52
52
|
</li>
|
|
53
53
|
{{{ end }}}
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
{{{ each posts.tools }}}
|
|
58
58
|
<li {{{ if ./disabled }}}class="disabled" {{{ end }}}>
|
|
59
59
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" {{{ if ./action}}}component="{./action}"{{{ end }}} role="menuitem" href="{{{ if ./href }}}{./href}{{{ else }}}#{{{ end }}}">
|
|
60
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
60
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary {./icon}"></i></span> {{./html}}
|
|
61
61
|
</a>
|
|
62
62
|
</li>
|
|
63
63
|
{{{ end }}}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
{{{ if posts.display_history}}}
|
|
67
67
|
<li>
|
|
68
68
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/view-history" role="menuitem" href="#">
|
|
69
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
69
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:view-history]]
|
|
70
70
|
</a>
|
|
71
71
|
</li>
|
|
72
72
|
{{{ end }}}
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
<li>
|
|
76
76
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/bookmark" role="menuitem" href="#" data-bookmarked="{posts.bookmarked}">
|
|
77
77
|
<span class="menu-icon">
|
|
78
|
-
<i component="post/bookmark/on" class="fa fa-fw text-
|
|
79
|
-
<i component="post/bookmark/off" class="fa fa-fw text-
|
|
78
|
+
<i component="post/bookmark/on" class="fa fa-fw text-secondary fa-bookmark {{{ if !posts.bookmarked }}}hidden{{{ end }}}"></i>
|
|
79
|
+
<i component="post/bookmark/off" class="fa fa-fw text-secondary fa-bookmark-o {{{ if posts.bookmarked }}}hidden{{{ end }}}"></i>
|
|
80
80
|
</span>
|
|
81
81
|
<span class="bookmark-text">[[topic:bookmark]]</span>
|
|
82
82
|
<span component="post/bookmark-count" class="bookmarkCount badge bg-secondary" data-bookmarks="{posts.bookmarks}">{posts.bookmarks}</span>
|
|
@@ -86,17 +86,25 @@
|
|
|
86
86
|
|
|
87
87
|
<li>
|
|
88
88
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#" data-clipboard-text="{posts.absolute_url}">
|
|
89
|
-
<i class="fa fa-fw text-
|
|
89
|
+
<i class="fa fa-fw text-secondary fa-link"></i> [[topic:copy-permalink]]
|
|
90
90
|
</a>
|
|
91
91
|
</li>
|
|
92
92
|
|
|
93
|
+
{{{ if posts.display_original_url }}}
|
|
94
|
+
<li>
|
|
95
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{posts.pid}">
|
|
96
|
+
<i class="fa fa-fw text-secondary fa-external-link"></i> [[topic:go-to-original]]
|
|
97
|
+
</a>
|
|
98
|
+
</li>
|
|
99
|
+
{{{ end }}}
|
|
100
|
+
|
|
93
101
|
{{{ if postSharing.length }}}
|
|
94
102
|
{{{ if config.loggedIn }}}<li class="dropdown-divider"></li>{{{ end }}}
|
|
95
103
|
<li class="dropdown-header">[[topic:share-this-post]]</li>
|
|
96
104
|
{{{ end }}}
|
|
97
105
|
<li class="d-flex gap-2 px-3">
|
|
98
106
|
{{{ each postSharing }}}
|
|
99
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center px-1 py-2 w-auto" role="menuitem" component="share/{./id}" href="#" title="{./name}"><i class="fa-fw text-
|
|
107
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center px-1 py-2 w-auto" role="menuitem" component="share/{./id}" href="#" title="{./name}"><i class="fa-fw text-secondary {./class}"></i></a>
|
|
100
108
|
{{{ end }}}
|
|
101
109
|
</li>
|
|
102
110
|
{{{ end }}}
|
|
@@ -105,15 +113,15 @@
|
|
|
105
113
|
<li class="dropdown-divider"></li>
|
|
106
114
|
|
|
107
115
|
<li {{{ if posts.flags.flagged }}}hidden{{{ end }}}>
|
|
108
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
116
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-post]]</a>
|
|
109
117
|
</li>
|
|
110
|
-
<li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-
|
|
111
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/already-flagged" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
118
|
+
<li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-secondary">
|
|
119
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/already-flagged" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:already-flagged]]</a>
|
|
112
120
|
</li>
|
|
113
121
|
|
|
114
122
|
{{{ if (!posts.selfPost && posts.uid) }}}
|
|
115
123
|
<li>
|
|
116
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
124
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-user]]</a>
|
|
117
125
|
</li>
|
|
118
126
|
{{{ end }}}
|
|
119
127
|
{{{ end }}}
|
|
@@ -121,11 +129,11 @@
|
|
|
121
129
|
{{{ if posts.display_moderator_tools }}}
|
|
122
130
|
{{{ if posts.flags.exists }}}
|
|
123
131
|
<li>
|
|
124
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw text-
|
|
132
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw text-secondary fa-exclamation-circle"></i> [[topic:view-flag-report]]</a>
|
|
125
133
|
</li>
|
|
126
134
|
{{{ if (posts.flags.state == "open") }}}
|
|
127
135
|
<li>
|
|
128
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
136
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-check"></i> [[topic:resolve-flag]]</a>
|
|
129
137
|
</li>
|
|
130
138
|
{{{ end }}}
|
|
131
139
|
{{{ end }}}
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
</div>
|
|
66
66
|
<div class="d-flex align-items-center gap-1 flex-grow-1 justify-content-end">
|
|
67
67
|
<span class="bookmarked opacity-0 text-primary"><i class="fa fa-bookmark-o"></i></span>
|
|
68
|
-
<a href="{
|
|
68
|
+
<a href="{config.relative_path}/post/{encodeURIComponent(./pid)}" class="post-index text-muted d-none d-md-inline">#{increment(./index, "1")}</a>
|
|
69
69
|
</div>
|
|
70
70
|
</div>
|
|
71
71
|
|
|
@@ -8,19 +8,19 @@
|
|
|
8
8
|
<li>
|
|
9
9
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="oldest_to_newest" data-sort="oldest_to_newest" role="menuitem">
|
|
10
10
|
<span class="flex-grow-1">[[topic:oldest-to-newest]]</span>
|
|
11
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
11
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
12
12
|
</a>
|
|
13
13
|
</li>
|
|
14
14
|
<li>
|
|
15
15
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="newest_to_oldest" data-sort="newest_to_oldest" role="menuitem">
|
|
16
16
|
<span class="flex-grow-1">[[topic:newest-to-oldest]]</span>
|
|
17
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
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="#" class="most_votes" data-sort="most_votes" role="menuitem">
|
|
22
22
|
<span class="flex-grow-1">[[topic:most-votes]]</span>
|
|
23
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
23
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
24
24
|
</a>
|
|
25
25
|
</li>
|
|
26
26
|
</ul>
|
|
@@ -1,44 +1,44 @@
|
|
|
1
1
|
{{{ if privileges.editable }}}
|
|
2
2
|
<li {{{ if locked }}}hidden{{{ end }}}>
|
|
3
|
-
<a component="topic/lock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw
|
|
3
|
+
<a component="topic/lock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-lock text-secondary"></i> [[topic:thread-tools.lock]]</a>
|
|
4
4
|
</li>
|
|
5
5
|
|
|
6
6
|
<li {{{ if !locked }}}hidden{{{ end }}}>
|
|
7
|
-
<a component="topic/unlock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw
|
|
7
|
+
<a component="topic/unlock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-unlock text-secondary"></i> [[topic:thread-tools.unlock]]</a>
|
|
8
8
|
</li>
|
|
9
9
|
|
|
10
10
|
<li {{{ if pinned }}}hidden{{{ end }}}>
|
|
11
|
-
<a component="topic/pin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw
|
|
11
|
+
<a component="topic/pin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-thumb-tack text-secondary"></i> [[topic:thread-tools.pin]]</a>
|
|
12
12
|
</li>
|
|
13
13
|
|
|
14
14
|
<li {{{ if !pinned }}}hidden{{{ end }}}>
|
|
15
|
-
<a component="topic/unpin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw
|
|
15
|
+
<a component="topic/unpin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-thumb-tack fa-rotate-90 text-secondary"></i> [[topic:thread-tools.unpin]]</a>
|
|
16
16
|
</li>
|
|
17
17
|
|
|
18
18
|
<li>
|
|
19
|
-
<a component="topic/move" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw
|
|
19
|
+
<a component="topic/move" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move]]</a>
|
|
20
20
|
</li>
|
|
21
21
|
|
|
22
22
|
<li>
|
|
23
|
-
<a component="topic/merge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw
|
|
23
|
+
<a component="topic/merge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-code-fork text-secondary"></i> [[topic:thread-tools.merge]]</a>
|
|
24
24
|
</li>
|
|
25
25
|
|
|
26
26
|
<li>
|
|
27
|
-
<a component="topic/fork" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw
|
|
27
|
+
<a component="topic/fork" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-code-fork text-secondary"></i> [[topic:thread-tools.fork]]</a>
|
|
28
28
|
</li>
|
|
29
29
|
|
|
30
30
|
<li>
|
|
31
|
-
<a component="topic/tag" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw
|
|
31
|
+
<a component="topic/tag" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-tag text-secondary"></i> [[topic:thread-tools.tag]]</a>
|
|
32
32
|
</li>
|
|
33
33
|
|
|
34
34
|
{{{ if !scheduled }}}
|
|
35
35
|
<li>
|
|
36
|
-
<a component="topic/move-posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw
|
|
36
|
+
<a component="topic/move-posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move-posts]]</a>
|
|
37
37
|
</li>
|
|
38
38
|
{{{ end }}}
|
|
39
39
|
|
|
40
40
|
<li>
|
|
41
|
-
<a component="topic/mark-unread-for-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw
|
|
41
|
+
<a component="topic/mark-unread-for-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-inbox text-secondary"></i> [[topic:thread-tools.markAsUnreadForAll]]</a>
|
|
42
42
|
</li>
|
|
43
43
|
|
|
44
44
|
<li class="dropdown-divider"></li>
|
|
@@ -46,29 +46,29 @@
|
|
|
46
46
|
|
|
47
47
|
{{{ if privileges.deletable }}}
|
|
48
48
|
<li {{{ if deleted }}}hidden{{{ end }}}>
|
|
49
|
-
<a component="topic/delete" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw
|
|
49
|
+
<a component="topic/delete" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-trash-o text-secondary"></i> [[topic:thread-tools.delete]]</a>
|
|
50
50
|
</li>
|
|
51
51
|
|
|
52
52
|
{{{ if !scheduled }}}
|
|
53
53
|
<li {{{ if !deleted }}}hidden{{{ end }}}>
|
|
54
|
-
<a component="topic/restore" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw
|
|
54
|
+
<a component="topic/restore" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-history text-secondary"></i> [[topic:thread-tools.restore]]</a>
|
|
55
55
|
</li>
|
|
56
56
|
{{{ end }}}
|
|
57
57
|
|
|
58
58
|
{{{ if privileges.purge }}}
|
|
59
59
|
<li {{{ if !deleted }}}hidden{{{ end }}}>
|
|
60
|
-
<a component="topic/purge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw
|
|
60
|
+
<a component="topic/purge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-eraser text-secondary"></i> [[topic:thread-tools.purge]]</a>
|
|
61
61
|
</li>
|
|
62
62
|
{{{ end }}}
|
|
63
63
|
{{{ if privileges.isAdminOrMod }}}
|
|
64
64
|
<li>
|
|
65
|
-
<a component="topic/delete/posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw
|
|
65
|
+
<a component="topic/delete/posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-trash-o text-secondary"></i> [[topic:thread-tools.delete-posts]]</a>
|
|
66
66
|
</li>
|
|
67
67
|
{{{ end }}}
|
|
68
68
|
|
|
69
69
|
{{{ each thread_tools }}}
|
|
70
70
|
<li>
|
|
71
|
-
<a href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {./class}" role="menuitem"><i class="fa fa-fw text-
|
|
71
|
+
<a href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {./class}" role="menuitem"><i class="fa fa-fw text-secondary {./icon}"></i> {./title}</a>
|
|
72
72
|
</li>
|
|
73
73
|
{{{ end }}}
|
|
74
74
|
{{{ end }}}
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/following" role="menuitem">
|
|
22
22
|
<div class="flex-grow-1 d-flex flex-column">
|
|
23
23
|
<span class="d-flex align-items-center gap-2">
|
|
24
|
-
<i class="flex-shrink-0 fa fa-fw fa-bell-o"></i>
|
|
24
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-o text-secondary"></i>
|
|
25
25
|
<span class="flex-grow-1 fw-semibold">[[topic:watching]]</span>
|
|
26
26
|
</span>
|
|
27
|
-
<div class="help-text text-
|
|
27
|
+
<div class="help-text text-secondary text-xs">[[topic:watching.description]]</div>
|
|
28
28
|
</div>
|
|
29
29
|
<span class="flex-shrink-0"><i component="topic/following/check" class="fa fa-fw {{{ if isFollowing }}}fa-check{{{ end }}}"></i></span>
|
|
30
30
|
</a>
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/not-following" role="menuitem">
|
|
35
35
|
<div class="flex-grow-1 d-flex flex-column">
|
|
36
36
|
<span class="d-flex align-items-center gap-2">
|
|
37
|
-
<i class="flex-shrink-0 fa fa-fw fa-bell-slash-o"></i>
|
|
37
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-slash-o text-secondary"></i>
|
|
38
38
|
<span class="flex-grow-1 fw-semibold">[[topic:not-watching]]</span>
|
|
39
39
|
</span>
|
|
40
|
-
<div class="help-text text-
|
|
40
|
+
<div class="help-text text-secondary text-xs">[[topic:not-watching.description]]</div>
|
|
41
41
|
</div>
|
|
42
42
|
<span class="flex-shrink-0"><i component="topic/not-following/check" class="fa fa-fw {{{ if isNotFollowing }}}fa-check{{{ end }}}"></i></span>
|
|
43
43
|
</a>
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/ignoring" role="menuitem">
|
|
48
48
|
<div class="flex-grow-1 d-flex flex-column">
|
|
49
49
|
<span class="d-flex align-items-center gap-2">
|
|
50
|
-
<i class="flex-shrink-0 fa fa-fw fa-eye-slash"></i>
|
|
50
|
+
<i class="flex-shrink-0 fa fa-fw fa-eye-slash text-secondary"></i>
|
|
51
51
|
<span class="flex-grow-1 fw-semibold">[[topic:ignoring]]</span>
|
|
52
52
|
</span>
|
|
53
|
-
<div class="help-text text-
|
|
53
|
+
<div class="help-text text-secondary text-xs">[[topic:ignoring.description]]</div>
|
|
54
54
|
</div>
|
|
55
55
|
<span class="flex-shrink-0"><i component="topic/ignoring/check" class="fa fa-fw {{{ if isIgnoring }}}fa-check{{{ end }}}"></i></span>
|
|
56
56
|
</a>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}} mb-3">
|
|
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 align-items-center">
|
|
4
|
-
<div component="category/controls" class="d-flex me-auto mb-0 gap-2
|
|
4
|
+
<div component="category/controls" class="d-flex me-auto mb-0 gap-2 flex-wrap">
|
|
5
5
|
{{{ if template.category }}}
|
|
6
6
|
<!-- IMPORT partials/category/watch.tpl -->
|
|
7
7
|
<!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
{{{ end }}}
|
|
71
71
|
</div>
|
|
72
72
|
{{{ if ./thumbs.length }}}
|
|
73
|
-
<a class="position-relative text-decoration-none flex-shrink-0 d-none d-xl-block" href="{config.relative_path}/topic/{./slug}{{{ if ./bookmark }}}/{./bookmark}{{{ end }}}" aria-label="[[topic:thumb-image]]">
|
|
73
|
+
<a class="topic-thumbs position-relative text-decoration-none flex-shrink-0 d-none d-xl-block" href="{config.relative_path}/topic/{./slug}{{{ if ./bookmark }}}/{./bookmark}{{{ end }}}" aria-label="[[topic:thumb-image]]">
|
|
74
74
|
<img class="topic-thumb rounded-1 bg-light" style="width:auto;max-width: 5.33rem;height: 3.33rem;object-fit: contain;" src="{./thumbs.0.url}" alt=""/>
|
|
75
75
|
<span data-numthumbs="{./thumbs.length}" class="px-1 position-absolute top-0 start-100 translate-middle badge rounded text-bg-info" style="z-index: 1;">+{increment(./thumbs.length, "-1")}</span>
|
|
76
76
|
</a>
|
package/templates/topic.tpl
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
<!-- IMPORT partials/breadcrumbs-json-ld.tpl -->
|
|
2
|
+
{{{ if config.theme.enableBreadcrumbs }}}
|
|
3
|
+
<!-- IMPORT partials/breadcrumbs.tpl -->
|
|
4
|
+
{{{ end }}}
|
|
2
5
|
{{{ if widgets.header.length }}}
|
|
3
6
|
<div data-widget-area="header">
|
|
4
7
|
{{{each widgets.header}}}
|
|
@@ -8,7 +11,7 @@
|
|
|
8
11
|
{{{ end }}}
|
|
9
12
|
|
|
10
13
|
<div class="d-flex flex-column gap-3" itemid="{url}" itemscope itemtype="https://schema.org/DiscussionForumPosting">
|
|
11
|
-
<meta itemprop="headline" content="{
|
|
14
|
+
<meta itemprop="headline" content="{escape(titleRaw)}">
|
|
12
15
|
<meta itemprop="url" content="{url}">
|
|
13
16
|
<meta itemprop="datePublished" content="{timestampISO}">
|
|
14
17
|
<meta itemprop="dateModified" content="{lastposttimeISO}">
|