nodebb-theme-harmony 1.2.22 → 1.2.24
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/login.tpl +15 -17
- package/templates/partials/category/sort.tpl +2 -2
- package/templates/partials/category/watch.tpl +5 -5
- package/templates/partials/topic/reply-button.tpl +2 -2
- package/templates/partials/topic/sort.tpl +4 -5
- package/templates/register.tpl +12 -11
package/package.json
CHANGED
package/templates/login.tpl
CHANGED
|
@@ -10,29 +10,21 @@
|
|
|
10
10
|
{{{ if allowLocalLogin }}}
|
|
11
11
|
<div class="col-12 col-md-5 col-lg-3 px-md-0">
|
|
12
12
|
<div class="login-block">
|
|
13
|
-
<div class="alert alert-danger alert-dismissible" id="login-error-notify" {{{ if error }}}style="display:block"{{{ else }}}style="display: none;"{{{ end }}}>
|
|
14
|
-
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
15
|
-
<strong>[[login:failed-login-attempt]]</strong>
|
|
16
|
-
<p class="mb-0">{error}</p>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
13
|
<form class="d-flex flex-column gap-3" role="form" method="post" id="login-form">
|
|
20
14
|
<div class="mb-2 d-flex flex-column gap-2">
|
|
21
15
|
<label for="username">{allowLoginWith}</label>
|
|
22
|
-
<
|
|
23
|
-
<input class="form-control" type="text" placeholder="{allowLoginWith}" name="username" id="username" autocorrect="off" autocapitalize="off" autocomplete="nickname" value="{username}"/>
|
|
24
|
-
</div>
|
|
16
|
+
<input class="form-control" type="text" placeholder="{allowLoginWith}" name="username" id="username" autocorrect="off" autocapitalize="off" autocomplete="nickname" value="{username}" aria-required="true"/>
|
|
25
17
|
</div>
|
|
26
18
|
<div class="mb-2 d-flex flex-column gap-2">
|
|
27
19
|
<div class="d-flex justify-content-between align-items-center">
|
|
28
20
|
<label for="password">[[user:password]]</label>
|
|
29
21
|
{{{ if allowPasswordReset }}}
|
|
30
|
-
<a id="reset-link"
|
|
22
|
+
<a id="reset-link" class="text-sm text-reset text-decoration-underline" href="{config.relative_path}/reset">[[login:forgot-password]]</a>
|
|
31
23
|
{{{ end }}}
|
|
32
24
|
</div>
|
|
33
25
|
<div>
|
|
34
|
-
<input class="form-control" type="password" placeholder="[[user:password]]" name="password" id="password" autocomplete="current-password" autocapitalize="off" />
|
|
35
|
-
<p id="caps-lock-warning" class="text-danger hidden">
|
|
26
|
+
<input class="form-control" type="password" placeholder="[[user:password]]" name="password" id="password" autocomplete="current-password" autocapitalize="off" aria-required="true"/>
|
|
27
|
+
<p id="caps-lock-warning" class="text-danger hidden text-sm mb-0 form-text" aria-live="polite" role="alert" aria-atomic="true">
|
|
36
28
|
<i class="fa fa-exclamation-triangle"></i> [[login:caps-lock-enabled]]
|
|
37
29
|
</p>
|
|
38
30
|
</div>
|
|
@@ -44,18 +36,24 @@
|
|
|
44
36
|
</label>
|
|
45
37
|
</div>
|
|
46
38
|
</div>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<
|
|
39
|
+
|
|
40
|
+
{{{ each loginFormEntry }}}
|
|
41
|
+
<div class="mb-2 loginFormEntry d-flex flex-column gap-2 {./styleName}">
|
|
42
|
+
<label for="{./inputId}">{./label}</label>
|
|
43
|
+
<div>{{./html}}</div>
|
|
51
44
|
</div>
|
|
52
|
-
{{{end}}}
|
|
45
|
+
{{{ end }}}
|
|
53
46
|
|
|
54
47
|
<input type="hidden" name="_csrf" value="{config.csrf_token}" />
|
|
55
48
|
<input type="hidden" name="noscript" id="noscript" value="true" />
|
|
56
49
|
|
|
57
50
|
<button class="btn btn-primary" id="login" type="submit">[[global:login]]</button>
|
|
58
51
|
|
|
52
|
+
<div class="alert alert-danger {{{ if !error }}} hidden{{{ end }}}" id="login-error-notify" role="alert" aria-atomic="true">
|
|
53
|
+
<strong>[[login:failed-login-attempt]]</strong>
|
|
54
|
+
<p class="mb-0">{error}</p>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
59
57
|
<hr/>
|
|
60
58
|
|
|
61
59
|
{{{ if allowRegistration }}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
2
|
-
<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">
|
|
2
|
+
<button class="btn-ghost-sm ff-secondary d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false" aria-label="[[aria:topic-sort-option, {sortOptionLabel}]]">
|
|
3
3
|
<i class="fa fa-fw fa-arrow-down-wide-short text-primary"></i>
|
|
4
|
-
<span class="
|
|
4
|
+
<span class="d-none d-md-inline fw-semibold">{sortOptionLabel}</span>
|
|
5
5
|
</button>
|
|
6
6
|
|
|
7
7
|
<ul class="dropdown-menu p-1 text-sm" role="menu">
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{{{ if config.loggedIn }}}
|
|
2
2
|
<div class="btn-group bottom-sheet" component="topic/watch">
|
|
3
|
-
<button class="btn-ghost-sm ff-secondary
|
|
4
|
-
<span component="category/watching/menu" {{{ if !./isWatched }}}
|
|
3
|
+
<button class="btn-ghost-sm ff-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
|
|
4
|
+
<span component="category/watching/menu" class="d-flex gap-2 align-items-center {{{ if !./isWatched }}} hidden{{{ end }}}"><i class="fa fa-fw fa-bell-o text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold">[[category:watching]]</span></span>
|
|
5
5
|
|
|
6
|
-
<span component="category/tracking/menu" {{{ if !./isTracked }}}
|
|
6
|
+
<span component="category/tracking/menu" class="d-flex gap-2 align-items-center {{{ if !./isTracked }}} hidden{{{ end }}}"><i class="fa fa-fw fa-inbox text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold">[[category:tracking]]</span></span>
|
|
7
7
|
|
|
8
|
-
<span component="category/notwatching/menu" {{{ if !./isNotWatched }}}
|
|
8
|
+
<span component="category/notwatching/menu" class="d-flex gap-2 align-items-center {{{ if !./isNotWatched }}} hidden{{{ end }}}"><i class="fa fa-fw fa-clock-o text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold">[[category:not-watching]]</span></span>
|
|
9
9
|
|
|
10
|
-
<span component="category/ignoring/menu" {{{ if !./isIgnored }}}
|
|
10
|
+
<span component="category/ignoring/menu" class="d-flex gap-2 align-items-center {{{ if !./isIgnored }}} hidden{{{ end }}}"><i class="fa fa-fw fa-eye-slash text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold">[[category:ignoring]]</span></span>
|
|
11
11
|
</button>
|
|
12
12
|
|
|
13
13
|
<ul class="dropdown-menu p-1 text-sm {{{ if template.account/categories }}}dropdown-menu-end{{{ end }}}" role="menu">
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
{{{ if loggedIn }}}
|
|
12
12
|
{{{ if !privileges.topics:reply }}}
|
|
13
13
|
{{{ if locked }}}
|
|
14
|
-
<a component="topic/reply/locked" class="d-flex gap-2 align-items-center fw-semibold btn btn-sm btn-primary disabled" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
|
|
14
|
+
<a href="#" component="topic/reply/locked" class="d-flex gap-2 align-items-center fw-semibold btn btn-sm btn-primary disabled" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
|
|
15
15
|
{{{ end }}}
|
|
16
16
|
{{{ end }}}
|
|
17
17
|
|
|
18
18
|
{{{ if !locked }}}
|
|
19
|
-
<a component="topic/reply/locked" class="d-flex gap-2 align-items-center fw-semibold btn btn-sm btn-primary disabled hidden" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
|
|
19
|
+
<a href="#" component="topic/reply/locked" class="d-flex gap-2 align-items-center fw-semibold btn btn-sm btn-primary disabled hidden" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
|
|
20
20
|
{{{ end }}}
|
|
21
21
|
{{{ else }}}
|
|
22
22
|
{{{ if !privileges.topics:reply }}}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
2
|
-
<button class="btn-ghost-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
<span class="d-none d-md-inline fw-semibold">[[topic:sort-by]]</span>
|
|
6
|
-
</span>
|
|
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}]]">
|
|
3
|
+
<i class="fa fa-fw fa-arrow-down-wide-short text-primary"></i>
|
|
4
|
+
<span class="d-none d-md-inline fw-semibold">{sortOptionLabel}</span>
|
|
7
5
|
</button>
|
|
6
|
+
|
|
8
7
|
<ul class="dropdown-menu p-1 text-sm" role="menu">
|
|
9
8
|
<li>
|
|
10
9
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="oldest_to_newest" data-sort="oldest_to_newest" role="menuitem">
|
package/templates/register.tpl
CHANGED
|
@@ -10,17 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
<div class="col-12 col-md-5 col-lg-3 px-md-0">
|
|
12
12
|
<div class="register-block">
|
|
13
|
-
<div class="alert alert-danger{{{ if !error }}} hidden{{{ end }}}" id="register-error-notify" >
|
|
14
|
-
<strong>[[error:registration-error]]</strong>
|
|
15
|
-
<p>{error}</p>
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
13
|
<form component="register/local" class="d-flex flex-column gap-3" role="form" action="{config.relative_path}/register" method="post">
|
|
19
14
|
<div class="mb-2 d-flex flex-column gap-2">
|
|
20
15
|
<label for="username">[[register:username]]</label>
|
|
21
16
|
<div class="d-flex flex-column">
|
|
22
|
-
<input class="form-control" type="text" placeholder="[[register:username-placeholder]]" name="username" id="username" autocorrect="off" autocapitalize="off" autocomplete="nickname" aria-required="true"/>
|
|
23
|
-
<span class="register-feedback text-xs text-danger" id="username-notify"></span>
|
|
17
|
+
<input class="form-control" type="text" placeholder="[[register:username-placeholder]]" name="username" id="username" autocorrect="off" autocapitalize="off" autocomplete="nickname" aria-required="true" aria-describedby="username-notify"/>
|
|
18
|
+
<span class="register-feedback text-xs text-danger" id="username-notify" aria-live="polite"></span>
|
|
24
19
|
<span class="form-text text-xs">[[register:help.username-restrictions, {minimumUsernameLength}, {maximumUsernameLength}]]</span>
|
|
25
20
|
</div>
|
|
26
21
|
</div>
|
|
@@ -28,8 +23,8 @@
|
|
|
28
23
|
<div class="mb-2 d-flex flex-column gap-2">
|
|
29
24
|
<label for="password">[[register:password]]</label>
|
|
30
25
|
<div class="d-flex flex-column">
|
|
31
|
-
<input class="form-control" type="password" placeholder="[[register:password-placeholder]]" name="password" id="password" autocomplete="new-password" autocapitalize="off" aria-required="true" />
|
|
32
|
-
<span class="register-feedback text-xs text-danger" id="password-notify"></span>
|
|
26
|
+
<input class="form-control" type="password" placeholder="[[register:password-placeholder]]" name="password" id="password" autocomplete="new-password" autocapitalize="off" aria-required="true" aria-describedby="password-notify"/>
|
|
27
|
+
<span class="register-feedback text-xs text-danger" id="password-notify" aria-live="polite"></span>
|
|
33
28
|
<span class="form-text text-xs">[[register:help.minimum-password-length, {minimumPasswordLength}]]</span>
|
|
34
29
|
<p id="caps-lock-warning" class="text-danger hidden">
|
|
35
30
|
<i class="fa fa-exclamation-triangle"></i> [[login:caps-lock-enabled]]
|
|
@@ -40,8 +35,8 @@
|
|
|
40
35
|
<div class="mb-2 d-flex flex-column gap-2">
|
|
41
36
|
<label for="password-confirm">[[register:confirm-password]]</label>
|
|
42
37
|
<div>
|
|
43
|
-
<input class="form-control" type="password" placeholder="[[register:confirm-password-placeholder]]" name="password-confirm" id="password-confirm" autocomplete="new-password" autocapitalize="off" aria-required="true"/>
|
|
44
|
-
<span class="register-feedback text-xs text-danger" id="password-confirm-notify"></span>
|
|
38
|
+
<input class="form-control" type="password" placeholder="[[register:confirm-password-placeholder]]" name="password-confirm" id="password-confirm" autocomplete="new-password" autocapitalize="off" aria-required="true" aria-describedby="password-confirm-notify"/>
|
|
39
|
+
<span class="register-feedback text-xs text-danger" id="password-confirm-notify" aria-live="polite"></span>
|
|
45
40
|
</div>
|
|
46
41
|
</div>
|
|
47
42
|
|
|
@@ -53,6 +48,12 @@
|
|
|
53
48
|
{{{ end }}}
|
|
54
49
|
|
|
55
50
|
<button class="btn btn-primary" id="register" type="submit">[[register:register-now-button]]</button>
|
|
51
|
+
|
|
52
|
+
<div class="alert alert-danger{{{ if !error }}} hidden{{{ end }}}" id="register-error-notify" role="alert" aria-atomic="true">
|
|
53
|
+
<strong>[[error:registration-error]]</strong>
|
|
54
|
+
<p class="mb-0">{error}</p>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
56
57
|
<hr/>
|
|
57
58
|
|
|
58
59
|
<span class="text-sm">[[register:already-have-account]]</span>
|