nodebb-theme-harmony 2.0.0-pre.33 → 2.0.0-pre.35
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 +0 -7
- package/templates/account/categories.tpl +1 -1
- package/templates/account/edit.tpl +4 -4
- package/templates/account/posts.tpl +6 -6
- package/templates/account/topics.tpl +5 -5
- package/templates/admin/plugins/harmony.tpl +1 -0
- package/templates/flags/detail.tpl +3 -3
- package/templates/groups/list.tpl +3 -3
- package/templates/notifications.tpl +1 -1
- package/templates/partials/account/sidebar-left.tpl +18 -17
- package/templates/partials/category/subcategory.tpl +1 -1
- package/templates/partials/groups/sidebar-left.tpl +5 -5
- package/templates/partials/notifications_list.tpl +2 -2
- package/templates/partials/post_bar.tpl +2 -2
- package/templates/partials/quick-search-results.tpl +2 -2
- package/templates/partials/search-filters.tpl +1 -1
- package/templates/partials/sidebar/chats.tpl +1 -1
- package/templates/partials/sidebar/notifications.tpl +1 -1
- package/templates/partials/sidebar/search.tpl +2 -2
- package/templates/partials/tags_list.tpl +2 -2
- package/templates/partials/topic/navigator.tpl +2 -2
- package/templates/partials/topic/post-menu.tpl +1 -1
- package/templates/partials/topic/post.tpl +5 -5
- package/templates/partials/topic/quickreply.tpl +1 -1
- package/templates/partials/topic/sort.tpl +1 -1
- package/templates/partials/topic/tools.tpl +1 -1
- package/templates/partials/topic/watch.tpl +1 -1
- package/templates/partials/topic-filters.tpl +1 -1
- package/templates/partials/topic-list-bar.tpl +2 -2
- package/templates/partials/topic-terms.tpl +1 -1
- package/templates/partials/users/item.tpl +2 -2
- package/templates/partials/users_list_menu.tpl +5 -5
- package/templates/post-queue.tpl +2 -2
- package/package-lock.json +0 -2344
- package/templates/login.tpl +0 -101
- package/templates/partials/category/filter-dropdown-content.tpl +0 -41
- package/templates/partials/category/selector-dropdown-content.tpl +0 -39
- package/templates/partials/category/sort.tpl +0 -39
- package/templates/partials/category/tools.tpl +0 -89
- package/templates/partials/category/watch.tpl +0 -67
- package/templates/partials/groups/filter-dropdown-content.tpl +0 -25
- package/templates/partials/tags/filter-dropdown-content.tpl +0 -38
- package/templates/partials/tags/watch.tpl +0 -42
- package/templates/partials/users/filter-dropdown-content.tpl +0 -23
- package/templates/register.tpl +0 -104
package/package.json
CHANGED
package/scss/common.scss
CHANGED
|
@@ -90,13 +90,6 @@ body:not(.page-user) {
|
|
|
90
90
|
background-color: initial;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
.btn-link {
|
|
94
|
-
&:hover, &.active {
|
|
95
|
-
background-color: var(--btn-ghost-hover-color);
|
|
96
|
-
text-decoration: none;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
93
|
.flex-basis-md-200 {
|
|
101
94
|
@include media-breakpoint-up(md) {
|
|
102
95
|
flex-basis: 200px!important;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div class="d-flex gap-1">
|
|
9
9
|
<div class="btn-group bottom-sheet" component="category/watch/all">
|
|
10
|
-
<button class="btn-ghost-sm ff-secondary fw-semibold dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" type="button">
|
|
10
|
+
<button class="btn btn-ghost btn-sm ff-secondary fw-semibold dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" type="button">
|
|
11
11
|
<span>[[user:change-all]]</span>
|
|
12
12
|
</button>
|
|
13
13
|
<ul class="dropdown-menu p-1 text-sm dropdown-menu-end" role="menu">
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
<div component="group/badge/item" class="d-flex gap-2 justify-content-between align-items-center" data-value="{./displayName}" data-selected="{./selected}">
|
|
38
38
|
<!-- IMPORT partials/groups/badge.tpl -->
|
|
39
39
|
<div class="d-flex gap-1">
|
|
40
|
-
<button component="group/toggle/hide" type="button" class="btn-ghost-sm {{{ if !./selected }}}hidden{{{ end }}}" title="[[user:hide-group-title]]"><i class="fa fa-fw fa-eye"></i></button>
|
|
41
|
-
<button component="group/toggle/show" type="button" class="btn-ghost-sm {{{ if ./selected }}}hidden{{{ end }}}" title="[[user:show-group-title]]"><i class="fa fa-fw fa-eye-slash"></i></button>
|
|
40
|
+
<button component="group/toggle/hide" type="button" class="btn btn-ghost btn-sm {{{ if !./selected }}}hidden{{{ end }}}" title="[[user:hide-group-title]]"><i class="fa fa-fw fa-eye"></i></button>
|
|
41
|
+
<button component="group/toggle/show" type="button" class="btn btn-ghost btn-sm {{{ if ./selected }}}hidden{{{ end }}}" title="[[user:show-group-title]]"><i class="fa fa-fw fa-eye-slash"></i></button>
|
|
42
42
|
{{{ if allowMultipleBadges }}}
|
|
43
|
-
<button component="group/order/up" type="button" class="btn-ghost-sm" title="[[user:order-group-up]]"><i class="fa fa-fw fa-chevron-up"></i></button>
|
|
44
|
-
<button component="group/order/down" type="button" class="btn-ghost-sm" title="[[user:order-group-down]]"><i class="fa fa-fw fa-chevron-down"></i></button>
|
|
43
|
+
<button component="group/order/up" type="button" class="btn btn-ghost btn-sm" title="[[user:order-group-up]]"><i class="fa fa-fw fa-chevron-up"></i></button>
|
|
44
|
+
<button component="group/order/down" type="button" class="btn btn-ghost btn-sm" title="[[user:order-group-down]]"><i class="fa fa-fw fa-chevron-down"></i></button>
|
|
45
45
|
{{{ end }}}
|
|
46
46
|
</div>
|
|
47
47
|
</div>
|
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
<div class="d-flex flex-wrap justify-content-between align-items-center gap-2 mb-3">
|
|
4
4
|
<h3 class="fw-semibold fs-5 mb-0">[[global:posts]]</h3>
|
|
5
5
|
<div class="d-flex flex-wrap gap-1">
|
|
6
|
-
<a href="{config.relative_path}/user/{userslug}/posts" class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/posts }}}active{{{ end }}}">[[global:header.recent]]</a>
|
|
6
|
+
<a href="{config.relative_path}/user/{userslug}/posts" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/posts }}}active{{{ end }}}">[[global:header.recent]]</a>
|
|
7
7
|
{{{ if !reputation:disabled }}}
|
|
8
|
-
<a href="{config.relative_path}/user/{userslug}/best"class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/best }}}active{{{ end }}}">[[global:best]]</a>
|
|
9
|
-
<a href="{config.relative_path}/user/{userslug}/controversial" class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/controversial }}}active{{{ end }}}">[[global:controversial]]</a>
|
|
8
|
+
<a href="{config.relative_path}/user/{userslug}/best"class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/best }}}active{{{ end }}}">[[global:best]]</a>
|
|
9
|
+
<a href="{config.relative_path}/user/{userslug}/controversial" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/controversial }}}active{{{ end }}}">[[global:controversial]]</a>
|
|
10
10
|
{{{ if canEdit }}}
|
|
11
|
-
<a href="{config.relative_path}/user/{userslug}/upvoted" class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/upvoted }}}active{{{ end }}}">[[global:upvoted]]</a>
|
|
11
|
+
<a href="{config.relative_path}/user/{userslug}/upvoted" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/upvoted }}}active{{{ end }}}">[[global:upvoted]]</a>
|
|
12
12
|
{{{ if !downvote:disabled }}}
|
|
13
|
-
<a href="{config.relative_path}/user/{userslug}/downvoted" class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/downvoted }}}active{{{ end }}}">[[global:downvoted]]</a>
|
|
13
|
+
<a href="{config.relative_path}/user/{userslug}/downvoted" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/downvoted }}}active{{{ end }}}">[[global:downvoted]]</a>
|
|
14
14
|
{{{ end }}}
|
|
15
15
|
{{{ end }}}
|
|
16
16
|
{{{ end }}}
|
|
17
17
|
{{{ if canEdit }}}
|
|
18
|
-
<a href="{config.relative_path}/user/{userslug}/bookmarks" class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/bookmarks }}}active{{{ end }}}">[[user:bookmarks]]</a>
|
|
18
|
+
<a href="{config.relative_path}/user/{userslug}/bookmarks" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/bookmarks }}}active{{{ end }}}">[[user:bookmarks]]</a>
|
|
19
19
|
{{{ end }}}
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
4
4
|
<div class="d-flex gap-1">
|
|
5
|
-
<h3 class="fw-semibold fs-5 mb-0">[[global:topics]]</h3>
|
|
5
|
+
<h3 class="fw-semibold fs-5 mb-0 align-self-center">[[global:topics]]</h3>
|
|
6
6
|
{{{ if showSort }}}
|
|
7
7
|
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
8
|
-
<button title="[[global:sort]]" class="btn-ghost-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" type="button"><i class="fa-solid fa-arrow-up-wide-short"></i></button>
|
|
8
|
+
<button title="[[global:sort]]" class="btn btn-ghost btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" type="button"><i class="fa-solid fa-arrow-up-wide-short"></i></button>
|
|
9
9
|
<ul class="dropdown-menu p-1 text-sm" role="menu">
|
|
10
10
|
{{{each sortOptions }}}
|
|
11
11
|
<li>
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
|
|
23
23
|
<div class="d-flex gap-1">
|
|
24
24
|
{{{ if canEdit }}}
|
|
25
|
-
<a href="{config.relative_path}/user/{userslug}/topics" class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/topics }}}active{{{ end }}}">[[global:header.recent]]</a>
|
|
26
|
-
<a href="{config.relative_path}/user/{userslug}/watched"class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/watched }}}active{{{ end }}}">[[user:watched]]</a>
|
|
27
|
-
<a href="{config.relative_path}/user/{userslug}/ignored" class="btn-ghost-sm ff-secondary fw-semibold {{{ if template.account/ignored }}}active{{{ end }}}">[[user:ignored]]</a>
|
|
25
|
+
<a href="{config.relative_path}/user/{userslug}/topics" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/topics }}}active{{{ end }}}">[[global:header.recent]]</a>
|
|
26
|
+
<a href="{config.relative_path}/user/{userslug}/watched"class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/watched }}}active{{{ end }}}">[[user:watched]]</a>
|
|
27
|
+
<a href="{config.relative_path}/user/{userslug}/ignored" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/ignored }}}active{{{ end }}}">[[user:ignored]]</a>
|
|
28
28
|
{{{ end }}}
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
<div class="form-check form-switch">
|
|
12
12
|
<input type="checkbox" class="form-check-input" id="enableBreadcrumbs" name="enableBreadcrumbs" />
|
|
13
13
|
<label for="enableBreadcrumbs" class="form-check-label">[[themes/harmony:settings.enableBreadcrumbs]]</label>
|
|
14
|
+
<p class="form-text">[[themes/harmony:settings.enableBreadcrumbs.why]]</p>
|
|
14
15
|
</div>
|
|
15
16
|
<div class="form-check form-switch">
|
|
16
17
|
<input type="checkbox" class="form-check-input" id="centerHeaderElements" name="centerHeaderElements" />
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
<div class="d-flex flex-column flex-md-row">
|
|
4
4
|
<div class="flex-shrink-0 d-flex flex-column gap-3 border-end-md text-sm mb-3 pe-4" style="flex-basis: 240px !important;">
|
|
5
5
|
<div class="d-grid gap-1">
|
|
6
|
-
<a class="btn btn-ghost ff-secondary border
|
|
6
|
+
<a class="btn btn-ghost btn-sm ff-secondary border d-flex gap-2 align-items-center" href="{config.relative_path}/{type_path}/{encodeURIComponent(targetId)}">
|
|
7
7
|
<i class="fa fa-fw fa-external-link text-primary"></i>
|
|
8
8
|
[[flags:go-to-target]]
|
|
9
9
|
</a>
|
|
10
10
|
|
|
11
11
|
{{{ if target.uid }}}
|
|
12
12
|
<div class="btn-group dropend" data-uid="{target.uid}">
|
|
13
|
-
<button type="button" class="btn btn-ghost ff-secondary border
|
|
13
|
+
<button type="button" class="btn btn-ghost btn-sm ff-secondary border d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
14
14
|
<i class="fa fa-fw fa-street-view text-primary"></i>
|
|
15
15
|
[[flags:flagged-user]]
|
|
16
16
|
<i class="fa fa-chevron-right ms-auto text-secondary"></i>
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
</div>
|
|
39
39
|
{{{ end }}}
|
|
40
40
|
|
|
41
|
-
<a class="btn btn-ghost ff-secondary border
|
|
41
|
+
<a class="btn btn-ghost btn-sm ff-secondary border d-flex gap-2 align-items-center" href="#" data-action="assign">
|
|
42
42
|
<i class="fa fa-fw fa-id-card-o text-primary"></i>
|
|
43
43
|
[[flags:assign-to-me]]
|
|
44
44
|
</a>
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
<div class="text-sm d-flex flex-wrap align-items-center gap-2">
|
|
11
11
|
[[topic:sort-by]]
|
|
12
12
|
<div class="d-flex gap-2">
|
|
13
|
-
<a href="?sort=alpha" class="btn-ghost ff-secondary fw-semibold {{{ if (sort == "alpha") }}}active{{{ end }}}">[[groups:details.group-name]]</a>
|
|
14
|
-
<a href="?sort=count" class="btn-ghost ff-secondary fw-semibold {{{ if (sort == "count") }}}active{{{ end }}}">[[groups:details.member-count]]</a>
|
|
15
|
-
<a href="?sort=date" class="btn-ghost ff-secondary fw-semibold {{{ if (sort == "date") }}}active{{{ end }}}">[[groups:details.creation-date]]</a>
|
|
13
|
+
<a href="?sort=alpha" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if (sort == "alpha") }}}active{{{ end }}}">[[groups:details.group-name]]</a>
|
|
14
|
+
<a href="?sort=count" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if (sort == "count") }}}active{{{ end }}}">[[groups:details.member-count]]</a>
|
|
15
|
+
<a href="?sort=date" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if (sort == "date") }}}active{{{ end }}}">[[groups:details.creation-date]]</a>
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{{{ if ./separator }}}
|
|
13
13
|
<hr/>
|
|
14
14
|
{{{ else }}}
|
|
15
|
-
<a class="btn-ghost ff-secondary fw-semibold {{{ if ./selected }}}active{{{ end }}}" href="{config.relative_path}/notifications?filter={./filter}">
|
|
15
|
+
<a class="btn btn-ghost d-flex gap-2 text-start text-sm ff-secondary fw-semibold {{{ if ./selected }}}active{{{ end }}}" href="{config.relative_path}/notifications?filter={./filter}">
|
|
16
16
|
<div class="flex-grow-1">{filters.name}</div>
|
|
17
17
|
<span class="flex-shrink-0 text-xs" title="{./count}">{humanReadableNumber(./count)}</span>
|
|
18
18
|
</a>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<div class="flex-shrink-0 pe-2 border-end-md text-sm mb-3 flex-basis-md-200">
|
|
2
2
|
<div class="sticky-md-top d-flex flex-row flex-md-column flex-wrap gap-1" style="top: 1rem;z-index: 1;">
|
|
3
|
-
<a href="{config.relative_path}/user/{userslug}" class="btn-ghost ff-secondary fw-semibold {{{ if template.account/profile }}}active{{{ end }}}">
|
|
3
|
+
<a href="{config.relative_path}/user/{userslug}" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold {{{ if template.account/profile }}}active{{{ end }}}">
|
|
4
4
|
<div class="flex-grow-1">[[global:about]]</div>
|
|
5
5
|
</a>
|
|
6
|
-
<a href="{config.relative_path}/user/{userslug}/posts"class="btn-ghost ff-secondary fw-semibold
|
|
6
|
+
<a href="{config.relative_path}/user/{userslug}/posts"class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
7
7
|
{{{ if template.account/posts }}}active{{{ end }}}
|
|
8
8
|
{{{ if template.account/best }}}active{{{ end }}}
|
|
9
9
|
{{{ if template.account/controversial }}}active{{{ end }}}
|
|
@@ -13,52 +13,52 @@
|
|
|
13
13
|
<div class="flex-grow-1">[[global:posts]]</div>
|
|
14
14
|
<span class="flex-shrink-0 text-xs" title="{counts.posts}">{humanReadableNumber(counts.posts)}</span>
|
|
15
15
|
</a>
|
|
16
|
-
<a href="{config.relative_path}/user/{userslug}/topics" class="btn-ghost ff-secondary fw-semibold
|
|
16
|
+
<a href="{config.relative_path}/user/{userslug}/topics" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
17
17
|
{{{ if template.account/topics }}}active{{{ end }}}
|
|
18
18
|
{{{ if template.account/watched }}}active{{{ end }}}
|
|
19
19
|
{{{ if template.account/ignored }}}active{{{ end }}}">
|
|
20
20
|
<div class="flex-grow-1">[[global:topics]]</div>
|
|
21
21
|
<span class="flex-shrink-0 text-xs" title="{counts.topics}">{humanReadableNumber(counts.topics)}</span>
|
|
22
22
|
</a>
|
|
23
|
-
<a href="{config.relative_path}/user/{userslug}/groups" class="btn-ghost ff-secondary fw-semibold
|
|
23
|
+
<a href="{config.relative_path}/user/{userslug}/groups" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
24
24
|
{{{ if template.account/groups }}}active{{{ end }}}">
|
|
25
25
|
<div class="flex-grow-1">[[global:header.groups]]</div>
|
|
26
26
|
<span class="flex-shrink-0 text-xs" title="{counts.groups}">{humanReadableNumber(counts.groups)}</span>
|
|
27
27
|
</a>
|
|
28
28
|
|
|
29
|
-
<a href="{config.relative_path}/user/{userslug}/followers" class="btn-ghost ff-secondary fw-semibold
|
|
29
|
+
<a href="{config.relative_path}/user/{userslug}/followers" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
30
30
|
{{{ if template.account/followers }}}active{{{ end }}}">
|
|
31
31
|
<div class="flex-grow-1">[[user:followers]]</div>
|
|
32
32
|
<span class="flex-shrink-0 text-xs" title="{counts.followers}">{humanReadableNumber(counts.followers)}</span>
|
|
33
33
|
</a>
|
|
34
34
|
|
|
35
|
-
<a href="{config.relative_path}/user/{userslug}/following" class="btn-ghost ff-secondary fw-semibold
|
|
35
|
+
<a href="{config.relative_path}/user/{userslug}/following" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
36
36
|
{{{ if template.account/following }}}active{{{ end }}}">
|
|
37
37
|
<div class="flex-grow-1">[[user:following]]</div>
|
|
38
38
|
<span class="flex-shrink-0 text-xs" title="{counts.following}">{humanReadableNumber(counts.following)}</span>
|
|
39
39
|
</a>
|
|
40
40
|
|
|
41
41
|
{{{ if canEdit }}}
|
|
42
|
-
<a href="{config.relative_path}/user/{userslug}/categories" class="btn-ghost ff-secondary fw-semibold
|
|
42
|
+
<a href="{config.relative_path}/user/{userslug}/categories" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
43
43
|
{{{ if template.account/categories }}}active{{{ end }}}">
|
|
44
44
|
<div class="flex-grow-1">[[user:watched-categories]]</div>
|
|
45
45
|
<span class="flex-shrink-0 text-xs" title="{counts.categoriesWatched}">{counts.categoriesWatched}</span>
|
|
46
46
|
</a>
|
|
47
47
|
{{{ if isSelf }}}
|
|
48
|
-
<a href="{config.relative_path}/user/{userslug}/tags" class="btn-ghost ff-secondary fw-semibold
|
|
48
|
+
<a href="{config.relative_path}/user/{userslug}/tags" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
49
49
|
{{{ if template.account/tags }}}active{{{ end }}}">
|
|
50
50
|
<div class="flex-grow-1">[[user:watched-tags]]</div>
|
|
51
51
|
<span class="flex-shrink-0 text-xs" title="{counts.tagsWatched}">{counts.tagsWatched}</span>
|
|
52
52
|
</a>
|
|
53
53
|
{{{ end }}}
|
|
54
54
|
|
|
55
|
-
<a href="{config.relative_path}/user/{userslug}/blocks" class="btn-ghost ff-secondary fw-semibold
|
|
55
|
+
<a href="{config.relative_path}/user/{userslug}/blocks" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
56
56
|
{{{ if template.account/blocks }}}active{{{ end }}}">
|
|
57
57
|
<div class="flex-grow-1">[[user:blocked-users]]</div>
|
|
58
58
|
<span class="flex-shrink-0 text-xs" title="{counts.blocks}">{humanReadableNumber(counts.blocks)}</span>
|
|
59
59
|
</a>
|
|
60
60
|
|
|
61
|
-
<a href="{config.relative_path}/user/{userslug}/uploads" class="btn-ghost ff-secondary fw-semibold
|
|
61
|
+
<a href="{config.relative_path}/user/{userslug}/uploads" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-center
|
|
62
62
|
{{{ if template.account/uploads }}}active{{{ end }}}">
|
|
63
63
|
<div class="flex-grow-1">[[global:uploads]]</div>
|
|
64
64
|
<span class="flex-shrink-0 text-xs" title="{counts.uploaded}">{humanReadableNumber(counts.uploaded)}</span>
|
|
@@ -67,19 +67,20 @@
|
|
|
67
67
|
|
|
68
68
|
{{{ if (loggedIn && (!isSelf && !banned)) }}}
|
|
69
69
|
<hr class="w-100 my-2"/>
|
|
70
|
-
|
|
70
|
+
|
|
71
|
+
<a {{{if flagId }}}hidden{{{end}}} href="#" component="account/flag" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-center gap-2 text-start">
|
|
71
72
|
<i class="flex-shrink-0 fa-solid fa-flag text-danger"></i>
|
|
72
73
|
<div class="flex-grow-1 text-nowrap">[[user:flag-profile]]</div>
|
|
73
74
|
</a>
|
|
74
|
-
<a {{{if !flagId }}}hidden{{{end}}} href="#" component="account/already-flagged" class="btn-ghost-sm ff-secondary" data-flag-id="{flagId}">
|
|
75
|
+
<a {{{if !flagId }}}hidden{{{end}}} href="#" component="account/already-flagged" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-center gap-2 text-start" data-flag-id="{flagId}">
|
|
75
76
|
<i class="flex-shrink-0 fa-solid fa-flag text-danger"></i>
|
|
76
77
|
<div class="flex-grow-1 text-nowrap">[[user:profile-flagged]]</div>
|
|
77
78
|
</a>
|
|
78
|
-
<a href="#" component="account/block" class="btn-ghost-sm ff-secondary {{{ if isBlocked }}}hidden{{{ end }}}">
|
|
79
|
+
<a href="#" component="account/block" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-center gap-2 text-start {{{ if isBlocked }}}hidden{{{ end }}}">
|
|
79
80
|
<i class="flex-shrink-0 fa-solid fa-ban text-danger"></i>
|
|
80
81
|
<div class="flex-grow-1 text-nowrap">[[user:block-user]]</div>
|
|
81
82
|
</a>
|
|
82
|
-
<a href="#" component="account/unblock" class="btn-ghost-sm ff-secondary {{{ if !isBlocked }}}hidden{{{ end }}}">
|
|
83
|
+
<a href="#" component="account/unblock" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-center gap-2 text-start {{{ if !isBlocked }}}hidden{{{ end }}}">
|
|
83
84
|
<i class="flex-shrink-0 fa-solid fa-ban text-danger"></i>
|
|
84
85
|
<div class="flex-grow-1 text-nowrap">[[user:unblock-user]]</div>
|
|
85
86
|
</a>
|
|
@@ -87,18 +88,18 @@
|
|
|
87
88
|
|
|
88
89
|
{{{ if canEdit }}}
|
|
89
90
|
<hr class="w-100 my-2"/>
|
|
90
|
-
<a href="{config.relative_path}/user/{userslug}/edit" class="btn-ghost-sm ff-secondary text-xs
|
|
91
|
+
<a href="{config.relative_path}/user/{userslug}/edit" class="btn btn-ghost btn-sm ff-secondary text-xs text-start
|
|
91
92
|
{{{ if template.account/edit }}}active{{{ end }}}">
|
|
92
93
|
<div class="flex-grow-1">[[user:edit-profile]]</div>
|
|
93
94
|
</a>
|
|
94
|
-
<a href="{config.relative_path}/user/{userslug}/settings" class="btn-ghost-sm ff-secondary text-xs
|
|
95
|
+
<a href="{config.relative_path}/user/{userslug}/settings" class="btn btn-ghost btn-sm ff-secondary text-xs text-start
|
|
95
96
|
{{{ if template.account/settings }}}active{{{ end }}}">
|
|
96
97
|
<div class="flex-grow-1">[[user:settings]]</div>
|
|
97
98
|
</a>
|
|
98
99
|
{{{ end }}}
|
|
99
100
|
|
|
100
101
|
{{{ each profile_links }}}
|
|
101
|
-
<a href="{config.relative_path}/user/{userslug}/{./route}" class="btn-ghost-sm ff-secondary text-xs plugin-link {{{ if ./public }}}public{{{ else }}}private{{{ end }}} {{{ if (url == ./url) }}}active{{{ end }}}" id="{./id}">
|
|
102
|
+
<a href="{config.relative_path}/user/{userslug}/{./route}" class="btn btn-ghost btn-sm ff-secondary text-xs text-start plugin-link {{{ if ./public }}}public{{{ else }}}private{{{ end }}} {{{ if (url == ./url) }}}active{{{ end }}}" id="{./id}">
|
|
102
103
|
<div class="flex-grow-1">{./name}</div>
|
|
103
104
|
</a>
|
|
104
105
|
{{{end}}}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
{{{end}}}
|
|
14
14
|
</ul>
|
|
15
15
|
{{{ if hasMoreSubCategories}}}
|
|
16
|
-
<button class="btn-ghost-sm ff-secondary mb-2" component="category/load-more-subcategories">[[category:x-more-categories, {subCategoriesLeft}]]</button>
|
|
16
|
+
<button class="btn btn-ghost btn-sm ff-secondary mb-2" component="category/load-more-subcategories">[[category:x-more-categories, {subCategoriesLeft}]]</button>
|
|
17
17
|
{{{ end }}}
|
|
18
18
|
</div>
|
|
19
19
|
{{{ end }}}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
<div class="flex-shrink-0 pe-2 border-end-md text-sm mb-3 flex-basis-md-200">
|
|
2
2
|
<div class="nav sticky-md-top d-flex flex-row flex-md-column flex-wrap gap-1" style="top: 1rem; z-index: 1;">
|
|
3
|
-
<button data-bs-toggle="tab" data-bs-target="#groups-posts" class="btn-ghost ff-secondary fw-semibold {{{ if template.groups/details }}}active{{{ end }}}">
|
|
3
|
+
<button data-bs-toggle="tab" data-bs-target="#groups-posts" class="btn btn-ghost btn-sm text-start d-flex align-items-center ff-secondary fw-semibold {{{ if template.groups/details }}}active{{{ end }}}">
|
|
4
4
|
<div class="flex-grow-1">[[global:posts]]</div>
|
|
5
5
|
</button>
|
|
6
|
-
<button data-bs-toggle="tab" data-bs-target="#groups-members" class="btn-ghost ff-secondary fw-semibold">
|
|
6
|
+
<button data-bs-toggle="tab" data-bs-target="#groups-members" class="btn btn-ghost btn-sm text-start d-flex align-items-center ff-secondary fw-semibold">
|
|
7
7
|
<div class="flex-grow-1">[[groups:members]]</div>
|
|
8
8
|
<span component="group/member/count" class="flex-shrink-0 text-xs" title="{group.memberCount}">{humanReadableNumber(group.memberCount)}</span>
|
|
9
9
|
</button>
|
|
10
10
|
|
|
11
11
|
{{{ if group.isOwner }}}
|
|
12
|
-
<button data-bs-toggle="tab" data-bs-target="#groups-pending" class="btn-ghost ff-secondary fw-semibold">
|
|
12
|
+
<button data-bs-toggle="tab" data-bs-target="#groups-pending" class="btn btn-ghost btn-sm text-start d-flex align-items-center ff-secondary fw-semibold">
|
|
13
13
|
<div class="flex-grow-1">[[groups:details.pending]]</div>
|
|
14
14
|
<span component="group/pending/count" class="flex-shrink-0 text-xs" title="{group.pending.length}">{humanReadableNumber(group.pending.length)}</span>
|
|
15
15
|
</button>
|
|
16
16
|
|
|
17
|
-
<button data-bs-toggle="tab" data-bs-target="#groups-invited" class="btn-ghost ff-secondary fw-semibold">
|
|
17
|
+
<button data-bs-toggle="tab" data-bs-target="#groups-invited" class="btn btn-ghost btn-sm text-start d-flex align-items-center ff-secondary fw-semibold">
|
|
18
18
|
<div class="flex-grow-1">[[groups:details.invited]]</div>
|
|
19
19
|
<span component="group/invited/count" class="flex-shrink-0 text-xs" title="{group.invited.length}">{humanReadableNumber(group.invited.length)}</span>
|
|
20
20
|
</button>
|
|
21
21
|
|
|
22
|
-
<button data-bs-toggle="tab" data-bs-target="#groups-admin" class="btn-ghost ff-secondary fw-semibold">
|
|
22
|
+
<button data-bs-toggle="tab" data-bs-target="#groups-admin" class="btn btn-ghost btn-sm text-start d-flex align-items-center ff-secondary fw-semibold">
|
|
23
23
|
<div class="flex-grow-1">[[global:header.admin]]</div>
|
|
24
24
|
</button>
|
|
25
25
|
{{{ end }}}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
{{{ each notifications }}}
|
|
9
9
|
<div class="{./readClass}" data-nid="{./nid}" data-path="{./path}" {{{ if ./pid }}}data-pid="{./pid}"{{{ end }}}{{{ if ./tid }}}data-tid="{./tid}"{{{ end }}}>
|
|
10
10
|
<div class="d-flex gap-1 justify-content-between">
|
|
11
|
-
<div class="btn-ghost-sm d-flex gap-2 flex-grow-1 align-items-start">
|
|
11
|
+
<div class="btn btn-ghost btn-sm d-flex gap-2 flex-grow-1 text-start align-items-start">
|
|
12
12
|
<a class="flex-grow-0 flex-shrink-0" href="{{{ if ./user.userslug}}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}">
|
|
13
13
|
{{{ if (./image && ./from) }}}
|
|
14
14
|
<img class="avatar avatar-rounded" style="--avatar-size: 32px;" src="{./image}" />
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
</div>
|
|
31
31
|
<div>
|
|
32
32
|
{{{ if ./nid }}}
|
|
33
|
-
<button class="mark-read btn-ghost-sm flex-grow-0 flex-shrink-0 p-1" style="width: 1.5rem; height: 1.5rem;">
|
|
33
|
+
<button class="mark-read btn btn-ghost btn-sm d-flex align-items-center justify-content-center flex-grow-0 flex-shrink-0 p-1" style="width: 1.5rem; height: 1.5rem;">
|
|
34
34
|
<i class="unread fa fa-2xs fa-circle text-primary {{{ if ./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-read]]"></i>
|
|
35
35
|
<i class="read fa fa-2xs fa-circle-o text-secondary {{{ if !./read }}}hidden{{{ end }}}" aria-label="[[unread:mark-as-unread]]"></i>
|
|
36
36
|
</button>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="d-flex flex-row p-2 text-bg-light border rounded w-100 align-items-center">
|
|
4
4
|
<div class="d-flex me-auto mb-0 gap-2 align-items-center flex-wrap">
|
|
5
5
|
{{{ if loggedIn }}}
|
|
6
|
-
<button component="topic/mark-unread" class="btn-ghost-sm ff-secondary d-flex gap-2 align-items-center">
|
|
6
|
+
<button component="topic/mark-unread" class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center">
|
|
7
7
|
<i class="fa fa-fw fa-inbox text-primary"></i>
|
|
8
8
|
<span class="d-none d-md-inline fw-semibold">[[topic:mark-unread]]</span>
|
|
9
9
|
</button>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<!-- IMPORT partials/topic/tools.tpl -->
|
|
15
15
|
|
|
16
16
|
{{{ if (!feeds:disableRSS && rssFeedUrl) }}}
|
|
17
|
-
<a class="btn-ghost-sm d-none d-lg-flex align-self-stretch" target="_blank" href="{rssFeedUrl}" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
|
|
17
|
+
<a class="btn btn-ghost btn-sm d-none d-lg-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
|
|
18
18
|
{{{ end }}}
|
|
19
19
|
|
|
20
20
|
{{{ if browsingUsers }}}
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
{{{ each posts }}}
|
|
15
15
|
<li data-tid="{posts.topic.tid}" data-pid="{posts.pid}" class="d-flex flex-column gap-1">
|
|
16
16
|
<a href="{config.relative_path}/post/{encodeURIComponent(posts.pid)}"
|
|
17
|
-
class="btn-ghost-sm ff-secondary rounded-1 text-reset d-block text-truncate px-2 py-1">
|
|
17
|
+
class="btn btn-ghost btn-sm ff-secondary rounded-1 text-start text-reset d-block text-truncate px-2 py-1">
|
|
18
18
|
<span class="quick-search-title fw-semibold text-sm">{posts.topic.title}</span>
|
|
19
19
|
<br/>
|
|
20
20
|
<p class="snippet text-xs text-break text-wrap mb-0">
|
|
21
21
|
{posts.snippet}
|
|
22
22
|
</p>
|
|
23
23
|
</a>
|
|
24
|
-
<div class="d-flex gap-
|
|
24
|
+
<div class="d-flex gap-2 post-info px-2 text-xs">
|
|
25
25
|
<div class="category-item d-inline-block ff-secondary">
|
|
26
26
|
{function.buildCategoryLabel, posts.category, "span"}
|
|
27
27
|
</div>
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
<ul class="dropdown-menu p-1 text-sm" style="width: 300px;" role="menu">
|
|
177
177
|
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
178
178
|
<button id="save-preferences" class="btn btn-primary">[[search:save-preferences]]</button>
|
|
179
|
-
<button id="clear-preferences" class="btn-ghost border">[[search:clear-preferences]]</button>
|
|
179
|
+
<button id="clear-preferences" class="btn btn-ghost border">[[search:clear-preferences]]</button>
|
|
180
180
|
</li>
|
|
181
181
|
</ul>
|
|
182
182
|
</div>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
|
26
26
|
<div>
|
|
27
|
-
<button class="mark-read btn-ghost-sm" style="width: 1.5rem; height: 1.5rem;">
|
|
27
|
+
<button class="mark-read btn btn-ghost btn-sm d-flex align-items-center justify-content-center flex-grow-0 flex-shrink-0 p-1" style="width: 1.5rem; height: 1.5rem;">
|
|
28
28
|
<i class="unread fa fa-2xs fa-circle text-primary"></i>
|
|
29
29
|
</button>
|
|
30
30
|
</div>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
</div>
|
|
32
32
|
</div>
|
|
33
33
|
<div>
|
|
34
|
-
<button class="mark-read btn-ghost-sm" style="width: 1.5rem; height: 1.5rem;">
|
|
34
|
+
<button class="mark-read btn btn-ghost btn-sm d-flex align-items-center justify-content-center flex-grow-0 flex-shrink-0 p-1" style="width: 1.5rem; height: 1.5rem;">
|
|
35
35
|
<i class="unread fa fa-2xs fa-circle text-primary"></i>
|
|
36
36
|
</button>
|
|
37
37
|
</div>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
<div class="d-flex gap-1">
|
|
11
11
|
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="" aria-label="[[search:type-to-search]]">
|
|
12
12
|
|
|
13
|
-
<a class="btn-ghost advanced-search-link" href="{config.relative_path}/search" title="[[search:advanced-search]]">
|
|
14
|
-
<i class="fa fa-gears
|
|
13
|
+
<a class="btn btn-ghost advanced-search-link p-2" href="{config.relative_path}/search" title="[[search:advanced-search]]">
|
|
14
|
+
<i class="fa fa-gears text-muted"></i>
|
|
15
15
|
</a>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{{{each tags}}}
|
|
2
|
-
<a href="{config.relative_path}/tags/{./valueEncoded}" data-tag="{./valueEscaped}" class="btn-ghost ff-
|
|
3
|
-
<div class="fw-semibold text-nowrap tag-item w-100 text-truncate">{./valueEscaped}</div>
|
|
2
|
+
<a href="{config.relative_path}/tags/{./valueEncoded}" data-tag="{./valueEscaped}" class="btn btn-ghost ff-base d-flex flex-column gap-1 align-items-start justify-content-start text-truncate p-2">
|
|
3
|
+
<div class="fw-semibold text-nowrap tag-item w-100 text-start text-truncate">{./valueEscaped}</div>
|
|
4
4
|
<div class="text-xs text-muted text-nowrap tag-topic-count">[[global:x-topics, {formattedNumber(./score)}]]</div>
|
|
5
5
|
</a>
|
|
6
6
|
{{{end}}}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="d-flex justify-content-end sticky-top mt-4" style="top:6rem;z-index:1;">
|
|
3
3
|
<div class="ps-1 ps-md-0 d-inline-block">
|
|
4
4
|
<div class="scroller-content d-flex gap-2 flex-column align-items-start">
|
|
5
|
-
<button class="pagetop btn-ghost-sm ff-secondary d-inline-flex border-0" style="padding: 4px;"><i class="fa fa-chevron-up"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./timestampISO}"></span></button>
|
|
5
|
+
<button class="pagetop btn btn-ghost btn-sm ff-secondary d-inline-flex border-0 align-items-center gap-2" style="padding: 4px;"><i class="fa fa-chevron-up"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./timestampISO}"></span></button>
|
|
6
6
|
<div class="scroller-container position-relative">
|
|
7
7
|
<div class="scroller-thumb d-flex gap-2 text-nowrap position-relative" style="height: 40px;">
|
|
8
8
|
<div class="scroller-thumb-icon bg-primary rounded d-inline-block" style="width:9px; height: 40px;"></div>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
|
-
<button class="pagebottom btn-ghost-sm ff-secondary d-inline-flex border-0" style="padding: 4px;"><i class="fa fa-chevron-down"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./lastposttimeISO}"></span></button>
|
|
21
|
+
<button class="pagebottom btn btn-ghost btn-sm ff-secondary d-inline-flex border-0 align-items-center gap-2" style="padding: 4px;"><i class="fa fa-chevron-down"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./lastposttimeISO}"></span></button>
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
24
24
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
<span component="post/tools" class="dropdown bottom-sheet {{{ if !./display_post_menu }}}hidden{{{ end }}}">
|
|
2
|
-
<a class="btn-ghost-sm ff-secondary dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[topic:post-tools]]"><i class="fa fa-fw fa-ellipsis-v text-primary"></i></a>
|
|
2
|
+
<a class="btn btn-ghost btn-sm ff-secondary dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[topic:post-tools]]"><i class="fa fa-fw fa-ellipsis-v text-primary"></i></a>
|
|
3
3
|
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu"></ul>
|
|
4
4
|
</span>
|
|
@@ -108,8 +108,8 @@
|
|
|
108
108
|
|
|
109
109
|
<div component="post/actions" class="d-flex justify-content-end gap-1 post-tools">
|
|
110
110
|
<!-- IMPORT partials/topic/reactions.tpl -->
|
|
111
|
-
<a component="post/reply" href="#" class="btn-ghost-sm {{{ if !privileges.topics:reply }}}hidden{{{ end }}}" title="[[topic:reply]]"><i class="fa fa-fw fa-reply text-primary"></i></a>
|
|
112
|
-
<a component="post/quote" href="#" class="btn-ghost-sm {{{ if !privileges.topics:reply }}}hidden{{{ end }}}" title="[[topic:quote]]"><i class="fa fa-fw fa-quote-right text-primary"></i></a>
|
|
111
|
+
<a component="post/reply" href="#" class="btn btn-ghost btn-sm {{{ if !privileges.topics:reply }}}hidden{{{ end }}}" title="[[topic:reply]]"><i class="fa fa-fw fa-reply text-primary"></i></a>
|
|
112
|
+
<a component="post/quote" href="#" class="btn btn-ghost btn-sm {{{ if !privileges.topics:reply }}}hidden{{{ end }}}" title="[[topic:quote]]"><i class="fa fa-fw fa-quote-right text-primary"></i></a>
|
|
113
113
|
|
|
114
114
|
{{{ if ./announces }}}
|
|
115
115
|
<a component="post/announce-count" href="#" class="btn-ghost-sm" title="[[activitypub:announcers]]"><i class="fa fa-share-alt text-primary"></i> {./announces}</a>
|
|
@@ -117,16 +117,16 @@
|
|
|
117
117
|
|
|
118
118
|
{{{ if !reputation:disabled }}}
|
|
119
119
|
<div class="d-flex votes align-items-center">
|
|
120
|
-
<a component="post/upvote" href="#" class="btn-ghost-sm{{{ if posts.upvoted }}} upvoted{{{ end }}}" title="[[topic:upvote-post]]">
|
|
120
|
+
<a component="post/upvote" href="#" class="btn btn-ghost btn-sm{{{ if posts.upvoted }}} upvoted{{{ end }}}" title="[[topic:upvote-post]]">
|
|
121
121
|
<i class="fa fa-fw fa-chevron-up text-primary"></i>
|
|
122
122
|
</a>
|
|
123
123
|
|
|
124
124
|
<meta itemprop="upvoteCount" content="{posts.upvotes}">
|
|
125
125
|
<meta itemprop="downvoteCount" content="{posts.downvotes}">
|
|
126
|
-
<a href="#" class="px-2 mx-1 btn-ghost-sm" component="post/vote-count" data-votes="{posts.votes}" title="[[global:voters]]">{posts.votes}</a>
|
|
126
|
+
<a href="#" class="px-2 mx-1 btn btn-ghost btn-sm" component="post/vote-count" data-votes="{posts.votes}" title="[[global:voters]]">{posts.votes}</a>
|
|
127
127
|
|
|
128
128
|
{{{ if !downvote:disabled }}}
|
|
129
|
-
<a component="post/downvote" href="#" class="btn-ghost-sm{{{ if posts.downvoted }}} downvoted{{{ end }}}" title="[[topic:downvote-post]]">
|
|
129
|
+
<a component="post/downvote" href="#" class="btn btn-ghost btn-sm{{{ if posts.downvoted }}} downvoted{{{ end }}}" title="[[topic:downvote-post]]">
|
|
130
130
|
<i class="fa fa-fw fa-chevron-down text-primary"></i>
|
|
131
131
|
</a>
|
|
132
132
|
{{{ end }}}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
</div>
|
|
16
16
|
<div>
|
|
17
17
|
<div class="d-flex justify-content-end gap-2">
|
|
18
|
-
<button type="submit" component="topic/quickreply/expand" class="btn-ghost-sm border" title="[[topic:open-composer]]"><i class="fa fa-expand"></i></button>
|
|
18
|
+
<button type="submit" component="topic/quickreply/expand" class="btn btn-ghost btn-sm border" title="[[topic:open-composer]]"><i class="fa fa-expand"></i></button>
|
|
19
19
|
<button type="submit" component="topic/quickreply/button" class="btn btn-sm btn-primary">[[topic:post-quick-reply]]</button>
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
2
|
-
<button class="btn-ghost-sm ff-secondary d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[aria:post-sort-option, {sortOptionLabel}]]">
|
|
2
|
+
<button class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[aria:post-sort-option, {sortOptionLabel}]]">
|
|
3
3
|
<i class="fa fa-fw fa-arrow-down-wide-short text-primary"></i>
|
|
4
4
|
<span class="d-none d-md-inline fw-semibold">{sortOptionLabel}</span>
|
|
5
5
|
</button>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{{{ if privileges.view_thread_tools }}}
|
|
2
2
|
<div class="btn-group thread-tools bottom-sheet">
|
|
3
|
-
<button class="btn-ghost-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
|
|
3
|
+
<button class="btn btn-ghost btn-sm ff-secondary d-flex align-items-center gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
|
|
4
4
|
<i class="fa fa-fw fa-gear text-primary"></i>
|
|
5
5
|
<span class="d-none d-md-inline fw-semibold">[[topic:thread-tools.title]]</span>
|
|
6
6
|
</button>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{{{ if config.loggedIn }}}
|
|
2
2
|
<div class="btn-group bottom-sheet" component="topic/watch">
|
|
3
|
-
<button class="btn-ghost-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
|
|
3
|
+
<button class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
|
|
4
4
|
<span component="topic/following/menu" class="d-flex gap-2 align-items-center{{{ if !isFollowing }}} hidden{{{ end }}}">
|
|
5
5
|
<i class="flex-shrink-0 fa fa-fw fa-bell-o text-primary"></i>
|
|
6
6
|
<span class="d-none d-md-inline fw-semibold">[[topic:watching]]</span>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet{{{ if !filters.length }}} hidden{{{ end }}}">
|
|
2
|
-
<button type="button" class="btn-ghost-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
2
|
+
<button type="button" class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
3
3
|
<i class="fa fa-fw fa-filter text-primary"></i>
|
|
4
4
|
<span class="visible-md-inline visible-lg-inline fw-semibold">{selectedFilter.name}</span>
|
|
5
5
|
</button>
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
<!-- IMPORT partials/category/filter-dropdown-left.tpl -->
|
|
25
25
|
<!-- IMPORT partials/tags/watch.tpl -->
|
|
26
26
|
{{{ end }}}
|
|
27
|
-
<!-- IMPORT partials/category/tools.tpl -->
|
|
27
|
+
<!-- IMPORT partials/category/tools-dropdown-left.tpl -->
|
|
28
28
|
|
|
29
29
|
{{{ if (!feeds:disableRSS && rssFeedUrl) }}}
|
|
30
|
-
<a class="btn-ghost-sm d-none d-lg-flex align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
|
|
30
|
+
<a class="btn btn-ghost btn-sm d-none d-lg-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
|
|
31
31
|
{{{ end }}}
|
|
32
32
|
|
|
33
33
|
<a href="{{{ if (template.category || template.world) }}}{url}{{{ else }}}{config.relative_path}/{selectedFilter.url}{querystring}{{{ end }}}" class="btn btn-secondary fw-semibold position-absolute top-100 translate-middle-x start-50 mt-1 hide" style="--bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem;" id="new-topics-alert">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet {{{ if !terms.length }}}hidden{{{ end }}}">
|
|
2
|
-
<button type="button" class="btn-ghost-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
2
|
+
<button type="button" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-center gap-2 dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
3
3
|
<i class="fa fa-fw fa-clock text-primary"></i>
|
|
4
4
|
<span class="visible-md-inline visible-lg-inline fw-semibold">{selectedTerm.name}</span>
|
|
5
5
|
</button>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<a href="{config.relative_path}/user/{./userslug}" class="btn-ghost ff-
|
|
1
|
+
<a href="{config.relative_path}/user/{./userslug}" class="btn btn-ghost gap-2 ff-base d-flex align-items-start justify-content-start p-2 text-start">
|
|
2
2
|
{buildAvatar(@value, "48px", true, "flex-shrink-0")}
|
|
3
|
-
<div class="d-flex flex-column text-truncate">
|
|
3
|
+
<div class="d-flex flex-column gap-1 text-truncate">
|
|
4
4
|
<div class="fw-semibold text-truncate" title="{./displayname}">{./displayname}</div>
|
|
5
5
|
<div class="text-xs text-muted text-truncate">@{./username}</div>
|
|
6
6
|
|