nodebb-theme-harmony 1.1.71 → 1.1.73
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/templates/account/blocks.tpl +3 -3
- package/templates/account/categories.tpl +1 -1
- package/templates/account/consent.tpl +15 -15
- package/templates/account/edit/password.tpl +7 -7
- package/templates/account/edit/username.tpl +4 -4
- package/templates/account/edit.tpl +7 -7
- package/templates/account/followers.tpl +1 -1
- package/templates/account/following.tpl +1 -1
- package/templates/account/groups.tpl +1 -1
- package/templates/account/info.tpl +4 -4
- package/templates/account/profile.tpl +1 -1
- package/templates/account/settings.tpl +31 -31
- package/templates/account/theme.tpl +1 -1
- package/templates/category.tpl +1 -1
- package/templates/chat.tpl +1 -1
- package/templates/chats.tpl +1 -1
- package/templates/flags/detail.tpl +7 -7
- package/templates/groups/details.tpl +2 -2
- package/templates/groups/list.tpl +9 -9
- package/templates/login.tpl +5 -5
- package/templates/notifications.tpl +1 -1
- package/templates/partials/account/admin-menu.tpl +8 -8
- package/templates/partials/account/header.tpl +1 -1
- package/templates/partials/account/session-list.tpl +1 -1
- package/templates/partials/account/sidebar-left.tpl +3 -3
- package/templates/partials/buttons/newTopic.tpl +1 -1
- package/templates/partials/categories/lastpost.tpl +1 -1
- package/templates/partials/category/filter-dropdown-content.tpl +2 -2
- package/templates/partials/category/selector-dropdown-content.tpl +1 -1
- package/templates/partials/category/sort.tpl +6 -6
- package/templates/partials/category/tools.tpl +13 -13
- package/templates/partials/chats/dropdown.tpl +1 -1
- package/templates/partials/chats/message-window.tpl +1 -1
- package/templates/partials/flags/filters.tpl +1 -1
- package/templates/partials/groups/admin.tpl +10 -10
- package/templates/partials/groups/pending.tpl +2 -2
- package/templates/partials/notifications_list.tpl +1 -1
- package/templates/partials/post_bar.tpl +1 -1
- package/templates/partials/search-results.tpl +1 -1
- package/templates/partials/sidebar/chats.tpl +3 -3
- package/templates/partials/sidebar/drafts.tpl +1 -1
- package/templates/partials/sidebar/logged-out-menu.tpl +1 -1
- package/templates/partials/sidebar/notifications.tpl +2 -2
- package/templates/partials/topic/navigator-mobile.tpl +1 -1
- package/templates/partials/topic/post-editor.tpl +1 -1
- package/templates/partials/topic/post-menu-list.tpl +1 -1
- package/templates/partials/topic/post.tpl +2 -2
- package/templates/partials/topic/quickreply.tpl +1 -1
- package/templates/partials/topic/sort.tpl +7 -7
- package/templates/partials/topic/tools.tpl +1 -1
- package/templates/partials/topic/topic-menu-list.tpl +14 -14
- package/templates/partials/topic-list-bar.tpl +1 -1
- package/templates/partials/topics_list.tpl +6 -5
- package/templates/partials/users_list_menu.tpl +3 -3
- package/templates/popular.tpl +1 -1
- package/templates/post-queue.tpl +8 -8
- package/templates/recent.tpl +1 -1
- package/templates/register.tpl +8 -8
- package/templates/tag.tpl +2 -2
- package/templates/tags.tpl +1 -1
- package/templates/top.tpl +1 -1
- package/templates/unread.tpl +2 -2
package/templates/login.tpl
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<div class="login-block">
|
|
13
13
|
<div class="alert alert-danger alert-dismissible" id="login-error-notify" {{{ if error }}}style="display:block"{{{ else }}}style="display: none;"{{{ end }}}>
|
|
14
14
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
15
|
-
<strong>[[login:
|
|
15
|
+
<strong>[[login:failed-login-attempt]]</strong>
|
|
16
16
|
<p>{error}</p>
|
|
17
17
|
</div>
|
|
18
18
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<div class="d-flex justify-content-between align-items-center">
|
|
28
28
|
<label for="password">[[user:password]]</label>
|
|
29
29
|
{{{ if allowPasswordReset }}}
|
|
30
|
-
<a id="reset-link" tabindex="-1" class="text-sm text-reset text-decoration-underline" href="{config.relative_path}/reset">[[login:
|
|
30
|
+
<a id="reset-link" tabindex="-1" class="text-sm text-reset text-decoration-underline" href="{config.relative_path}/reset">[[login:forgot-password]]</a>
|
|
31
31
|
{{{ end }}}
|
|
32
32
|
</div>
|
|
33
33
|
<div>
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<div class="mb-2">
|
|
41
41
|
<div class="checkbox">
|
|
42
42
|
<label>
|
|
43
|
-
<input type="checkbox" name="remember" id="remember" checked /> [[login:
|
|
43
|
+
<input type="checkbox" name="remember" id="remember" checked /> [[login:remember-me]]
|
|
44
44
|
</label>
|
|
45
45
|
</div>
|
|
46
46
|
</div>
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
<hr/>
|
|
60
60
|
|
|
61
61
|
{{{ if allowRegistration }}}
|
|
62
|
-
<span class="text-sm">[[login:
|
|
62
|
+
<span class="text-sm">[[login:dont-have-account]]</span>
|
|
63
63
|
<a class="btn btn-outline-light text-body" href="{config.relative_path}/register">[[register:register]]</a>
|
|
64
64
|
{{{ end }}}
|
|
65
65
|
</form>
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
{{{ if alternate_logins }}}
|
|
71
71
|
<div class="col-12 col-md-5 col-lg-3 px-md-0">
|
|
72
72
|
<div class="alt-login-block d-flex flex-column gap-2">
|
|
73
|
-
<label>[[login:
|
|
73
|
+
<label>[[login:alternative-logins]]</label>
|
|
74
74
|
<ul class="alt-logins list-unstyled">
|
|
75
75
|
{{{ each authentication }}}
|
|
76
76
|
<li class="{./name} mb-2">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="notifications">
|
|
2
2
|
<div class="btn-toolbar justify-content-end" role="toolbar">
|
|
3
|
-
<button class="btn btn-sm btn-light" component="notifications/mark_all">[[notifications:
|
|
3
|
+
<button class="btn btn-sm btn-light" component="notifications/mark_all">[[notifications:mark-all-read]]</button>
|
|
4
4
|
</div>
|
|
5
5
|
|
|
6
6
|
<hr class="text-muted opacity-25"/>
|
|
@@ -4,32 +4,32 @@
|
|
|
4
4
|
</button>
|
|
5
5
|
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm account-sub-links">
|
|
6
6
|
<li>
|
|
7
|
-
<a class="dropdown-item rounded-1" href="{config.relative_path}/user/{userslug}/info">[[user:
|
|
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 rounded-1" component="account/ban" href="#">[[user:
|
|
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 rounded-1" component="account/unban" href="#">[[user:
|
|
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 rounded-1" component="account/mute" href="#">[[user:
|
|
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 rounded-1" component="account/unmute" href="#">[[user:
|
|
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 rounded-1">[[user:
|
|
31
|
-
<a component="account/delete-content" href="#" class="dropdown-item rounded-1">[[user:
|
|
32
|
-
<a component="account/delete-all" href="#" class="dropdown-item rounded-1">[[user:
|
|
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>
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
<i class="fa fa-caret-down"></i>
|
|
79
79
|
</button>
|
|
80
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:
|
|
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>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[[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>[[global:
|
|
15
|
+
<li><strong>[[global:ip-address]]</strong>: {../ip}</li>
|
|
16
16
|
</ul>
|
|
17
17
|
</li>
|
|
18
18
|
{{{ end }}}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
{{{ if canEdit }}}
|
|
42
42
|
<a href="{config.relative_path}/user/{userslug}/categories" class="btn-ghost fw-semibold
|
|
43
43
|
{{{ if template.account/categories }}}active{{{ end }}}">
|
|
44
|
-
<div class="flex-grow-1">[[user:
|
|
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 }}}
|
|
@@ -73,11 +73,11 @@
|
|
|
73
73
|
</a>
|
|
74
74
|
<a href="#" component="account/block" class="btn-ghost-sm {{{ if isBlocked }}}hidden{{{ end }}}">
|
|
75
75
|
<i class="flex-shrink-0 fa-solid fa-ban text-danger"></i>
|
|
76
|
-
<div class="flex-grow-1 text-nowrap">[[user:
|
|
76
|
+
<div class="flex-grow-1 text-nowrap">[[user:block-user]]</div>
|
|
77
77
|
</a>
|
|
78
78
|
<a href="#" component="account/unblock" class="btn-ghost-sm {{{ if !isBlocked }}}hidden{{{ end }}}">
|
|
79
79
|
<i class="flex-shrink-0 fa-solid fa-ban text-danger"></i>
|
|
80
|
-
<div class="flex-grow-1 text-nowrap">[[user:
|
|
80
|
+
<div class="flex-grow-1 text-nowrap">[[user:unblock-user]]</div>
|
|
81
81
|
</a>
|
|
82
82
|
{{{ end }}}
|
|
83
83
|
|
|
@@ -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
|
-
[[category:
|
|
3
|
+
[[category:new-topic-button]]
|
|
4
4
|
</button>
|
|
5
5
|
<noscript>
|
|
6
6
|
<input type="checkbox" class="hidden" id="category-dropdown-check" aria-hidden="true">
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
</span>
|
|
7
7
|
{{{ else }}}
|
|
8
8
|
<i class="fa fa-fw fa-list link-primary"></i>
|
|
9
|
-
<span class="visible-md-inline visible-lg-inline fw-semibold">[[unread:
|
|
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
12
|
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
@@ -14,7 +14,7 @@
|
|
|
14
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
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-grow-1">[[unread:
|
|
17
|
+
<div class="flex-grow-1">[[unread:all-categories]]</div>
|
|
18
18
|
<i component="category/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i>
|
|
19
19
|
</a>
|
|
20
20
|
</li>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</span>
|
|
8
8
|
{{{ else }}}
|
|
9
9
|
<i class="fa fa-fw {{{ if selectCategoryIcon }}}{selectCategoryIcon}{{{ else }}}fa-list{{{ end }}} text-primary"></i>
|
|
10
|
-
<span class="visible-md-inline visible-lg-inline fw-semibold">{{{ if selectCategoryLabel }}}{selectCategoryLabel}{{{ else }}}[[topic:
|
|
10
|
+
<span class="visible-md-inline visible-lg-inline fw-semibold">{{{ if selectCategoryLabel }}}{selectCategoryLabel}{{{ else }}}[[topic:thread-tools.select-category]]{{{ end }}}</span>
|
|
11
11
|
{{{ end }}}
|
|
12
12
|
</span>
|
|
13
13
|
</button>
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
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
|
-
<span class="visible-md-inline visible-lg-inline fw-semibold">[[topic:
|
|
4
|
+
<span class="visible-md-inline visible-lg-inline fw-semibold">[[topic:sort-by]]</span>
|
|
5
5
|
</button>
|
|
6
6
|
|
|
7
7
|
<ul class="dropdown-menu p-1 text-sm">
|
|
8
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">
|
|
9
|
-
<span class="flex-grow-1">[[topic:
|
|
9
|
+
<span class="flex-grow-1">[[topic:newest-to-oldest]]</span>
|
|
10
10
|
<i class="flex-shrink-0 fa fa-fw text-muted"></i>
|
|
11
11
|
</a></li>
|
|
12
12
|
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="oldest_to_newest" data-sort="oldest_to_newest">
|
|
13
|
-
<span class="flex-grow-1">[[topic:
|
|
13
|
+
<span class="flex-grow-1">[[topic:oldest-to-newest]]</span>
|
|
14
14
|
<i class="flex-shrink-0 fa fa-fw text-muted"></i>
|
|
15
15
|
</a></li>
|
|
16
16
|
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_posts" data-sort="most_posts">
|
|
17
|
-
<span class="flex-grow-1">[[topic:
|
|
17
|
+
<span class="flex-grow-1">[[topic:most-posts]]</span>
|
|
18
18
|
<i class="flex-shrink-0 fa fa-fw text-muted"></i>
|
|
19
19
|
</a></li>
|
|
20
20
|
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_votes" data-sort="most_votes">
|
|
21
|
-
<span class="flex-grow-1">[[topic:
|
|
21
|
+
<span class="flex-grow-1">[[topic:most-votes]]</span>
|
|
22
22
|
<i class="flex-shrink-0 fa fa-fw text-muted"></i>
|
|
23
23
|
</a></li>
|
|
24
24
|
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_views" data-sort="most_views">
|
|
25
|
-
<span class="flex-grow-1">[[topic:
|
|
25
|
+
<span class="flex-grow-1">[[topic:most-views]]</span>
|
|
26
26
|
<i class="flex-shrink-0 fa fa-fw text-muted"></i>
|
|
27
27
|
</a></li>
|
|
28
28
|
</ul>
|
|
@@ -2,34 +2,34 @@
|
|
|
2
2
|
<div class="btn-group thread-tools bottom-sheet">
|
|
3
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
|
-
<span class="visible-md-inline visible-lg-inline fw-semibold">[[topic:
|
|
5
|
+
<span class="visible-md-inline visible-lg-inline fw-semibold">[[topic:thread-tools.title]]</span>
|
|
6
6
|
<span component="topic/selected/badge" class="badge rounded-pill bg-secondary"></span>
|
|
7
7
|
</button>
|
|
8
8
|
<ul class="dropdown-menu p-1 text-sm">
|
|
9
9
|
<li>
|
|
10
10
|
<a component="topic/mark-unread-for-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
11
|
-
<i class="fa fa-fw text-muted fa-inbox"></i> [[topic:
|
|
11
|
+
<i class="fa fa-fw text-muted fa-inbox"></i> [[topic:thread-tools.markAsUnreadForAll]]
|
|
12
12
|
</a>
|
|
13
13
|
</li>
|
|
14
14
|
<li>
|
|
15
15
|
<a component="topic/pin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
16
|
-
<i class="fa fa-fw text-muted fa-thumb-tack"></i> [[topic:
|
|
16
|
+
<i class="fa fa-fw text-muted fa-thumb-tack"></i> [[topic:thread-tools.pin]]
|
|
17
17
|
</a>
|
|
18
18
|
</li>
|
|
19
19
|
<li>
|
|
20
20
|
<a component="topic/unpin" href="#" class="hidden dropdown-item rounded-1">
|
|
21
|
-
<i class="fa fa-fw text-muted fa-thumb-tack fa-rotate-90"></i> [[topic:
|
|
21
|
+
<i class="fa fa-fw text-muted fa-thumb-tack fa-rotate-90"></i> [[topic:thread-tools.unpin]]
|
|
22
22
|
</a>
|
|
23
23
|
</li>
|
|
24
24
|
|
|
25
25
|
<li>
|
|
26
26
|
<a component="topic/lock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
27
|
-
<i class="fa fa-fw text-muted fa-lock"></i> [[topic:
|
|
27
|
+
<i class="fa fa-fw text-muted fa-lock"></i> [[topic:thread-tools.lock]]
|
|
28
28
|
</a>
|
|
29
29
|
</li>
|
|
30
30
|
<li>
|
|
31
31
|
<a component="topic/unlock" href="#" class="hidden dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
32
|
-
<i class="fa fa-fw text-muted fa-unlock"></i> [[topic:
|
|
32
|
+
<i class="fa fa-fw text-muted fa-unlock"></i> [[topic:thread-tools.unlock]]
|
|
33
33
|
</a>
|
|
34
34
|
</li>
|
|
35
35
|
|
|
@@ -37,25 +37,25 @@
|
|
|
37
37
|
|
|
38
38
|
<li>
|
|
39
39
|
<a component="topic/move" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
40
|
-
<i class="fa fa-fw text-muted fa-arrows"></i> [[topic:
|
|
40
|
+
<i class="fa fa-fw text-muted fa-arrows"></i> [[topic:thread-tools.move]]
|
|
41
41
|
</a>
|
|
42
42
|
</li>
|
|
43
43
|
{{{if template.category}}}
|
|
44
44
|
<li>
|
|
45
45
|
<a component="topic/move-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
46
|
-
<i class="fa fa-fw text-muted fa-arrows"></i> [[topic:
|
|
46
|
+
<i class="fa fa-fw text-muted fa-arrows"></i> [[topic:thread-tools.move-all]]
|
|
47
47
|
</a>
|
|
48
48
|
</li>
|
|
49
49
|
{{{end}}}
|
|
50
50
|
<li>
|
|
51
51
|
<a component="topic/merge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
52
|
-
<i class="fa fa-fw text-muted fa-code-fork"></i> [[topic:
|
|
52
|
+
<i class="fa fa-fw text-muted fa-code-fork"></i> [[topic:thread-tools.merge]]
|
|
53
53
|
</a>
|
|
54
54
|
</li>
|
|
55
55
|
|
|
56
56
|
<li>
|
|
57
57
|
<a component="topic/tag" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
58
|
-
<i class="fa fa-fw text-muted fa-tag"></i> [[topic:
|
|
58
|
+
<i class="fa fa-fw text-muted fa-tag"></i> [[topic:thread-tools.tag]]
|
|
59
59
|
</a>
|
|
60
60
|
</li>
|
|
61
61
|
|
|
@@ -63,17 +63,17 @@
|
|
|
63
63
|
|
|
64
64
|
<li>
|
|
65
65
|
<a component="topic/delete" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
66
|
-
<i class="fa fa-fw text-muted fa-trash-o"></i> [[topic:
|
|
66
|
+
<i class="fa fa-fw text-muted fa-trash-o"></i> [[topic:thread-tools.delete]]
|
|
67
67
|
</a>
|
|
68
68
|
</li>
|
|
69
69
|
<li>
|
|
70
70
|
<a component="topic/restore" href="#" class="hidden dropdown-item rounded-1">
|
|
71
|
-
<i class="fa fa-fw text-muted fa-history"></i> [[topic:
|
|
71
|
+
<i class="fa fa-fw text-muted fa-history"></i> [[topic:thread-tools.restore]]
|
|
72
72
|
</a>
|
|
73
73
|
</li>
|
|
74
74
|
<li>
|
|
75
75
|
<a component="topic/purge" href="#" class="hidden dropdown-item rounded-1">
|
|
76
|
-
<i class="fa fa-fw text-muted fa-eraser"></i> [[topic:
|
|
76
|
+
<i class="fa fa-fw text-muted fa-eraser"></i> [[topic:thread-tools.purge]]
|
|
77
77
|
</a>
|
|
78
78
|
</li>
|
|
79
79
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{{ if !rooms.length }}}
|
|
2
2
|
<li class="text-center p-4 d-flex flex-column">
|
|
3
3
|
<div class="p-4"><i class="fa-solid fa-wind fs-2 text-muted"></i></div>
|
|
4
|
-
<div class="text-xs fw-semibold text-muted">[[modules:chat.
|
|
4
|
+
<div class="text-xs fw-semibold text-muted">[[modules:chat.no-active]]</div>
|
|
5
5
|
</li>
|
|
6
6
|
{{{ end }}}
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{{{ if !roomId }}}
|
|
10
10
|
<div class="d-flex flex-column align-items-center gap-3 my-auto">
|
|
11
11
|
<i class="fa-solid fa-wind fs-2 text-muted"></i>
|
|
12
|
-
<span class="text-muted text-sm">[[modules:chat.
|
|
12
|
+
<span class="text-muted text-sm">[[modules:chat.no-active]]</span>
|
|
13
13
|
</div>
|
|
14
14
|
{{{ else }}}
|
|
15
15
|
<div component="chat/header" class="d-flex align-items-center px-md-3 gap-3">
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<span class="visible-md-inline visible-lg-inline">{selectedCategory.name}</span>
|
|
21
21
|
</span>
|
|
22
22
|
{{{ else }}}
|
|
23
|
-
<span class="visible-md-inline visible-lg-inline">[[unread:
|
|
23
|
+
<span class="visible-md-inline visible-lg-inline">[[unread:all-categories]]</span>
|
|
24
24
|
{{{ end }}}
|
|
25
25
|
<span class="caret"></span>
|
|
26
26
|
</button>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="row">
|
|
4
4
|
<div class="col-12 col-lg-6">
|
|
5
5
|
<div class="mb-3">
|
|
6
|
-
<label class="form-label" for="name">[[groups:details.
|
|
6
|
+
<label class="form-label" for="name">[[groups:details.group-name]]</label>
|
|
7
7
|
<input {{{ if group.system }}}readonly{{{ end }}} class="form-control" name="name" id="name" type="text" value="{group.displayName}" />
|
|
8
8
|
</div>
|
|
9
9
|
<div class="mb-3">
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
<input class="form-check-input" name="private" type="checkbox"{{{ if group.private }}} checked{{{ end }}}>
|
|
17
17
|
{{{ if !allowPrivateGroups }}}
|
|
18
18
|
<p class="form-text">
|
|
19
|
-
[[groups:details.
|
|
19
|
+
[[groups:details.private-system-help]]
|
|
20
20
|
</p>
|
|
21
21
|
{{{ end }}}
|
|
22
22
|
<p class="form-text text-xs m-0">
|
|
23
|
-
[[groups:details.
|
|
23
|
+
[[groups:details.private-help]]
|
|
24
24
|
</p>
|
|
25
25
|
</div>
|
|
26
26
|
<div class="form-check">
|
|
27
27
|
<label class="form-check-label">[[groups:details.hidden]]</label>
|
|
28
28
|
<input class="form-check-input" name="hidden" type="checkbox"{{{ if group.hidden }}} checked{{{ end }}}>
|
|
29
29
|
<p class="form-text text-xs m-0">
|
|
30
|
-
[[groups:details.
|
|
30
|
+
[[groups:details.hidden-help]]
|
|
31
31
|
</p>
|
|
32
32
|
</div>
|
|
33
33
|
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
<div class="mb-2">
|
|
54
|
-
<label class="form-label text-xs text-muted" for="userTitle">[[groups:details.
|
|
54
|
+
<label class="form-label text-xs text-muted" for="userTitle">[[groups:details.badge-text]]</label>
|
|
55
55
|
<div class="d-flex gap-1">
|
|
56
56
|
<input component="groups/userTitleOption" class="form-control" name="userTitle" id="userTitle" type="text" maxlength="40" value="{group.userTitleEscaped}"{{{ if !group.userTitleEnabled }}} disabled{{{ end }}} />
|
|
57
|
-
<button component="groups/userTitleOption" type="button" class="btn btn-outline-secondary text-nowrap" data-action="icon-select"{{{ if !group.userTitleEnabled }}} disabled{{{ end }}}>[[groups:details.
|
|
57
|
+
<button component="groups/userTitleOption" type="button" class="btn btn-outline-secondary text-nowrap" data-action="icon-select"{{{ if !group.userTitleEnabled }}} disabled{{{ end }}}>[[groups:details.change-icon]]</button>
|
|
58
58
|
<input type="hidden" name="icon" value="{{{ if group.icon }}}{group.icon}{{{ end }}}" />
|
|
59
59
|
<div id="icons" class="hidden">
|
|
60
60
|
<div class="icon-container">
|
|
@@ -66,11 +66,11 @@
|
|
|
66
66
|
</div>
|
|
67
67
|
</div>
|
|
68
68
|
<div class="mb-2">
|
|
69
|
-
<label class="form-label text-xs text-muted" for="labelColor" class="badge-color-label">[[groups:details.
|
|
69
|
+
<label class="form-label text-xs text-muted" for="labelColor" class="badge-color-label">[[groups:details.change-label-colour]]</label>
|
|
70
70
|
<input class="form-control" component="groups/userTitleOption" type="color" name="labelColor" value="{{{ if group.labelColor }}}{group.labelColor}{{{ end }}}" />
|
|
71
71
|
</div>
|
|
72
72
|
<div class="mb-2">
|
|
73
|
-
<label class="form-label text-xs text-muted" for="color" class="badge-color-label">[[groups:details.
|
|
73
|
+
<label class="form-label text-xs text-muted" for="color" class="badge-color-label">[[groups:details.change-text-colour]]</label>
|
|
74
74
|
<input class="form-control" component="groups/userTitleOption" type="color" name="textColor" value="{{{ if group.textColor }}}{group.textColor}{{{ end }}}" />
|
|
75
75
|
</div>
|
|
76
76
|
</div>
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
</div>
|
|
89
89
|
</div>
|
|
90
90
|
|
|
91
|
-
<button class="btn btn-link text-danger float-end" type="button" data-action="delete">[[groups:details.
|
|
92
|
-
<button class="btn btn-primary" type="button" data-action="update">[[global:
|
|
91
|
+
<button class="btn btn-link text-danger float-end" type="button" data-action="delete">[[groups:details.delete-group]]</button>
|
|
92
|
+
<button class="btn btn-primary" type="button" data-action="update">[[global:save-changes]]</button>
|
|
93
93
|
</form>
|
|
94
94
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{{ if group.pending.length }}}
|
|
2
2
|
<div class="d-flex justify-content-end gap-2 mb-3">
|
|
3
|
-
<button class="btn btn-danger btn-sm" data-action="rejectAll">[[groups:pending.
|
|
4
|
-
<button class="btn btn-success btn-sm" data-action="acceptAll">[[groups:pending.
|
|
3
|
+
<button class="btn btn-danger btn-sm" data-action="rejectAll">[[groups:pending.reject-all]]</button>
|
|
4
|
+
<button class="btn btn-success btn-sm" data-action="acceptAll">[[groups:pending.accept-all]]</button>
|
|
5
5
|
|
|
6
6
|
</div>
|
|
7
7
|
{{{ end }}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{{ if !notifications.length }}}
|
|
2
2
|
<div class="no-notifs text-center p-4 d-flex flex-column">
|
|
3
3
|
<div class="p-4"><i class="fa-solid fa-wind fs-2 text-muted"></i></div>
|
|
4
|
-
<div class="text-xs fw-semibold text-muted">[[notifications:
|
|
4
|
+
<div class="text-xs fw-semibold text-muted">[[notifications:no-notifs]]</div>
|
|
5
5
|
</div>
|
|
6
6
|
{{{ end }}}
|
|
7
7
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
{{{ if loggedIn }}}
|
|
6
6
|
<button component="topic/mark-unread" class="btn-ghost-sm d-flex gap-2 align-items-center">
|
|
7
7
|
<i class="fa fa-fw fa-inbox text-primary"></i>
|
|
8
|
-
<span class="d-none d-md-inline fw-semibold">[[topic:
|
|
8
|
+
<span class="d-none d-md-inline fw-semibold">[[topic:mark-unread]]</span>
|
|
9
9
|
</button>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{{ if matchCount }}}
|
|
2
|
-
<div class="card card-header text-xs px-2 py-1 fw-semibold border-0 align-self-start">[[search:
|
|
2
|
+
<div class="card card-header text-xs px-2 py-1 fw-semibold border-0 align-self-start">[[search:results-matching, {matchCount}, {search_query}, {time}]] </div>
|
|
3
3
|
{{{ else }}}
|
|
4
4
|
{{{ if search_query }}}
|
|
5
5
|
<div class="badge text-bg-warning align-self-start">[[search:no-matches]]</div>
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
<li class="dropdown-divider"></li>
|
|
36
36
|
<li>
|
|
37
37
|
<div class="d-flex justify-content-center gap-1 flex-wrap">
|
|
38
|
-
<a component="chats/mark-all-read" role="button" href="#" class="btn btn-sm btn-light mark-all-read flex-fill text-nowrap text-truncate ff-secondary"><i class="fa fa-check-double"></i> [[modules:chat.
|
|
38
|
+
<a component="chats/mark-all-read" role="button" href="#" class="btn btn-sm btn-light mark-all-read flex-fill text-nowrap text-truncate ff-secondary"><i class="fa fa-check-double"></i> [[modules:chat.mark-all-read]]</a>
|
|
39
39
|
<!-- on md and up see all chats button goes to last room -->
|
|
40
|
-
<a class="d-none d-md-inline btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/user/{user.userslug}/chats{{{ if user.lastRoomId }}}/{user.lastRoomId}{{{ end }}}"><i class="fa fa-list"></i> [[modules:chat.
|
|
40
|
+
<a class="d-none d-md-inline btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/user/{user.userslug}/chats{{{ if user.lastRoomId }}}/{user.lastRoomId}{{{ end }}}"><i class="fa fa-list"></i> [[modules:chat.see-all]]</a>
|
|
41
41
|
<!-- on xs&sm the see all chats button goes to the list of chats -->
|
|
42
|
-
<a class="d-inline d-md-none btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/user/{user.userslug}/chats"><i class="fa fa-list"></i> [[modules:chat.
|
|
42
|
+
<a class="d-inline d-md-none btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/user/{user.userslug}/chats"><i class="fa fa-list"></i> [[modules:chat.see-all]]</a>
|
|
43
43
|
</div>
|
|
44
44
|
</li>
|
|
45
45
|
</ul>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
{{{ end }}}
|
|
38
38
|
|
|
39
39
|
{{{ if (./action == "posts.reply") }}}
|
|
40
|
-
<div class="text text-xs fw-semibold line-clamp-2 text-break">[[topic:composer.
|
|
40
|
+
<div class="text text-xs fw-semibold line-clamp-2 text-break">[[topic:composer.replying-to, "{./title}"]]</div>
|
|
41
41
|
{{{ end }}}
|
|
42
42
|
|
|
43
43
|
{{{ if (./action == "posts.edit") }}}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<hr class="my-2 mx-2 visible-open">
|
|
13
13
|
{{{ if allowRegistration }}}
|
|
14
14
|
<li class="nav-item mx-2" title="[[global:register]]">
|
|
15
|
-
<span class="text-xs visible-open">[[login:
|
|
15
|
+
<span class="text-xs visible-open">[[login:dont-have-account]]</span>
|
|
16
16
|
<a class="nav-link nav-btn" href="{relative_path}/register">
|
|
17
17
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
18
18
|
<span class="position-relative">
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
<li class="dropdown-divider"></li>
|
|
43
43
|
<li>
|
|
44
44
|
<div class="d-flex justify-content-center gap-1 flex-wrap">
|
|
45
|
-
<a role="button" href="#" class="btn btn-sm btn-light mark-all-read flex-fill text-nowrap text-truncate ff-secondary"><i class="fa fa-check-double"></i> [[notifications:
|
|
46
|
-
<a class="btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/notifications"><i class="fa fa-list"></i> [[notifications:
|
|
45
|
+
<a role="button" href="#" class="btn btn-sm btn-light mark-all-read flex-fill text-nowrap text-truncate ff-secondary"><i class="fa fa-check-double"></i> [[notifications:mark-all-read]]</a>
|
|
46
|
+
<a class="btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/notifications"><i class="fa fa-list"></i> [[notifications:see-all]]</a>
|
|
47
47
|
</div>
|
|
48
48
|
</li>
|
|
49
49
|
</ul>
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<button id="myNextPostBtn" class="btn btn-outline-secondary form-control text-truncate" disabled>[[topic:go-to-my-next-post]]</button>
|
|
53
53
|
</div>
|
|
54
54
|
<div class="col-6">
|
|
55
|
-
<input type="number" class="form-control" id="indexInput" placeholder="[[global:pagination.
|
|
55
|
+
<input type="number" class="form-control" id="indexInput" placeholder="[[global:pagination.enter-index]]">
|
|
56
56
|
</div>
|
|
57
57
|
</div>
|
|
58
58
|
</li>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<span data-editor="{editor.userslug}" component="post/editor" class="visually-hidden">[[global:
|
|
1
|
+
<span data-editor="{editor.userslug}" component="post/editor" class="visually-hidden">[[global:last-edited-by, {editor.username}]] <span class="timeago" title="{editedISO}"></span></span>
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
|
|
93
93
|
{{{ if postSharing.length }}}
|
|
94
94
|
{{{ if config.loggedIn }}}<li class="dropdown-divider"></li>{{{ end }}}
|
|
95
|
-
<li class="dropdown-header">[[topic:
|
|
95
|
+
<li class="dropdown-header">[[topic:share-this-post]]</li>
|
|
96
96
|
{{{ end }}}
|
|
97
97
|
{{{ each postSharing }}}
|
|
98
98
|
<li>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
</span>
|
|
48
48
|
|
|
49
49
|
<i component="post/edit-indicator" class="fa fa-edit text-muted{{{ if privileges.posts:history }}} pointer{{{ end }}} edit-icon {{{ if !posts.editor.username }}}hidden{{{ end }}}" title="[[global:edited-timestamp, {./editedISO}]]"></i>
|
|
50
|
-
<span data-editor="{posts.editor.userslug}" component="post/editor" class="visually-hidden">[[global:
|
|
50
|
+
<span data-editor="{posts.editor.userslug}" component="post/editor" class="visually-hidden">[[global:last-edited-by, {posts.editor.username}]] <span class="timeago" title="{posts.editedISO}"></span></span>
|
|
51
51
|
</div>
|
|
52
52
|
|
|
53
53
|
<div>
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
</span>
|
|
91
91
|
|
|
92
92
|
<span class="ms-2 replies-count fw-semibold" component="post/reply-count/text" data-replies="{posts.replies.count}">{posts.replies.text}</span>
|
|
93
|
-
<span class="ms-2 replies-last hidden-xs fw-semibold">[[topic:
|
|
93
|
+
<span class="ms-2 replies-last hidden-xs fw-semibold">[[topic:last-reply-time]] <span class="timeago" title="{posts.replies.timestampISO}"></span></span>
|
|
94
94
|
|
|
95
95
|
<i class="fa fa-fw fa-chevron-down" component="post/replies/open"></i>
|
|
96
96
|
<i class="fa fa-fw fa-chevron-up hidden" component="post/replies/close"></i>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<input type="hidden" name="_csrf" value="{config.csrf_token}" />
|
|
12
12
|
<div class="quickreply-message position-relative">
|
|
13
13
|
<textarea rows="4" name="content" component="topic/quickreply/text" class="form-control mousetrap" placeholder="[[modules:composer.textarea.placeholder]]"></textarea>
|
|
14
|
-
<div class="imagedrop"><div>[[topic:composer.
|
|
14
|
+
<div class="imagedrop"><div>[[topic:composer.drag-and-drop-images]]</div></div>
|
|
15
15
|
</div>
|
|
16
16
|
<div>
|
|
17
17
|
<div class="d-flex justify-content-end gap-2">
|
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
<button class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
3
3
|
<span class="d-flex gap-2 align-items-center">
|
|
4
4
|
<i class="fa fa-fw fa-arrow-down-wide-short text-primary"></i>
|
|
5
|
-
<span class="d-none d-md-inline fw-semibold">[[topic:
|
|
5
|
+
<span class="d-none d-md-inline fw-semibold">[[topic:sort-by]]</span>
|
|
6
6
|
</span>
|
|
7
7
|
</button>
|
|
8
8
|
<ul class="dropdown-menu p-1 text-sm">
|
|
9
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">
|
|
10
|
-
<span class="flex-grow-1">[[topic:
|
|
11
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
10
|
+
<span class="flex-grow-1">[[topic:oldest-to-newest]]</span>
|
|
11
|
+
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
12
12
|
</a>
|
|
13
13
|
</li>
|
|
14
14
|
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="newest_to_oldest" data-sort="newest_to_oldest">
|
|
15
|
-
<span class="flex-grow-1">[[topic:
|
|
16
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
15
|
+
<span class="flex-grow-1">[[topic:newest-to-oldest]]</span>
|
|
16
|
+
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
17
17
|
</a>
|
|
18
18
|
</li>
|
|
19
19
|
<li><a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_votes" data-sort="most_votes">
|
|
20
|
-
<span class="flex-grow-1">[[topic:
|
|
21
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
20
|
+
<span class="flex-grow-1">[[topic:most-votes]]</span>
|
|
21
|
+
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
22
22
|
</a>
|
|
23
23
|
</li>
|
|
24
24
|
</ul>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="btn-group thread-tools bottom-sheet">
|
|
3
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 link-primary"></i>
|
|
5
|
-
<span class="d-none d-md-inline fw-semibold">[[topic:
|
|
5
|
+
<span class="d-none d-md-inline fw-semibold">[[topic:thread-tools.title]]</span>
|
|
6
6
|
</button>
|
|
7
7
|
<ul class="dropdown-menu p-1 text-sm">
|
|
8
8
|
<li class="placeholder-wave"><a class="dropdown-item d-flex gap-2" href="#"><div class="placeholder bg-secondary rounded-1" style="width: 1em;"></div><div class="placeholder bg-secondary rounded-1 col-8"></div></a></li>
|