nodebb-theme-harmony 3.0.15 → 3.1.0
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 +2 -2
- package/templates/account/blocks.tpl +6 -6
- package/templates/account/categories.tpl +9 -9
- package/templates/account/consent.tpl +21 -21
- package/templates/account/edit/password.tpl +8 -8
- package/templates/account/edit/username.tpl +6 -6
- package/templates/account/edit.tpl +22 -22
- package/templates/account/followers.tpl +2 -2
- package/templates/account/following.tpl +2 -2
- package/templates/account/groups.tpl +2 -2
- package/templates/account/info.tpl +33 -33
- package/templates/account/posts.tpl +7 -7
- package/templates/account/profile.tpl +7 -7
- package/templates/account/sessions.tpl +1 -1
- package/templates/account/settings.tpl +55 -55
- package/templates/account/shares.tpl +1 -1
- package/templates/account/theme.tpl +15 -16
- package/templates/account/topics.tpl +6 -6
- package/templates/account/uploads.tpl +3 -3
- package/templates/admin/plugins/harmony.tpl +14 -14
- package/templates/category.tpl +7 -7
- package/templates/header.tpl +1 -1
- package/templates/notifications.tpl +1 -1
- package/templates/partials/account/admin-menu.tpl +8 -8
- package/templates/partials/account/header.tpl +12 -10
- package/templates/partials/account/session-list.tpl +3 -3
- package/templates/partials/account/sidebar-left.tpl +18 -18
- package/templates/partials/buttons/newTopic.tpl +1 -1
- package/templates/partials/categories/item.tpl +2 -2
- package/templates/partials/categories/lastpost.tpl +4 -4
- package/templates/partials/category/subcategory.tpl +2 -2
- package/templates/partials/header/brand.tpl +2 -2
- package/templates/partials/mobile-nav.tpl +2 -2
- package/templates/partials/notifications_list.tpl +3 -3
- package/templates/partials/paginator.tpl +10 -10
- package/templates/partials/posts_list_item.tpl +2 -2
- package/templates/partials/quick-category-search-results.tpl +4 -4
- package/templates/partials/quick-search-results.tpl +4 -4
- package/templates/partials/sidebar/chats.tpl +5 -5
- package/templates/partials/sidebar/drafts.tpl +3 -3
- package/templates/partials/sidebar/logged-in-menu.tpl +4 -4
- package/templates/partials/sidebar/logged-out-menu.tpl +10 -10
- package/templates/partials/sidebar/notifications.tpl +5 -5
- package/templates/partials/sidebar/search-mobile.tpl +5 -5
- package/templates/partials/sidebar/search.tpl +5 -5
- package/templates/partials/sidebar/user-menu.tpl +20 -20
- package/templates/partials/sidebar-left.tpl +2 -2
- package/templates/partials/skin-switcher.tpl +3 -3
- package/templates/partials/topic/crosspost.tpl +2 -2
- package/templates/partials/topic/event.tpl +3 -3
- package/templates/partials/topic/mark-unread.tpl +1 -1
- package/templates/partials/topic/navigation-post.tpl +1 -1
- package/templates/partials/topic/navigator-mobile.tpl +4 -4
- package/templates/partials/topic/post-editor.tpl +1 -1
- package/templates/partials/topic/post-menu.tpl +1 -1
- package/templates/partials/topic/post.tpl +19 -19
- package/templates/partials/topic/quickreply.tpl +7 -5
- package/templates/partials/topic/reply-button.tpl +5 -5
- package/templates/partials/topic/selection-tooltip.tpl +1 -1
- package/templates/partials/topic/sort.tpl +4 -4
- package/templates/partials/topic/stats.tpl +11 -11
- package/templates/partials/topic/tools.tpl +1 -1
- package/templates/partials/topic/watch.tpl +9 -9
- package/templates/partials/topic-list-bar.tpl +12 -12
- package/templates/partials/topics_list.tpl +14 -14
- package/templates/partials/users_list_menu.tpl +6 -6
- package/templates/popular.tpl +1 -1
- package/templates/recent.tpl +3 -3
- package/templates/tag.tpl +2 -2
- package/templates/tags.tpl +3 -3
- package/templates/top.tpl +1 -1
- package/templates/topic.tpl +5 -5
- package/templates/unread.tpl +2 -2
- package/templates/users.tpl +4 -4
- package/templates/world.tpl +9 -9
- package/templates/partials/topic/post-placeholder.tpl +0 -15
|
@@ -2,7 +2,7 @@
|
|
|
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">
|
|
5
|
+
<h3 class="fw-semibold fs-5">{{tx("pages:account/shares", txEscape(username))}}</h3>
|
|
6
6
|
</div>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
<!-- IMPORT partials/account/header.tpl -->
|
|
2
2
|
|
|
3
3
|
<div class="mb-3 d-flex justify-content-between">
|
|
4
|
-
<h3 class="fw-semibold fs-5">
|
|
4
|
+
<h3 class="fw-semibold fs-5">{{tx("themes/harmony:settings.title")}}</h3>
|
|
5
5
|
|
|
6
|
-
<button id="save" type="button" class="btn btn-primary">
|
|
6
|
+
<button id="save" type="button" class="btn btn-primary">{{tx("global:save-changes")}}</button>
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
<form id="theme-settings" role="form">
|
|
10
10
|
<div class="form-check form-switch mb-3">
|
|
11
11
|
<input class="form-check-input" type="checkbox" role="switch" id="enableQuickReply" name="enableQuickReply" {{{ if theme.enableQuickReply }}}checked{{{ end }}}>
|
|
12
|
-
<label class="form-check-label" for="enableQuickReply">
|
|
12
|
+
<label class="form-check-label" for="enableQuickReply">{{tx("themes/harmony:settings.enableQuickReply")}}</label>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
15
|
<div class="form-check form-switch mb-3">
|
|
16
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">
|
|
17
|
+
<label for="enableBreadcrumbs" class="form-check-label">{{tx("themes/harmony:settings.enableBreadcrumbs")}}</label>
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
20
|
<div class="form-check form-switch mb-3">
|
|
21
21
|
<input class="form-check-input" type="checkbox" role="switch" id="centerHeaderElements" name="centerHeaderElements" {{{ if theme.centerHeaderElements }}}checked{{{ end }}}>
|
|
22
|
-
<label class="form-check-label" for="centerHeaderElements">
|
|
22
|
+
<label class="form-check-label" for="centerHeaderElements">{{tx("themes/harmony:settings.centerHeaderElements")}}</label>
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
<div class="form-check form-switch mb-3">
|
|
26
26
|
<input class="form-check-input" type="checkbox" role="switch" id="mobileTopicTeasers" name="mobileTopicTeasers" {{{ if theme.mobileTopicTeasers }}}checked{{{ end }}}>
|
|
27
|
-
<label class="form-check-label" for="mobileTopicTeasers">
|
|
27
|
+
<label class="form-check-label" for="mobileTopicTeasers">{{tx("themes/harmony:settings.mobileTopicTeasers")}}</label>
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
30
|
<div class="form-check form-switch mb-3">
|
|
31
31
|
<input class="form-check-input" type="checkbox" role="switch" id="stickyToolbar" name="stickyToolbar" {{{ if theme.stickyToolbar }}}checked{{{ end }}}>
|
|
32
32
|
<label class="form-check-label" for="stickyToolbar">
|
|
33
|
-
|
|
33
|
+
{{tx("themes/harmony:settings.stickyToolbar")}}
|
|
34
34
|
<p class="form-text mb-0">
|
|
35
|
-
|
|
35
|
+
{{tx("themes/harmony:settings.stickyToolbar.help")}}
|
|
36
36
|
</p>
|
|
37
37
|
</label>
|
|
38
38
|
</div>
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
<div class="form-check form-switch mb-3">
|
|
41
41
|
<input class="form-check-input" type="checkbox" role="switch" id="topicSidebarTools" name="topicSidebarTools" {{{ if theme.topicSidebarTools }}}checked{{{ end }}}>
|
|
42
42
|
<label class="form-check-label" for="topicSidebarTools">
|
|
43
|
-
|
|
43
|
+
{{tx("themes/harmony:settings.topicSidebarTools")}}
|
|
44
44
|
<p class="form-text mb-0">
|
|
45
|
-
|
|
45
|
+
{{tx("themes/harmony:settings.topicSidebarTools.help")}}
|
|
46
46
|
</p>
|
|
47
47
|
</label>
|
|
48
48
|
</div>
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
<div class="form-check form-switch mb-3">
|
|
52
52
|
<input class="form-check-input" type="checkbox" role="switch" id="autohideBottombar" name="autohideBottombar" {{{ if theme.autohideBottombar }}}checked{{{ end }}}>
|
|
53
53
|
<label class="form-check-label" for="autohideBottombar">
|
|
54
|
-
|
|
54
|
+
{{tx("themes/harmony:settings.autohideBottombar")}}
|
|
55
55
|
<p class="form-text mb-0">
|
|
56
|
-
|
|
56
|
+
{{tx("themes/harmony:settings.autohideBottombar.help")}}
|
|
57
57
|
</p>
|
|
58
58
|
</label>
|
|
59
59
|
</div>
|
|
@@ -61,22 +61,21 @@
|
|
|
61
61
|
<div class="form-check form-switch mb-3">
|
|
62
62
|
<input class="form-check-input" type="checkbox" role="switch" id="topMobilebar" name="topMobilebar" {{{ if theme.topMobilebar }}}checked{{{ end }}}>
|
|
63
63
|
<label class="form-check-label" for="topMobilebar">
|
|
64
|
-
|
|
64
|
+
{{tx("themes/harmony:settings.topMobilebar")}}
|
|
65
65
|
</label>
|
|
66
66
|
</div>
|
|
67
67
|
|
|
68
68
|
<div class="form-check form-switch mb-3">
|
|
69
69
|
<input class="form-check-input" type="checkbox" role="switch" id="openSidebars" name="openSidebars" {{{ if theme.openSidebars }}}checked{{{ end }}}>
|
|
70
|
-
<label class="form-check-label" for="openSidebars">
|
|
70
|
+
<label class="form-check-label" for="openSidebars">{{tx("themes/harmony:settings.openSidebars")}}</label>
|
|
71
71
|
</div>
|
|
72
72
|
|
|
73
73
|
<div class="form-check form-switch mb-3">
|
|
74
74
|
<input class="form-check-input" type="checkbox" role="switch" id="chatModals" name="chatModals" {{{ if theme.chatModals }}}checked{{{ end }}}>
|
|
75
75
|
<label class="form-check-label" for="chatModals">
|
|
76
|
-
|
|
76
|
+
{{tx("themes/harmony:settings.chatModals")}}
|
|
77
77
|
</label>
|
|
78
78
|
</div>
|
|
79
|
-
|
|
80
79
|
</form>
|
|
81
80
|
|
|
82
81
|
<!-- IMPORT partials/account/footer.tpl -->
|
|
@@ -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 align-self-center">
|
|
5
|
+
<h3 class="fw-semibold fs-5 mb-0 align-self-center">{{tx("global:topics")}}</h3>
|
|
6
6
|
{{{ if showSort }}}
|
|
7
7
|
<div class="dropdown bottom-sheet" component="thread/sort">
|
|
8
|
-
<button title="
|
|
8
|
+
<button title="{{tx("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,10 +22,10 @@
|
|
|
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 btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/topics }}}active{{{ end }}}">
|
|
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 }}}">
|
|
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 }}}">
|
|
28
|
-
<a href="{config.relative_path}/user/{userslug}/read" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/read }}}active{{{ end }}}">
|
|
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 }}}">{{tx("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 }}}">{{tx("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 }}}">{{tx("user:ignored")}}</a>
|
|
28
|
+
<a href="{config.relative_path}/user/{userslug}/read" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/read }}}active{{{ end }}}">{{tx("user:read")}}</a>
|
|
29
29
|
{{{ end }}}
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<h3 class="fw-semibold fs-5">{{tx(title)}}</h3>
|
|
4
4
|
|
|
5
5
|
<div class="alert alert-info text-center">
|
|
6
|
-
{{{ if privateUploads }}}
|
|
6
|
+
{{{ if privateUploads }}}{{tx("uploads:private-uploads-info")}}{{{ else }}}{{tx("uploads:public-uploads-info")}}{{{ end }}}
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
{{{ if !uploads.length }}}
|
|
10
|
-
<div class="alert alert-warning text-center">
|
|
10
|
+
<div class="alert alert-warning text-center">{{tx("uploads:no-uploads-found")}}</div>
|
|
11
11
|
{{{ end }}}
|
|
12
12
|
|
|
13
13
|
<div class="table-responsive">
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<a class="text-break text-reset text-sm" href="{config.relative_path}{./url}">{./url}</a>
|
|
26
26
|
</td>
|
|
27
27
|
<td style="width: 1%; white-space: nowrap;">
|
|
28
|
-
<button class="btn btn-danger btn-sm" data-action="delete" aria-label="
|
|
28
|
+
<button class="btn btn-danger btn-sm" data-action="delete" aria-label="{{tx("aria:delete-upload-button")}}"><i class="fa fa-trash"></i></button>
|
|
29
29
|
</td>
|
|
30
30
|
</tr>
|
|
31
31
|
{{{ end }}}
|
|
@@ -6,62 +6,62 @@
|
|
|
6
6
|
<form role="form" class="harmony-settings">
|
|
7
7
|
<div class="form-check form-switch">
|
|
8
8
|
<input type="checkbox" class="form-check-input" id="enableQuickReply" name="enableQuickReply" />
|
|
9
|
-
<label for="enableQuickReply" class="form-check-label">
|
|
9
|
+
<label for="enableQuickReply" class="form-check-label">{{tx("themes/harmony:settings.enableQuickReply")}}</label>
|
|
10
10
|
</div>
|
|
11
11
|
<div class="form-check form-switch">
|
|
12
12
|
<input type="checkbox" class="form-check-input" id="enableBreadcrumbs" name="enableBreadcrumbs" />
|
|
13
|
-
<label for="enableBreadcrumbs" class="form-check-label">
|
|
14
|
-
<p class="form-text">
|
|
13
|
+
<label for="enableBreadcrumbs" class="form-check-label">{{tx("themes/harmony:settings.enableBreadcrumbs")}}</label>
|
|
14
|
+
<p class="form-text">{{tx("themes/harmony:settings.enableBreadcrumbs.why")}}</p>
|
|
15
15
|
</div>
|
|
16
16
|
<div class="form-check form-switch">
|
|
17
17
|
<input type="checkbox" class="form-check-input" id="centerHeaderElements" name="centerHeaderElements" />
|
|
18
|
-
<label for="centerHeaderElements" class="form-check-label">
|
|
18
|
+
<label for="centerHeaderElements" class="form-check-label">{{tx("themes/harmony:settings.centerHeaderElements")}}</label>
|
|
19
19
|
</div>
|
|
20
20
|
<div class="form-check form-switch">
|
|
21
21
|
<input type="checkbox" class="form-check-input" id="mobileTopicTeasers" name="mobileTopicTeasers" />
|
|
22
|
-
<label for="mobileTopicTeasers" class="form-check-label">
|
|
22
|
+
<label for="mobileTopicTeasers" class="form-check-label">{{tx("themes/harmony:settings.mobileTopicTeasers")}}</label>
|
|
23
23
|
</div>
|
|
24
24
|
<div class="form-check form-switch">
|
|
25
25
|
<input type="checkbox" class="form-check-input" id="stickyToolbar" name="stickyToolbar" />
|
|
26
26
|
<div for="stickyToolbar" class="form-check-label">
|
|
27
|
-
|
|
27
|
+
{{tx("themes/harmony:settings.stickyToolbar")}}
|
|
28
28
|
<p class="form-text">
|
|
29
|
-
|
|
29
|
+
{{tx("themes/harmony:settings.stickyToolbar.help")}}
|
|
30
30
|
</p>
|
|
31
31
|
</div>
|
|
32
32
|
</div>
|
|
33
33
|
<div class="form-check form-switch">
|
|
34
34
|
<input type="checkbox" class="form-check-input" id="topicSidebarTools" name="topicSidebarTools" />
|
|
35
35
|
<div for="topicSidebarTools" class="form-check-label">
|
|
36
|
-
|
|
36
|
+
{{tx("themes/harmony:settings.topicSidebarTools")}}
|
|
37
37
|
<p class="form-text">
|
|
38
|
-
|
|
38
|
+
{{tx("themes/harmony:settings.topicSidebarTools.help")}}
|
|
39
39
|
</p>
|
|
40
40
|
</div>
|
|
41
41
|
</div>
|
|
42
42
|
<div class="form-check form-switch">
|
|
43
43
|
<input type="checkbox" class="form-check-input" id="autohideBottombar" name="autohideBottombar" />
|
|
44
44
|
<div for="autohideBottombar" class="form-check-label">
|
|
45
|
-
|
|
45
|
+
{{tx("themes/harmony:settings.autohideBottombar")}}
|
|
46
46
|
<p class="form-text">
|
|
47
|
-
|
|
47
|
+
{{tx("themes/harmony:settings.autohideBottombar.help")}}
|
|
48
48
|
</p>
|
|
49
49
|
</div>
|
|
50
50
|
</div>
|
|
51
51
|
<div class="form-check form-switch">
|
|
52
52
|
<input type="checkbox" class="form-check-input" id="topMobilebar" name="topMobilebar" />
|
|
53
53
|
<div for="topMobilebar" class="form-check-label">
|
|
54
|
-
|
|
54
|
+
{{tx("themes/harmony:settings.topMobilebar")}}
|
|
55
55
|
</div>
|
|
56
56
|
</div>
|
|
57
57
|
<div class="form-check form-switch">
|
|
58
58
|
<input type="checkbox" class="form-check-input" id="openSidebars" name="openSidebars" />
|
|
59
|
-
<label for="openSidebars" class="form-check-label">
|
|
59
|
+
<label for="openSidebars" class="form-check-label">{{tx("themes/harmony:settings.openSidebars")}}</label>
|
|
60
60
|
</div>
|
|
61
61
|
<div class="form-check form-switch">
|
|
62
62
|
<input type="checkbox" class="form-check-input" id="chatModals" name="chatModals" />
|
|
63
63
|
<div for="chatModals" class="form-check-label">
|
|
64
|
-
|
|
64
|
+
{{tx("themes/harmony:settings.chatModals")}}
|
|
65
65
|
</div>
|
|
66
66
|
</div>
|
|
67
67
|
</form>
|
package/templates/category.tpl
CHANGED
|
@@ -11,20 +11,20 @@
|
|
|
11
11
|
<div class="d-flex flex-wrap gap-2 align-items-center {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
|
|
12
12
|
<span class="badge text-body border border-gray-300 stats text-xs">
|
|
13
13
|
<span title="{formattedNumber(totalTopicCount)}" class="fw-bold">{humanReadableNumber(totalTopicCount)}</span>
|
|
14
|
-
<span class="text-lowercase fw-normal">
|
|
14
|
+
<span class="text-lowercase fw-normal">{{tx("global:topics")}}</span>
|
|
15
15
|
</span>
|
|
16
16
|
<span class="badge text-body border border-gray-300 stats text-xs">
|
|
17
17
|
<span title="{formattedNumber(totalPostCount)}" class="fw-bold">{humanReadableNumber(totalPostCount)}</span>
|
|
18
|
-
<span class="text-lowercase fw-normal">
|
|
18
|
+
<span class="text-lowercase fw-normal">{{tx("global:posts")}}</span>
|
|
19
19
|
</span>
|
|
20
20
|
{{{ if !isNumber(cid) }}}
|
|
21
21
|
<a href="{./url}" class="badge text-body border border-gray-300 text-xs" data-ajaxify="false">
|
|
22
|
-
<span class="fw-normal">
|
|
22
|
+
<span class="fw-normal">{{tx("category:view-original")}}</span>
|
|
23
23
|
<i class="fa fa-external-link"></i>
|
|
24
24
|
</a>
|
|
25
25
|
{{{ end }}}
|
|
26
26
|
{{{ if (!feeds:disableRSS && rssFeedUrl) }}}
|
|
27
|
-
<a class="badge text-body text-decoration-none border border-gray-300 d-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="
|
|
27
|
+
<a class="badge text-body text-decoration-none border border-gray-300 d-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="{{tx("global:rss-feed")}}"><i class="fa fa-rss fa-sm text-muted lh-1"></i></a>
|
|
28
28
|
{{{ end }}}
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
{{{ end }}}
|
|
37
37
|
{{{ if ./handleFull }}}
|
|
38
38
|
<p class="text-secondary text-sm fst-italic mb-0 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}}">
|
|
39
|
-
|
|
39
|
+
{{tx("category:handle.description", txEscape(handleFull))}}
|
|
40
40
|
<a href="#" class="link-secondary" data-action="copy" data-clipboard-text="{handleFull}"><i class="fa fa-fw fa-copy" aria-hidden="true"></i></a>
|
|
41
41
|
</p>
|
|
42
42
|
{{{ end }}}
|
|
@@ -60,14 +60,14 @@
|
|
|
60
60
|
{{{ if (./inbox && (./hasFollowers == false)) }}}
|
|
61
61
|
<div class="alert alert-warning mb-4" id="category-no-followers" data-bs-toggle="dropdown" data-bs-target='[component="topic/watch"] button' aria-hidden="true">
|
|
62
62
|
<i class="fa fa-triangle-exclamation pe-2"></i>
|
|
63
|
-
|
|
63
|
+
{{tx("category:no-followers")}}
|
|
64
64
|
<a href="#" class="stretched-link"></a>
|
|
65
65
|
</div>
|
|
66
66
|
{{{ end }}}
|
|
67
67
|
|
|
68
68
|
{{{ if (!topics.length && privileges.topics:create) }}}
|
|
69
69
|
<div class="alert alert-info" id="category-no-topics">
|
|
70
|
-
|
|
70
|
+
{{tx("category:no-topics")}}
|
|
71
71
|
</div>
|
|
72
72
|
{{{ end }}}
|
|
73
73
|
|
package/templates/header.tpl
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
</head>
|
|
24
24
|
|
|
25
25
|
<body class="{bodyClass} skin-{{{if bootswatchSkin}}}{bootswatchSkin}{{{else}}}noskin{{{end}}}">
|
|
26
|
-
<a class="visually-hidden-focusable position-absolute top-0 start-0 p-3 m-3 bg-body" style="z-index: 1021;" href="#content">
|
|
26
|
+
<a class="visually-hidden-focusable position-absolute top-0 start-0 p-3 m-3 bg-body" style="z-index: 1021;" href="#content">{{tx("global:skip-to-content")}}</a>
|
|
27
27
|
|
|
28
28
|
{{{ if config.theme.topMobilebar }}}
|
|
29
29
|
<!-- IMPORT partials/mobile-header.tpl -->
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="d-flex flex-column flex-md-row">
|
|
3
3
|
<div class="d-flex flex-column flex-shrink-0 pe-2 border-end-md text-sm mb-3 flex-basis-md-200 gap-2">
|
|
4
4
|
|
|
5
|
-
<button class="btn btn-sm btn-primary w-100" component="notifications/mark_all"><i class="fa fa-check-double"></i>
|
|
5
|
+
<button class="btn btn-sm btn-primary w-100" component="notifications/mark_all"><i class="fa fa-check-double"></i> {{tx("notifications:mark-all-read")}}</button>
|
|
6
6
|
|
|
7
7
|
<div class="nav sticky-top d-flex flex-row flex-md-column flex-wrap gap-1" style="z-index: 1;">
|
|
8
8
|
{{{ each filters }}}
|
|
@@ -4,32 +4,32 @@
|
|
|
4
4
|
</button>
|
|
5
5
|
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm account-sub-links" role="menu">
|
|
6
6
|
<li>
|
|
7
|
-
<a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}/info" role="menuitem">
|
|
7
|
+
<a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}/info" role="menuitem">{{tx("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 rounded-1" component="account/ban" href="#" role="menuitem">
|
|
14
|
+
<a class="dropdown-item rounded-1" component="account/ban" href="#" role="menuitem">{{tx("user:ban-account")}}</a>
|
|
15
15
|
</li>
|
|
16
16
|
<li class="{{{ if !banned }}}hide{{{ end }}}">
|
|
17
|
-
<a class="dropdown-item rounded-1" component="account/unban" href="#" role="menuitem">
|
|
17
|
+
<a class="dropdown-item rounded-1" component="account/unban" href="#" role="menuitem">{{tx("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 rounded-1" component="account/mute" href="#" role="menuitem">
|
|
22
|
+
<a class="dropdown-item rounded-1" component="account/mute" href="#" role="menuitem">{{tx("user:mute-account")}}</a>
|
|
23
23
|
</li>
|
|
24
24
|
<li class="{{{ if !muted }}}hide{{{ end }}}">
|
|
25
|
-
<a class="dropdown-item rounded-1" component="account/unmute" href="#" role="menuitem">
|
|
25
|
+
<a class="dropdown-item rounded-1" component="account/unmute" href="#" role="menuitem">{{tx("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 rounded-1" role="menuitem">
|
|
31
|
-
<a component="account/delete-content" href="#" class="dropdown-item rounded-1" role="menuitem">
|
|
32
|
-
<a component="account/delete-all" href="#" class="dropdown-item rounded-1" role="menuitem">
|
|
30
|
+
<a component="account/delete-account" href="#" class="dropdown-item rounded-1" role="menuitem">{{tx("user:delete-account-as-admin")}}</a>
|
|
31
|
+
<a component="account/delete-content" href="#" class="dropdown-item rounded-1" role="menuitem">{{tx("user:delete-content")}}</a>
|
|
32
|
+
<a component="account/delete-all" href="#" class="dropdown-item rounded-1" role="menuitem">{{tx("user:delete-all")}}</a>
|
|
33
33
|
</li>
|
|
34
34
|
{{{ end }}}
|
|
35
35
|
</ul>
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<a href="#" class="resize p-2 m-2 rounded-1 text-bg-light opacity-75"><i class="fa fa-fw fa-arrows"></i></a>
|
|
8
8
|
<a href="#" class="remove p-2 m-2 rounded-1 text-bg-light opacity-75"><i class="fa fa-fw fa-times"></i></a>
|
|
9
9
|
</div>
|
|
10
|
-
<a href="#" class="save btn btn-primary">
|
|
11
|
-
<div class="indicator text-bg-primary">
|
|
10
|
+
<a href="#" class="save btn btn-primary">{{tx("groups:cover-save")}} <i class="fa fa-fw fa-floppy-o"></i></a>
|
|
11
|
+
<div class="indicator text-bg-primary">{{tx("groups:cover-saving")}} <i class="fa fa-fw fa-refresh fa-spin"></i></div>
|
|
12
12
|
{{{ end }}}
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
@@ -44,18 +44,18 @@
|
|
|
44
44
|
{{{ if banned }}}
|
|
45
45
|
<div class="text-sm text-muted">
|
|
46
46
|
{{{ if banned_until }}}
|
|
47
|
-
|
|
47
|
+
{{tx("user:info.banned-until", isoTimeToLocaleString(./banned_until_readable, config.userLang))}}
|
|
48
48
|
{{{ else }}}
|
|
49
|
-
|
|
49
|
+
{{tx("user:info.banned-permanently")}}
|
|
50
50
|
{{{ end }}}
|
|
51
51
|
</div>
|
|
52
52
|
{{{ end }}}
|
|
53
53
|
{{{ if muted }}}
|
|
54
54
|
<div class="text-sm text-muted">
|
|
55
55
|
{{{ if mutedUntil }}}
|
|
56
|
-
|
|
56
|
+
{{tx("user:info.muted-until", isoTimeToLocaleString(./muted_until_readable, config.userLang))}}
|
|
57
57
|
{{{ else }}}
|
|
58
|
-
|
|
58
|
+
{{tx("user:info.muted-permanently")}}
|
|
59
59
|
{{{ end }}}
|
|
60
60
|
</div>
|
|
61
61
|
{{{ end }}}
|
|
@@ -65,19 +65,21 @@
|
|
|
65
65
|
|
|
66
66
|
<div class="flex-shrink-0 d-flex gap-1 align-self-stretch align-self-md-start justify-content-end">
|
|
67
67
|
{{{ if !isSelf }}}
|
|
68
|
-
<a component="account/unfollow" href="#" class="btn btn-outline-warning flex-fill{{{ if (!isFollowing && !isFollowPending) }}} hide{{{ end }}}">
|
|
69
|
-
|
|
68
|
+
<a component="account/unfollow" href="#" class="btn btn-outline-warning flex-fill{{{ if (!isFollowing && !isFollowPending) }}} hide{{{ end }}}">
|
|
69
|
+
{{{ if isFollowPending }}}{{tx("user:cancel-follow")}}{{{ else }}}{{tx("user:unfollow")}}{{{ end }}}
|
|
70
|
+
</a>
|
|
71
|
+
<a component="account/follow" href="#" class="btn btn-primary flex-fill{{{ if (isFollowing || isFollowPending) }}} hide{{{ end }}}">{{tx("user:follow")}}</a>
|
|
70
72
|
{{{ end }}}
|
|
71
73
|
|
|
72
74
|
{{{ if (canChat && !banned) }}}
|
|
73
75
|
<div class="btn-group flex-fill">
|
|
74
|
-
<a {{{ if hasPrivateChat }}}component="account/chat"{{{ else }}}component="account/new-chat"{{{ end }}} href="#" class="btn btn-light" role="button">
|
|
76
|
+
<a {{{ if hasPrivateChat }}}component="account/chat"{{{ else }}}component="account/new-chat"{{{ end }}} href="#" class="btn btn-light" role="button">{{tx("user:chat")}}</a>
|
|
75
77
|
{{{ if hasPrivateChat}}}
|
|
76
78
|
<button type="button" class="btn btn-light dropdown-toggle flex-0" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
77
79
|
<i class="fa fa-caret-down"></i>
|
|
78
80
|
</button>
|
|
79
81
|
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu">
|
|
80
|
-
<li><a class="dropdown-item rounded-1" href="#" component="account/new-chat" role="menuitem"
|
|
82
|
+
<li><a class="dropdown-item rounded-1" href="#" component="account/new-chat" role="menuitem">{{tx("user:new-chat-with", txEscape(username))}}</a></li>
|
|
81
83
|
</ul>
|
|
82
84
|
{{{ end }}}
|
|
83
85
|
</div>
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
<div class="float-end">
|
|
4
4
|
{{{ if isSelfOrAdminOrGlobalModerator }}}
|
|
5
5
|
{{{ if !./current }}}
|
|
6
|
-
<button class="btn btn-sm btn-outline-secondary" type="button" data-action="revokeSession">
|
|
6
|
+
<button class="btn btn-sm btn-outline-secondary" type="button" data-action="revokeSession">{{tx("user:revoke-session")}}</button>
|
|
7
7
|
{{{ end }}}
|
|
8
8
|
{{{ end }}}
|
|
9
9
|
{{userAgentIcons(@value)}}
|
|
10
10
|
<i class="fa fa-circle text-{{{ if ./current }}}success{{{ else }}}muted{{{ end }}}"></i>
|
|
11
11
|
</div>
|
|
12
|
-
|
|
12
|
+
{{tx("user:browser-version-on-platform", ./browser, ./version, ./platform)}}<br />
|
|
13
13
|
<small class="timeago text-muted" title="{./datetimeISO}"></small>
|
|
14
14
|
<ul>
|
|
15
|
-
<li><strong>
|
|
15
|
+
<li><strong>{{tx("global:ip-address")}}</strong>: {./ip}</li>
|
|
16
16
|
</ul>
|
|
17
17
|
</li>
|
|
18
18
|
{{{ end }}}
|
|
@@ -1,7 +1,7 @@
|
|
|
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
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
|
-
<div class="flex-grow-1">
|
|
4
|
+
<div class="flex-grow-1">{{tx("global:about")}}</div>
|
|
5
5
|
</a>
|
|
6
6
|
|
|
7
7
|
<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-baseline
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
{{{ if template.account/upvoted }}}active{{{ end }}}
|
|
12
12
|
{{{ if template.account/downvoted }}}active{{{ end }}}
|
|
13
13
|
{{{ if template.account/bookmarks }}}active{{{ end }}}">
|
|
14
|
-
<div class="flex-grow-1">
|
|
14
|
+
<div class="flex-grow-1">{{tx("global:posts")}}</div>
|
|
15
15
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.posts)}">{humanReadableNumber(counts.posts)}</span>
|
|
16
16
|
</a>
|
|
17
17
|
|
|
@@ -19,57 +19,57 @@
|
|
|
19
19
|
{{{ if template.account/topics }}}active{{{ end }}}
|
|
20
20
|
{{{ if template.account/watched }}}active{{{ end }}}
|
|
21
21
|
{{{ if template.account/ignored }}}active{{{ end }}}">
|
|
22
|
-
<div class="flex-grow-1">
|
|
22
|
+
<div class="flex-grow-1">{{tx("global:topics")}}</div>
|
|
23
23
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.topics)}">{humanReadableNumber(counts.topics)}</span>
|
|
24
24
|
</a>
|
|
25
25
|
|
|
26
26
|
<a href="{config.relative_path}/user/{userslug}/shares" class="btn btn-ghost btn-sm text-start ff-secondary fw-semibold d-flex gap-2 align-items-baseline
|
|
27
27
|
{{{ if template.account/shares }}}active{{{ end }}}">
|
|
28
|
-
<div class="flex-grow-1">
|
|
28
|
+
<div class="flex-grow-1">{{tx("user:shares")}}</div>
|
|
29
29
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.shares)}">{humanReadableNumber(counts.shares)}</span>
|
|
30
30
|
</a>
|
|
31
31
|
|
|
32
32
|
<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-baseline
|
|
33
33
|
{{{ if template.account/groups }}}active{{{ end }}}">
|
|
34
|
-
<div class="flex-grow-1">
|
|
34
|
+
<div class="flex-grow-1">{{tx("global:header.groups")}}</div>
|
|
35
35
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.groups)}">{humanReadableNumber(counts.groups)}</span>
|
|
36
36
|
</a>
|
|
37
37
|
|
|
38
38
|
<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-baseline
|
|
39
39
|
{{{ if template.account/followers }}}active{{{ end }}}">
|
|
40
|
-
<div class="flex-grow-1">
|
|
40
|
+
<div class="flex-grow-1">{{tx("user:followers")}}</div>
|
|
41
41
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.followers)}">{humanReadableNumber(counts.followers)}</span>
|
|
42
42
|
</a>
|
|
43
43
|
|
|
44
44
|
<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-baseline
|
|
45
45
|
{{{ if template.account/following }}}active{{{ end }}}">
|
|
46
|
-
<div class="flex-grow-1">
|
|
46
|
+
<div class="flex-grow-1">{{tx("user:following")}}</div>
|
|
47
47
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.following)}">{humanReadableNumber(counts.following)}</span>
|
|
48
48
|
</a>
|
|
49
49
|
|
|
50
50
|
{{{ if canEdit }}}
|
|
51
51
|
<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-baseline
|
|
52
52
|
{{{ if template.account/categories }}}active{{{ end }}}">
|
|
53
|
-
<div class="flex-grow-1">
|
|
53
|
+
<div class="flex-grow-1">{{tx("user:watched-categories")}}</div>
|
|
54
54
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.categoriesWatched)}">{humanReadableNumber(counts.categoriesWatched)}</span>
|
|
55
55
|
</a>
|
|
56
56
|
{{{ if isSelf }}}
|
|
57
57
|
<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-baseline
|
|
58
58
|
{{{ if template.account/tags }}}active{{{ end }}}">
|
|
59
|
-
<div class="flex-grow-1">
|
|
59
|
+
<div class="flex-grow-1">{{tx("user:watched-tags")}}</div>
|
|
60
60
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.tagsWatched)}">{humanReadableNumber(counts.tagsWatched)}</span>
|
|
61
61
|
</a>
|
|
62
62
|
{{{ end }}}
|
|
63
63
|
|
|
64
64
|
<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-baseline
|
|
65
65
|
{{{ if template.account/blocks }}}active{{{ end }}}">
|
|
66
|
-
<div class="flex-grow-1">
|
|
66
|
+
<div class="flex-grow-1">{{tx("user:blocked-users")}}</div>
|
|
67
67
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.blocks)}">{humanReadableNumber(counts.blocks)}</span>
|
|
68
68
|
</a>
|
|
69
69
|
|
|
70
70
|
<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-baseline
|
|
71
71
|
{{{ if template.account/uploads }}}active{{{ end }}}">
|
|
72
|
-
<div class="flex-grow-1">
|
|
72
|
+
<div class="flex-grow-1">{{tx("global:uploads")}}</div>
|
|
73
73
|
<span class="flex-shrink-0 text-xs" title="{formattedNumber(counts.uploaded)}">{humanReadableNumber(counts.uploaded)}</span>
|
|
74
74
|
</a>
|
|
75
75
|
{{{ end }}}
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
|
|
80
80
|
<a href="{remoteUrl}" target="_self" component="account/view-remote" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-baseline gap-2 text-start">
|
|
81
81
|
<i class="flex-shrink-0 fa-solid fa-globe"></i>
|
|
82
|
-
<div class="flex-grow-1 text-nowrap">
|
|
82
|
+
<div class="flex-grow-1 text-nowrap">{{tx("user:view-remote")}}</div>
|
|
83
83
|
</a>
|
|
84
84
|
{{{ end }}}
|
|
85
85
|
|
|
@@ -89,19 +89,19 @@
|
|
|
89
89
|
|
|
90
90
|
<a href="#" component="account/flag" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-baseline gap-2 text-start {{{if flagId }}}hidden{{{end}}}">
|
|
91
91
|
<i class="flex-shrink-0 fa-solid fa-flag text-danger"></i>
|
|
92
|
-
<div class="flex-grow-1 text-nowrap">
|
|
92
|
+
<div class="flex-grow-1 text-nowrap">{{tx("user:flag-profile")}}</div>
|
|
93
93
|
</a>
|
|
94
94
|
<a href="#" component="account/already-flagged" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-baseline gap-2 text-start {{{if !flagId }}}hidden{{{end}}}" data-flag-id="{flagId}">
|
|
95
95
|
<i class="flex-shrink-0 fa-solid fa-flag text-danger"></i>
|
|
96
|
-
<div class="flex-grow-1 text-nowrap">
|
|
96
|
+
<div class="flex-grow-1 text-nowrap">{{tx("user:profile-flagged")}}</div>
|
|
97
97
|
</a>
|
|
98
98
|
<a href="#" component="account/block" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-baseline gap-2 text-start {{{ if isBlocked }}}hidden{{{ end }}}">
|
|
99
99
|
<i class="flex-shrink-0 fa-solid fa-ban text-danger"></i>
|
|
100
|
-
<div class="flex-grow-1 text-nowrap">
|
|
100
|
+
<div class="flex-grow-1 text-nowrap">{{tx("user:block-user")}}</div>
|
|
101
101
|
</a>
|
|
102
102
|
<a href="#" component="account/unblock" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-baseline gap-2 text-start {{{ if !isBlocked }}}hidden{{{ end }}}">
|
|
103
103
|
<i class="flex-shrink-0 fa-solid fa-ban text-danger"></i>
|
|
104
|
-
<div class="flex-grow-1 text-nowrap">
|
|
104
|
+
<div class="flex-grow-1 text-nowrap">{{tx("user:unblock-user")}}</div>
|
|
105
105
|
</a>
|
|
106
106
|
{{{ end }}}
|
|
107
107
|
|
|
@@ -109,11 +109,11 @@
|
|
|
109
109
|
<hr class="w-100 my-2"/>
|
|
110
110
|
<a href="{config.relative_path}/user/{userslug}/edit" class="btn btn-ghost btn-sm ff-secondary text-xs text-start
|
|
111
111
|
{{{ if template.account/edit }}}active{{{ end }}}">
|
|
112
|
-
<div class="flex-grow-1">
|
|
112
|
+
<div class="flex-grow-1">{{tx("user:edit-profile")}}</div>
|
|
113
113
|
</a>
|
|
114
114
|
<a href="{config.relative_path}/user/{userslug}/settings" class="btn btn-ghost btn-sm ff-secondary text-xs text-start
|
|
115
115
|
{{{ if template.account/settings }}}active{{{ end }}}">
|
|
116
|
-
<div class="flex-grow-1">
|
|
116
|
+
<div class="flex-grow-1">{{tx("user:settings")}}</div>
|
|
117
117
|
</a>
|
|
118
118
|
{{{ end }}}
|
|
119
119
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<noscript><div class="dropdown" component="category-selector"></noscript>
|
|
2
2
|
<button component="category/post" for="category-dropdown-check" class="btn btn-primary btn-sm text-nowrap" id="new_topic" role="button">
|
|
3
|
-
|
|
3
|
+
{{tx("category:new-topic-button")}}
|
|
4
4
|
</button>
|
|
5
5
|
<noscript>
|
|
6
6
|
<input type="checkbox" class="hidden" id="category-dropdown-check" aria-hidden="true">
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
<div class="meta stats d-none d-lg-grid col-6 gap-1 pe-2 text-muted" style="grid-template-columns: 1fr 1fr;">
|
|
42
42
|
<div class="card card-header border-0 p-2 overflow-hidden rounded-1 d-flex flex-column align-items-center">
|
|
43
43
|
<span class="fs-5 ff-secondary lh-1" title="{formattedNumber(./totalTopicCount)}">{humanReadableNumber(./totalTopicCount, 0)}</span>
|
|
44
|
-
<span class="d-none d-xl-flex text-lowercase text-xs">
|
|
44
|
+
<span class="d-none d-xl-flex text-lowercase text-xs">{{tx("global:topics")}}</span>
|
|
45
45
|
<i class="d-xl-none fa fa-fw text-xs text-muted opacity-75 fa-list"></i>
|
|
46
46
|
</div>
|
|
47
47
|
<div class="card card-header border-0 p-2 overflow-hidden rounded-1 d-flex flex-column align-items-center">
|
|
48
48
|
<span class="fs-5 ff-secondary lh-1" title="{formattedNumber(./totalPostCount)}">{humanReadableNumber(./totalPostCount, 0)}</span>
|
|
49
|
-
<span class="d-none d-xl-flex text-lowercase text-xs">
|
|
49
|
+
<span class="d-none d-xl-flex text-lowercase text-xs">{{tx("global:posts")}}</span>
|
|
50
50
|
<i class="d-xl-none fa-regular fa-fw text-xs text-muted opacity-75 fa-message"></i>
|
|
51
51
|
</div>
|
|
52
52
|
</div>
|