nodebb-theme-harmony 1.0.0-beta.82 → 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 +1 -1
- package/scss/common.scss +12 -4
- package/scss/modules/topics-list.scss +3 -3
- package/scss/modules/user-menu.scss +6 -0
- package/scss/sidebar.scss +6 -0
- package/templates/account/blocks.tpl +1 -1
- package/templates/account/categories.tpl +25 -4
- package/templates/account/followers.tpl +1 -1
- package/templates/account/following.tpl +1 -1
- package/templates/account/topics.tpl +5 -2
- package/templates/categories.tpl +1 -1
- package/templates/category.tpl +1 -1
- package/templates/chats.tpl +1 -1
- package/templates/flags/detail.tpl +10 -10
- package/templates/footer.tpl +1 -1
- package/templates/header.tpl +1 -1
- package/templates/partials/account/admin-menu.tpl +9 -9
- package/templates/partials/account/category-item.tpl +14 -17
- package/templates/partials/account/header.tpl +2 -2
- package/templates/partials/buttons/newTopic.tpl +1 -1
- package/templates/partials/categories/item.tpl +6 -6
- package/templates/partials/category/filter-dropdown-content.tpl +11 -6
- package/templates/partials/category/selector-dropdown-content.tpl +5 -5
- package/templates/partials/category/sort.tpl +7 -7
- package/templates/partials/category/tools.tpl +25 -25
- package/templates/partials/category/watch.tpl +17 -17
- package/templates/partials/chats/dropdown.tpl +4 -1
- package/templates/partials/chats/options.tpl +14 -6
- package/templates/partials/flags/filters.tpl +59 -25
- package/templates/partials/header/brand.tpl +1 -1
- package/templates/partials/notifications_list.tpl +4 -1
- package/templates/partials/post_bar.tpl +1 -1
- package/templates/partials/search-filters.tpl +7 -7
- package/templates/partials/sidebar/drafts.tpl +4 -1
- package/templates/partials/sidebar/user-menu.tpl +27 -23
- package/templates/partials/sidebar-left.tpl +2 -2
- package/templates/partials/sidebar-right.tpl +1 -1
- package/templates/partials/skin-switcher.tpl +1 -1
- package/templates/partials/tags/filter-dropdown-content.tpl +7 -7
- package/templates/partials/topic/post-menu-list.tpl +31 -31
- package/templates/partials/topic/post-menu.tpl +1 -1
- package/templates/partials/topic/reply-button.tpl +2 -2
- package/templates/partials/topic/sort.tpl +17 -5
- package/templates/partials/topic/tools.tpl +2 -2
- package/templates/partials/topic/topic-menu-list.tpl +14 -14
- package/templates/partials/topic/watch.tpl +17 -17
- package/templates/partials/topic-filters.tpl +6 -3
- package/templates/partials/topic-list-bar.tpl +4 -3
- package/templates/partials/topic-terms.tpl +6 -3
- package/templates/partials/topics_list.tpl +14 -11
- package/templates/partials/users/filter-dropdown-content.tpl +7 -4
- package/templates/post-queue.tpl +55 -33
- package/templates/topic.tpl +1 -1
package/package.json
CHANGED
package/scss/common.scss
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
|
|
2
2
|
body {
|
|
3
3
|
overflow-y: scroll;
|
|
4
|
+
-webkit-font-smoothing: antialiased;
|
|
5
|
+
-moz-osx-font-smoothing: grayscale;
|
|
6
|
+
text-rendering: optimizeLegibility;
|
|
4
7
|
}
|
|
5
8
|
|
|
6
9
|
// fixes chrome font boosting :/ https://stackoverflow.com/questions/13430897/how-to-override-font-boosting-in-mobile-chrome
|
|
7
10
|
body * {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
max-height:1000000px;
|
|
12
|
+
text-size-adjust: none;
|
|
13
|
+
-webkit-text-size-adjust: none;
|
|
14
|
+
-moz-text-size-adjust: none;
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
.ff-base {
|
|
@@ -32,6 +35,11 @@ body * {
|
|
|
32
35
|
opacity: 0.5;
|
|
33
36
|
}
|
|
34
37
|
|
|
38
|
+
.bg-card-cap {
|
|
39
|
+
--bs-bg-opacity: 1;
|
|
40
|
+
background-color: $card-cap-bg!important;
|
|
41
|
+
}
|
|
42
|
+
|
|
35
43
|
blockquote {
|
|
36
44
|
background-color: $light;
|
|
37
45
|
font-style: normal;
|
package/scss/sidebar.scss
CHANGED
|
@@ -45,11 +45,17 @@
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
.nav-link {
|
|
48
|
+
@extend .ff-secondary;
|
|
48
49
|
padding: 0;
|
|
49
50
|
&.active {
|
|
50
51
|
background-color: $hover-color;
|
|
51
52
|
}
|
|
52
53
|
}
|
|
54
|
+
.nav-item {
|
|
55
|
+
.dropdown-menu .dropdown-item {
|
|
56
|
+
@extend .rounded-1;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
53
59
|
#user_dropdown .avatar {
|
|
54
60
|
margin: 2px 0; // fixes the avatar so its height is same as the icons on right sidebar
|
|
55
61
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<div class="input-group">
|
|
7
7
|
<input class="form-control form-control-sm" type="text" id="user-search" placeholder="[[users:enter_username]]" data-bs-toggle="dropdown" autocomplete="off"/>
|
|
8
8
|
|
|
9
|
-
<ul component="blocks/search/list" class="dropdown-menu dropdown-menu-end block-edit overflow-auto" style="max-height:300px;">
|
|
9
|
+
<ul component="blocks/search/list" class="dropdown-menu dropdown-menu-end p-1 text-sm block-edit overflow-auto" style="max-height:300px;">
|
|
10
10
|
<li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
|
|
11
11
|
{{{ each edit }}}
|
|
12
12
|
<li class="">
|
|
@@ -10,10 +10,31 @@
|
|
|
10
10
|
<button class="btn-ghost-sm fw-semibold dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
11
11
|
<span>[[user:change_all]]</span>
|
|
12
12
|
</button>
|
|
13
|
-
<ul class="dropdown-menu dropdown-menu-end">
|
|
14
|
-
<li><a class="dropdown-item" href="#" component="category/watching" data-state="watching"
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
<ul class="dropdown-menu p-1 text-sm dropdown-menu-end">
|
|
14
|
+
<li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/watching" data-state="watching">
|
|
15
|
+
<div class="d-flex align-items-center gap-2">
|
|
16
|
+
<i class="fa fa-fw fa-inbox"></i>
|
|
17
|
+
<span class="flex-1 fw-semibold">[[category:watching]]</span>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="help-text text-muted text-xs">[[category:watching.description]]</div>
|
|
20
|
+
</a>
|
|
21
|
+
</li>
|
|
22
|
+
<li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/notwatching" data-state="notwatching">
|
|
23
|
+
<div class="d-flex align-items-center gap-2">
|
|
24
|
+
<i class="fa fa-fw fa-clock-o"></i>
|
|
25
|
+
<span class="flex-1 fw-semibold">[[category:not-watching]]</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="help-text text-muted text-xs">[[category:not-watching.description]]</div>
|
|
28
|
+
</a>
|
|
29
|
+
</li>
|
|
30
|
+
<li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/ignoring" data-state="ignoring">
|
|
31
|
+
<div class="d-flex align-items-center gap-2">
|
|
32
|
+
<i class="fa fa-fw fa-eye-slash"></i>
|
|
33
|
+
<span class="flex-1 fw-semibold">[[category:ignoring]]</span>
|
|
34
|
+
</div>
|
|
35
|
+
<div class="help-text text-muted text-xs">[[category:ignoring.description]]</div>
|
|
36
|
+
</a>
|
|
37
|
+
</li>
|
|
17
38
|
</ul>
|
|
18
39
|
</div>
|
|
19
40
|
</div>
|
|
@@ -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-
|
|
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-
|
|
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,9 +6,12 @@
|
|
|
6
6
|
{{{ if showSort }}}
|
|
7
7
|
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
8
8
|
<button title="[[global:sort]]" class="btn-ghost-sm dropdown-toggle" data-bs-toggle="dropdown" type="button"><i class="fa-solid fa-arrow-up-wide-short"></i></button>
|
|
9
|
-
<ul class="dropdown-menu">
|
|
9
|
+
<ul class="dropdown-menu p-1 text-sm">
|
|
10
10
|
{{{each sortOptions }}}
|
|
11
|
-
<li><a class="dropdown-item" href="{config.relative_path}{./url}"
|
|
11
|
+
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{config.relative_path}{./url}">
|
|
12
|
+
<div class="flex-1">{./name}</div>
|
|
13
|
+
<i class="fa fa-fw {{{if ./selected}}}fa-check{{{end}}}"></i>
|
|
14
|
+
</a></li>
|
|
12
15
|
{{{end}}}
|
|
13
16
|
</ul>
|
|
14
17
|
</div>
|
package/templates/categories.tpl
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
{{widgets.header.html}}
|
|
4
4
|
{{{ end }}}
|
|
5
5
|
</div>
|
|
6
|
-
<div class="row">
|
|
6
|
+
<div class="row py-2">
|
|
7
7
|
<div class="{{{ if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
|
|
8
8
|
{{{ if pagination.pages.length }}}
|
|
9
9
|
<div><!-- IMPORT partials/category/selector-dropdown-left.tpl --></div>
|
package/templates/category.tpl
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="d-flex flex-column gap-2">
|
|
3
3
|
<div class="d-flex gap-2 align-items-center mb-1 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
|
|
4
4
|
{buildCategoryIcon(@value, "40px", "rounded-1 flex-shrink-0")}
|
|
5
|
-
<h2 class="fs-2 fw-semibold mb-0 text-center">{./name}</h2>
|
|
5
|
+
<h2 class="tracking-tight fs-2 fw-semibold mb-0 text-center">{./name}</h2>
|
|
6
6
|
</div>
|
|
7
7
|
<div class="d-flex flex-wrap gap-2 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
|
|
8
8
|
<span class="badge text-body border border-gray-300 stats text-xs">
|
package/templates/chats.tpl
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<div class="input-group">
|
|
7
7
|
<input class="form-control" type="text" component="chat/search" data-bs-toggle="dropdown" />
|
|
8
8
|
<ul component="chat/search/list" class="dropdown-menu">
|
|
9
|
-
<li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
|
|
9
|
+
<li><a href="#" class="dropdown-item rounded-1">[[admin/menu:search.start-typing]]</a></li>
|
|
10
10
|
</ul>
|
|
11
11
|
<button class="btn btn-primary" type="button">
|
|
12
12
|
<i class="fa fa-search"></i>
|
|
@@ -14,24 +14,24 @@
|
|
|
14
14
|
<i class="fa fa-fw fa-street-view text-primary"></i>
|
|
15
15
|
[[flags:flagged-user]]
|
|
16
16
|
</button>
|
|
17
|
-
<ul class="dropdown-menu">
|
|
18
|
-
<li><a class="dropdown-item" href="{config.relative_path}/uid/{target.uid}">[[flags:view-profile]]</a></li>
|
|
17
|
+
<ul class="dropdown-menu p-1 text-sm">
|
|
18
|
+
<li><a class="dropdown-item rounded-1" href="{config.relative_path}/uid/{target.uid}">[[flags:view-profile]]</a></li>
|
|
19
19
|
{{{ if !config.disableChat }}}
|
|
20
|
-
<li><a class="dropdown-item" href="#" data-action="chat">[[flags:start-new-chat]]</a></li>
|
|
20
|
+
<li><a class="dropdown-item rounded-1" href="#" data-action="chat">[[flags:start-new-chat]]</a></li>
|
|
21
21
|
{{{ end }}}
|
|
22
22
|
<li class="dropdown-divider"></li>
|
|
23
23
|
{{{ if privileges.ban }}}
|
|
24
|
-
<li class="{{{ if target.user.banned }}}hidden{{{ end }}}"><a class="dropdown-item" href="#" data-action="ban">[[user:ban_account]]</a></li>
|
|
25
|
-
<li class="{{{ if !target.user.banned }}}hidden{{{ end }}}"><a class="dropdown-item" href="#" data-action="unban">[[user:unban_account]]</a></li>
|
|
24
|
+
<li class="{{{ if target.user.banned }}}hidden{{{ end }}}"><a class="dropdown-item rounded-1" href="#" data-action="ban">[[user:ban_account]]</a></li>
|
|
25
|
+
<li class="{{{ if !target.user.banned }}}hidden{{{ end }}}"><a class="dropdown-item rounded-1" href="#" data-action="unban">[[user:unban_account]]</a></li>
|
|
26
26
|
{{{ end }}}
|
|
27
27
|
{{{ if privileges.mute}}}
|
|
28
|
-
<li class="{{{ if target.user.muted }}}hidden{{{ end }}}"><a class="dropdown-item" href="#" data-action="mute">[[user:mute_account]]</a></li>
|
|
29
|
-
<li class="{{{ if !target.user.muted }}}hidden{{{ end }}}"><a class="dropdown-item" href="#" data-action="unmute">[[user:unmute_account]]</a></li>
|
|
28
|
+
<li class="{{{ if target.user.muted }}}hidden{{{ end }}}"><a class="dropdown-item rounded-1" href="#" data-action="mute">[[user:mute_account]]</a></li>
|
|
29
|
+
<li class="{{{ if !target.user.muted }}}hidden{{{ end }}}"><a class="dropdown-item rounded-1" href="#" data-action="unmute">[[user:unmute_account]]</a></li>
|
|
30
30
|
{{{ end }}}
|
|
31
31
|
{{{ if privileges.admin:users }}}
|
|
32
|
-
<li><a class="dropdown-item" href="#" data-action="delete-account">[[user:delete_account_as_admin]]</a></li>
|
|
33
|
-
<li><a class="dropdown-item" href="#" data-action="delete-content">[[user:delete_content]]</a></li>
|
|
34
|
-
<li><a class="dropdown-item" href="#" data-action="delete-all">[[user:delete_all]]</a></li>
|
|
32
|
+
<li><a class="dropdown-item rounded-1" href="#" data-action="delete-account">[[user:delete_account_as_admin]]</a></li>
|
|
33
|
+
<li><a class="dropdown-item rounded-1" href="#" data-action="delete-content">[[user:delete_content]]</a></li>
|
|
34
|
+
<li><a class="dropdown-item rounded-1" href="#" data-action="delete-all">[[user:delete_all]]</a></li>
|
|
35
35
|
{{{ end }}}
|
|
36
36
|
</ul>
|
|
37
37
|
</div>
|
package/templates/footer.tpl
CHANGED
|
@@ -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>
|
package/templates/header.tpl
CHANGED
|
@@ -39,6 +39,6 @@
|
|
|
39
39
|
document.documentElement.style.setProperty('--panel-offset', `0px`);
|
|
40
40
|
}
|
|
41
41
|
</script>
|
|
42
|
-
<div class="container d-flex flex-column gap-3" id="content">
|
|
42
|
+
<div class="container px-md-4 d-flex flex-column gap-3" id="content">
|
|
43
43
|
<!-- IMPORT partials/noscript/warning.tpl -->
|
|
44
44
|
<!-- IMPORT partials/noscript/message.tpl -->
|
|
@@ -2,34 +2,34 @@
|
|
|
2
2
|
<button type="button" class="btn btn-light dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
3
3
|
<i class="fa fa-gear fa-fw"></i>
|
|
4
4
|
</button>
|
|
5
|
-
<ul class="dropdown-menu dropdown-menu-end account-sub-links">
|
|
5
|
+
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm account-sub-links">
|
|
6
6
|
<li>
|
|
7
|
-
<a class="dropdown-item" href="{config.relative_path}/user/{userslug}/info">[[user:account_info]]</a>
|
|
7
|
+
<a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}/info">[[user:account_info]]</a>
|
|
8
8
|
</li>
|
|
9
9
|
{{{ if (canBan || canMute) }}}
|
|
10
10
|
<li role="separator" class="dropdown-divider"></li>
|
|
11
11
|
{{{ end }}}
|
|
12
12
|
{{{ if canBan }}}
|
|
13
13
|
<li class="{{{ if banned }}}hide{{{ end }}}">
|
|
14
|
-
<a class="dropdown-item" component="account/ban" href="#">[[user:ban_account]]</a>
|
|
14
|
+
<a class="dropdown-item rounded-1" component="account/ban" href="#">[[user:ban_account]]</a>
|
|
15
15
|
</li>
|
|
16
16
|
<li class="{{{ if !banned }}}hide{{{ end }}}">
|
|
17
|
-
<a class="dropdown-item" component="account/unban" href="#">[[user:unban_account]]</a>
|
|
17
|
+
<a class="dropdown-item rounded-1" component="account/unban" href="#">[[user:unban_account]]</a>
|
|
18
18
|
</li>
|
|
19
19
|
{{{ end }}}
|
|
20
20
|
{{{ if canMute }}}
|
|
21
21
|
<li class="{{{ if muted }}}hide{{{ end }}}">
|
|
22
|
-
<a class="dropdown-item" component="account/mute" href="#">[[user:mute_account]]</a>
|
|
22
|
+
<a class="dropdown-item rounded-1" component="account/mute" href="#">[[user:mute_account]]</a>
|
|
23
23
|
</li>
|
|
24
24
|
<li class="{{{ if !muted }}}hide{{{ end }}}">
|
|
25
|
-
<a class="dropdown-item" component="account/unmute" href="#">[[user:unmute_account]]</a>
|
|
25
|
+
<a class="dropdown-item rounded-1" component="account/unmute" href="#">[[user:unmute_account]]</a>
|
|
26
26
|
</li>
|
|
27
27
|
{{{ end }}}
|
|
28
28
|
{{{ if isAdmin }}}
|
|
29
29
|
<li>
|
|
30
|
-
<a component="account/delete-account" href="#" class="dropdown-item">[[user:delete_account_as_admin]]</a>
|
|
31
|
-
<a component="account/delete-content" href="#" class="dropdown-item">[[user:delete_content]]</a>
|
|
32
|
-
<a component="account/delete-all" href="#" class="dropdown-item">[[user:delete_all]]</a>
|
|
30
|
+
<a component="account/delete-account" href="#" class="dropdown-item rounded-1">[[user:delete_account_as_admin]]</a>
|
|
31
|
+
<a component="account/delete-content" href="#" class="dropdown-item rounded-1">[[user:delete_content]]</a>
|
|
32
|
+
<a component="account/delete-all" href="#" class="dropdown-item rounded-1">[[user:delete_all]]</a>
|
|
33
33
|
</li>
|
|
34
34
|
{{{ end }}}
|
|
35
35
|
</ul>
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
<li component="categories/category" data-cid="{./cid}" data-parent-cid="{../parentCid}" class="
|
|
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
|
|
4
|
-
<div class="d-flex">
|
|
5
|
-
<div
|
|
6
|
-
{buildCategoryIcon(@value, "
|
|
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
|
+
{buildCategoryIcon(@value, "24px", "rounded-1")}
|
|
7
7
|
</div>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
<h3 class="title">
|
|
8
|
+
<div class="d-grid gap-0">
|
|
9
|
+
<div class="title fw-semibold">
|
|
11
10
|
<!-- IMPORT partials/categories/link.tpl -->
|
|
12
|
-
</h3>
|
|
13
|
-
<!-- description -->
|
|
14
|
-
<div class="mb-2">
|
|
15
|
-
{{{ if ./descriptionParsed }}}
|
|
16
|
-
<div class="description text-muted">{./descriptionParsed}</div>
|
|
17
|
-
{{{ end }}}
|
|
18
11
|
</div>
|
|
12
|
+
{{{ if ./descriptionParsed }}}
|
|
13
|
+
<div class="description text-muted text-xs">{./descriptionParsed}</div>
|
|
14
|
+
{{{ end }}}
|
|
19
15
|
</div>
|
|
20
16
|
</div>
|
|
17
|
+
<div class="flex-grow-0 flex-shrink-0">
|
|
18
|
+
<!-- IMPORT partials/category/watch.tpl -->
|
|
19
|
+
</div>
|
|
21
20
|
</div>
|
|
22
|
-
<
|
|
23
|
-
<!-- IMPORT partials/category/watch.tpl -->
|
|
24
|
-
</div>
|
|
21
|
+
<hr class="text-muted opacity-25"/>
|
|
25
22
|
</li>
|
|
@@ -77,8 +77,8 @@
|
|
|
77
77
|
<button type="button" class="btn btn-light dropdown-toggle flex-0" data-bs-toggle="dropdown">
|
|
78
78
|
<i class="fa fa-caret-down"></i>
|
|
79
79
|
</button>
|
|
80
|
-
<ul class="dropdown-menu dropdown-menu-end" role="menu">
|
|
81
|
-
<li><a class="dropdown-item" href="#" component="account/new-chat">[[user:new_chat_with, {username}]]</a></li>
|
|
80
|
+
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu">
|
|
81
|
+
<li><a class="dropdown-item rounded-1" href="#" component="account/new-chat">[[user:new_chat_with, {username}]]</a></li>
|
|
82
82
|
</ul>
|
|
83
83
|
{{{ end }}}
|
|
84
84
|
</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 category-dropdown-menu" role="menu">
|
|
7
|
+
<ul component="category/list" class="dropdown-menu p-1 text-sm category-dropdown-menu" 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}
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
{buildCategoryIcon(@value, "40px", "rounded-1")}
|
|
7
7
|
</div>
|
|
8
8
|
<div class="d-flex flex-column gap-1 flex-1">
|
|
9
|
-
<h2 class="title fw-
|
|
9
|
+
<h2 class="title fw-semibold fs-4 m-0 tracking-tight">
|
|
10
10
|
<!-- IMPORT partials/categories/link.tpl -->
|
|
11
11
|
</h2>
|
|
12
12
|
{{{ if ./descriptionParsed }}}
|
|
13
|
-
<div class="description text-muted
|
|
13
|
+
<div class="description text-muted text-xs">
|
|
14
14
|
{./descriptionParsed}
|
|
15
15
|
</div>
|
|
16
16
|
{{{ end }}}
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
{{{ if !./isSection }}}
|
|
22
22
|
<span class="category-children-item small">
|
|
23
23
|
{{{ if ./link }}}
|
|
24
|
-
<a href="{./link}">{./name}</a>
|
|
24
|
+
<div class="d-flex align-items-center gap-1"><i class="fa fa-fw fa-caret-right text-primary"></i><a href="{./link}" class="text-reset fw-semibold">{./name}</a></div>
|
|
25
25
|
{{{ else }}}
|
|
26
|
-
<a href="{config.relative_path}/category/{./slug}">{./name}</a>
|
|
26
|
+
<div class="d-flex align-items-center gap-1"><i class="fa fa-fw fa-caret-right text-primary"></i><a href="{config.relative_path}/category/{./slug}" class="text-reset fw-semibold">{./name}</a></div>
|
|
27
27
|
{{{ end }}}
|
|
28
28
|
</span>
|
|
29
29
|
{{{ end }}}
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
<div class="col-md-5 d-none d-lg-flex stats text-muted gap-2 px-0">
|
|
39
39
|
<div class="w-50">
|
|
40
40
|
<div class="card card-header align-items-center px-0 py-2 border-0 rounded-1">
|
|
41
|
-
<span class="{./unread-class} human-readable-number fs-5
|
|
41
|
+
<span class="{./unread-class} human-readable-number fs-5 ff-secondary" title="{./totalTopicCount}">{./totalTopicCount}</span>
|
|
42
42
|
<span class="text-lowercase text-xs">[[global:topics]]</span>
|
|
43
43
|
</div>
|
|
44
44
|
</div>
|
|
45
45
|
<div class="w-50">
|
|
46
46
|
<div class="card card-header align-items-center px-0 py-2 border-0 rounded-1">
|
|
47
|
-
<span class="{./unread-class} human-readable-number fs-5
|
|
47
|
+
<span class="{./unread-class} human-readable-number fs-5 ff-secondary" title="{./totalPostCount}">{./totalPostCount}</span>
|
|
48
48
|
<span class="text-lowercase text-xs">[[global:posts]]</span>
|
|
49
49
|
</div>
|
|
50
50
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<button type="button" class="btn-ghost-sm d-flex gap-2
|
|
1
|
+
<button type="button" class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown">
|
|
2
2
|
{{{ if selectedCategory }}}
|
|
3
3
|
<span class="category-item d-inline-flex align-items-center gap-1">
|
|
4
4
|
{buildCategoryIcon(selectedCategory, "18px", "rounded-circle")}
|
|
@@ -9,16 +9,20 @@
|
|
|
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
|
-
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
|
|
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">
|
|
16
|
-
<a class="dropdown-item" role="menu-item" href="{{{ if allCategoriesUrl }}}{config.relative_path}/{allCategoriesUrl}{{{ else }}}#{{{ end }}}"
|
|
16
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menu-item" href="{{{ if allCategoriesUrl }}}{config.relative_path}/{allCategoriesUrl}{{{ else }}}#{{{ end }}}">
|
|
17
|
+
<div class="flex-1">[[unread:all_categories]]</div>
|
|
18
|
+
<i component="category/select/icon" class="fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i>
|
|
19
|
+
</a>
|
|
17
20
|
</li>
|
|
18
21
|
{{{each categoryItems}}}
|
|
19
22
|
<li role="presentation" class="category {{{ if ../disabledClass }}}disabled{{{ end }}}" data-cid="{../cid}" data-parent-cid="{../parentCid}" data-name="{../name}">
|
|
20
|
-
<a class="dropdown-item" role="menu-item" href="#">
|
|
21
|
-
|
|
23
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menu-item" href="#">
|
|
24
|
+
{../level}
|
|
25
|
+
<span component="category-markup" class="flex-1" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">
|
|
22
26
|
<div class="category-item d-inline-flex align-items-center gap-1">
|
|
23
27
|
{{{ if ./icon }}}
|
|
24
28
|
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
|
@@ -26,6 +30,7 @@
|
|
|
26
30
|
{./name}
|
|
27
31
|
</div>
|
|
28
32
|
</span>
|
|
33
|
+
<i component="category/select/icon" class="fa fa-fw fa-check {{{ if !../selected }}}invisible{{{ end }}}"></i>
|
|
29
34
|
</a>
|
|
30
35
|
</li>
|
|
31
36
|
{{{end}}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<button type="button" class="btn-ghost-sm d-flex gap-2
|
|
1
|
+
<button type="button" class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown">
|
|
2
2
|
<span component="category-selector-selected">
|
|
3
3
|
{{{ if (selectedCategory && !showCategorySelectLabel) }}}
|
|
4
4
|
<span class="category-item d-inline-flex align-items-center gap-1">
|
|
@@ -12,15 +12,15 @@
|
|
|
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
|
-
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
|
|
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">
|
|
19
|
-
<a class="dropdown-item" role="menu-item">[[search:no-matches]]</a>
|
|
19
|
+
<a class="dropdown-item rounded-1" role="menu-item">[[search:no-matches]]</a>
|
|
20
20
|
</li>
|
|
21
21
|
{{{ each categoryItems }}}
|
|
22
22
|
<li role="presentation" class="category {{{ if ./disabledClass }}}disabled {{{ end }}}" data-cid="{./cid}" data-name="{./name}" data-parent-cid="{./parentCid}">
|
|
23
|
-
<a class="dropdown-item" role="menu-item">{./level}
|
|
23
|
+
<a class="dropdown-item rounded-1" role="menu-item">{./level}
|
|
24
24
|
<span component="category-markup" style="{{{ if ./match }}}font-weight: bold;{{{end}}}">
|
|
25
25
|
<div class="category-item d-inline-flex align-items-center gap-1">
|
|
26
26
|
{{{ if ./icon }}}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
2
|
-
<button class="btn-ghost-sm d-flex gap-2
|
|
2
|
+
<button class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
3
3
|
<i class="fa fa-fw fa-arrow-down-wide-short text-primary"></i>
|
|
4
4
|
<span class="visible-md-inline visible-lg-inline fw-semibold">[[topic:sort_by]]</span>
|
|
5
5
|
</button>
|
|
6
6
|
|
|
7
|
-
<ul class="dropdown-menu">
|
|
8
|
-
<li><a class="dropdown-item" href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><
|
|
9
|
-
<li><a class="dropdown-item" href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><
|
|
10
|
-
<li><a class="dropdown-item" href="#" class="most_posts" data-sort="most_posts"><
|
|
11
|
-
<li><a class="dropdown-item" href="#" class="most_votes" data-sort="most_votes"><
|
|
12
|
-
<li><a class="dropdown-item" href="#" class="most_views" data-sort="most_views"><
|
|
7
|
+
<ul class="dropdown-menu p-1 text-sm">
|
|
8
|
+
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><span class="flex-1">[[topic:newest_to_oldest]]</span><i class="fa fa-fw text-muted"></i></a></li>
|
|
9
|
+
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><span class="flex-1">[[topic:oldest_to_newest]]</span><i class="fa fa-fw text-muted"></i></a></li>
|
|
10
|
+
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_posts" data-sort="most_posts"><span class="flex-1">[[topic:most_posts]]</span><i class="fa fa-fw text-muted"></i></a></li>
|
|
11
|
+
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_votes" data-sort="most_votes"><span class="flex-1">[[topic:most_votes]]</span><i class="fa fa-fw text-muted"></i></a></li>
|
|
12
|
+
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_views" data-sort="most_views"><span class="flex-1">[[topic:most_views]]</span><i class="fa fa-fw text-muted"></i></a></li>
|
|
13
13
|
</ul>
|
|
14
14
|
</div>
|
|
@@ -1,78 +1,78 @@
|
|
|
1
1
|
{{{ if showTopicTools }}}
|
|
2
2
|
<div class="btn-group thread-tools bottom-sheet">
|
|
3
|
-
<button class="btn-ghost-sm d-flex gap-2
|
|
3
|
+
<button class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
4
4
|
<i class="fa fa-fw fa-gear text-primary"></i>
|
|
5
5
|
<span class="visible-md-inline visible-lg-inline fw-semibold">[[topic:thread_tools.title]]</span>
|
|
6
6
|
</button>
|
|
7
|
-
<ul class="dropdown-menu">
|
|
7
|
+
<ul class="dropdown-menu p-1 text-sm">
|
|
8
8
|
<li>
|
|
9
|
-
<a component="topic/mark-unread-for-all" href="#" class="dropdown-item">
|
|
10
|
-
<i class="fa fa-fw fa-inbox"></i> [[topic:thread_tools.markAsUnreadForAll]]
|
|
9
|
+
<a component="topic/mark-unread-for-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
10
|
+
<i class="fa fa-fw text-muted fa-inbox"></i> [[topic:thread_tools.markAsUnreadForAll]]
|
|
11
11
|
</a>
|
|
12
12
|
</li>
|
|
13
13
|
<li>
|
|
14
|
-
<a component="topic/pin" href="#" class="dropdown-item">
|
|
15
|
-
<i class="fa fa-fw fa-thumb-tack"></i> [[topic:thread_tools.pin]]
|
|
14
|
+
<a component="topic/pin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
15
|
+
<i class="fa fa-fw text-muted fa-thumb-tack"></i> [[topic:thread_tools.pin]]
|
|
16
16
|
</a>
|
|
17
17
|
</li>
|
|
18
18
|
<li>
|
|
19
|
-
<a component="topic/unpin" href="#" class="hidden dropdown-item">
|
|
20
|
-
<i class="fa fa-fw fa-thumb-tack fa-rotate-90"></i> [[topic:thread_tools.unpin]]
|
|
19
|
+
<a component="topic/unpin" href="#" class="hidden dropdown-item rounded-1">
|
|
20
|
+
<i class="fa fa-fw text-muted fa-thumb-tack fa-rotate-90"></i> [[topic:thread_tools.unpin]]
|
|
21
21
|
</a>
|
|
22
22
|
</li>
|
|
23
23
|
|
|
24
24
|
<li>
|
|
25
|
-
<a component="topic/lock" href="#" class="dropdown-item">
|
|
26
|
-
<i class="fa fa-fw fa-lock"></i> [[topic:thread_tools.lock]]
|
|
25
|
+
<a component="topic/lock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
26
|
+
<i class="fa fa-fw text-muted fa-lock"></i> [[topic:thread_tools.lock]]
|
|
27
27
|
</a>
|
|
28
28
|
</li>
|
|
29
29
|
<li>
|
|
30
|
-
<a component="topic/unlock" href="#" class="hidden dropdown-item" >
|
|
31
|
-
<i class="fa fa-fw fa-unlock"></i> [[topic:thread_tools.unlock]]
|
|
30
|
+
<a component="topic/unlock" href="#" class="hidden dropdown-item rounded-1" >
|
|
31
|
+
<i class="fa fa-fw text-muted fa-unlock"></i> [[topic:thread_tools.unlock]]
|
|
32
32
|
</a>
|
|
33
33
|
</li>
|
|
34
34
|
|
|
35
35
|
<li class="dropdown-divider"></li>
|
|
36
36
|
|
|
37
37
|
<li>
|
|
38
|
-
<a component="topic/move" href="#" class="dropdown-item">
|
|
39
|
-
<i class="fa fa-fw fa-arrows"></i> [[topic:thread_tools.move]]
|
|
38
|
+
<a component="topic/move" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
39
|
+
<i class="fa fa-fw text-muted fa-arrows"></i> [[topic:thread_tools.move]]
|
|
40
40
|
</a>
|
|
41
41
|
</li>
|
|
42
42
|
{{{if template.category}}}
|
|
43
43
|
<li>
|
|
44
|
-
<a component="topic/move-all" href="#" class="dropdown-item">
|
|
45
|
-
<i class="fa fa-fw fa-arrows"></i> [[topic:thread_tools.move_all]]
|
|
44
|
+
<a component="topic/move-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
45
|
+
<i class="fa fa-fw text-muted fa-arrows"></i> [[topic:thread_tools.move_all]]
|
|
46
46
|
</a>
|
|
47
47
|
</li>
|
|
48
48
|
{{{end}}}
|
|
49
49
|
<li>
|
|
50
|
-
<a component="topic/merge" href="#" class="dropdown-item">
|
|
51
|
-
<i class="fa fa-fw fa-code-fork"></i> [[topic:thread_tools.merge]]
|
|
50
|
+
<a component="topic/merge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
51
|
+
<i class="fa fa-fw text-muted fa-code-fork"></i> [[topic:thread_tools.merge]]
|
|
52
52
|
</a>
|
|
53
53
|
</li>
|
|
54
54
|
|
|
55
55
|
<li class="dropdown-divider"></li>
|
|
56
56
|
|
|
57
57
|
<li>
|
|
58
|
-
<a component="topic/delete" href="#" class="dropdown-item">
|
|
59
|
-
<i class="fa fa-fw fa-trash-o"></i> [[topic:thread_tools.delete]]
|
|
58
|
+
<a component="topic/delete" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
59
|
+
<i class="fa fa-fw text-muted fa-trash-o"></i> [[topic:thread_tools.delete]]
|
|
60
60
|
</a>
|
|
61
61
|
</li>
|
|
62
62
|
<li>
|
|
63
|
-
<a component="topic/restore" href="#" class="hidden dropdown-item">
|
|
64
|
-
<i class="fa fa-fw fa-history"></i> [[topic:thread_tools.restore]]
|
|
63
|
+
<a component="topic/restore" href="#" class="hidden dropdown-item rounded-1">
|
|
64
|
+
<i class="fa fa-fw text-muted fa-history"></i> [[topic:thread_tools.restore]]
|
|
65
65
|
</a>
|
|
66
66
|
</li>
|
|
67
67
|
<li>
|
|
68
|
-
<a component="topic/purge" href="#" class="hidden dropdown-item">
|
|
69
|
-
<i class="fa fa-fw fa-eraser"></i> [[topic:thread_tools.purge]]
|
|
68
|
+
<a component="topic/purge" href="#" class="hidden dropdown-item rounded-1">
|
|
69
|
+
<i class="fa fa-fw text-muted fa-eraser"></i> [[topic:thread_tools.purge]]
|
|
70
70
|
</a>
|
|
71
71
|
</li>
|
|
72
72
|
|
|
73
73
|
{{{each thread_tools}}}
|
|
74
74
|
<li>
|
|
75
|
-
<a href="#" class="dropdown-item {thread_tools.class}"><i class="fa fa-fw {thread_tools.icon}"></i> {thread_tools.title}</a>
|
|
75
|
+
<a href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {thread_tools.class}"><i class="fa fa-fw {thread_tools.icon}"></i> {thread_tools.title}</a>
|
|
76
76
|
</li>
|
|
77
77
|
{{{end}}}
|
|
78
78
|
</ul>
|