nodebb-theme-harmony 1.0.0-beta.30 → 1.0.0-beta.31

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-theme-harmony",
3
- "version": "1.0.0-beta.30",
3
+ "version": "1.0.0-beta.31",
4
4
  "nbbpm": {
5
5
  "compatibility": "^3.0.0"
6
6
  },
@@ -1,45 +1,39 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
- <div class="d-flex flex-column flex-md-row">
4
- <!-- IMPORT partials/account/sidebar-left.tpl -->
5
- <div class="account-content flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
6
- <div class="d-flex justify-content-between mb-3">
7
- <h3 class="fw-semibold fs-5">[[pages:account/blocks, {username}]]</h3>
8
- <div class="justify-content-end">
9
- <div class="dropdown">
10
- <div class="input-group">
11
- <input class="form-control form-control-sm" type="text" id="user-search" placeholder="[[users:enter_username]]" data-bs-toggle="dropdown" autocomplete="off"/>
12
- <button class="btn btn-primary btn-sm" type="button">
13
- <i class="fa fa-search"></i>
14
- </button>
15
- </div>
1
+ <!-- IMPORT partials/account/header.tpl -->
2
+ <div class="d-flex justify-content-between mb-3">
3
+ <h3 class="fw-semibold fs-5">[[pages:account/blocks, {username}]]</h3>
4
+ <div class="justify-content-end">
5
+ <div class="dropdown">
6
+ <div class="input-group">
7
+ <input class="form-control form-control-sm" type="text" id="user-search" placeholder="[[users:enter_username]]" data-bs-toggle="dropdown" autocomplete="off"/>
8
+ <button class="btn btn-primary btn-sm" type="button">
9
+ <i class="fa fa-search"></i>
10
+ </button>
11
+ </div>
16
12
 
17
- <ul component="blocks/search/list" class="dropdown-menu dropdown-menu-end block-edit overflow-auto" style="max-height:300px;">
18
- <li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
19
- {{{ each edit }}}
20
- <li class="">
21
- <div class="dropdown-item d-flex flex-nowrap gap-2 justify-content-between">
22
- <div class="text-truncate">
23
- <a href="{config.relative_path}/uid/{./uid}" class="text-decoration-none">{buildAvatar(edit, "24px", true)} {./username}</a>
24
- </div>
25
- <button class="btn btn-sm btn-primary text-nowrap" data-uid="{./uid}" data-action="toggle">[[user:block_toggle]]</button>
26
- </div>
27
- </li>
28
- {{{ end }}}
29
- </ul>
13
+ <ul component="blocks/search/list" class="dropdown-menu dropdown-menu-end block-edit overflow-auto" style="max-height:300px;">
14
+ <li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
15
+ {{{ each edit }}}
16
+ <li class="">
17
+ <div class="dropdown-item d-flex flex-nowrap gap-2 justify-content-between">
18
+ <div class="text-truncate">
19
+ <a href="{config.relative_path}/uid/{./uid}" class="text-decoration-none">{buildAvatar(edit, "24px", true)} {./username}</a>
20
+ </div>
21
+ <button class="btn btn-sm btn-primary text-nowrap" data-uid="{./uid}" data-action="toggle">[[user:block_toggle]]</button>
30
22
  </div>
31
- </div>
32
- </div>
33
- <div class="users">
34
- <div id="users-container" class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-2">
35
- {{{ each users }}}
36
- <!-- IMPORT partials/users/item.tpl -->
37
- {{{ end }}}
38
- </div>
39
- <div class="alert alert-warning text-center"{{{ if users.length }}} style="display: none;"{{{ end }}}>[[user:has_no_blocks]]</div>
40
- <!-- IMPORT partials/paginator.tpl -->
41
- </div>
23
+ </li>
24
+ {{{ end }}}
25
+ </ul>
42
26
  </div>
43
-
44
27
  </div>
45
- </div>
28
+ </div>
29
+ <div class="users">
30
+ <div id="users-container" class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-2">
31
+ {{{ each users }}}
32
+ <!-- IMPORT partials/users/item.tpl -->
33
+ {{{ end }}}
34
+ </div>
35
+ <div class="alert alert-warning text-center"{{{ if users.length }}} style="display: none;"{{{ end }}}>[[user:has_no_blocks]]</div>
36
+ <!-- IMPORT partials/paginator.tpl -->
37
+ </div>
38
+
39
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -1,33 +1,27 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
3
2
 
4
- <div class="d-flex flex-column flex-md-row">
5
- <!-- IMPORT partials/account/sidebar-left.tpl -->
6
- <div class="account-content flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
7
- <h3 class="fw-semibold fs-5">{title}</h3>
3
+ <h3 class="fw-semibold fs-5">{title}</h3>
8
4
 
9
- <div class="row">
10
- <div class="col-lg-12 mb-2">
11
- <div class="btn-group bottom-sheet" component="category/watch/all">
12
- <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button">
13
- <span>[[user:change_all]]</span>
14
- </button>
15
- <ul class="dropdown-menu">
16
- <li><a class="dropdown-item" href="#" component="category/watching" data-state="watching"><i class="fa fa-fw fa-inbox"></i> [[category:watching]]<p class="help-text"><small>[[category:watching.description]]</small></p></a></li>
17
- <li><a class="dropdown-item" href="#" component="category/notwatching" data-state="notwatching"><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]<p class="help-text"><small>[[category:not-watching.description]]</small></p></a></li>
18
- <li><a class="dropdown-item" href="#" component="category/ignoring" data-state="ignoring"><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]<p class="help-text"><small>[[category:ignoring.description]]</small></p></a></li>
19
- </ul>
20
- </div>
21
- </div>
22
- <div class="col-lg-12">
23
- <ul class="categories list-unstyled" itemscope itemtype="http://www.schema.org/ItemList">
24
- {{{each categories}}}
25
- <!-- IMPORT partials/account/category-item.tpl -->
26
- {{{end}}}
27
- </ul>
28
- <!-- IMPORT partials/paginator.tpl -->
29
- </div>
30
- </div>
31
- </div>
5
+ <div class="row">
6
+ <div class="col-lg-12 mb-2">
7
+ <div class="btn-group bottom-sheet" component="category/watch/all">
8
+ <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button">
9
+ <span>[[user:change_all]]</span>
10
+ </button>
11
+ <ul class="dropdown-menu">
12
+ <li><a class="dropdown-item" href="#" component="category/watching" data-state="watching"><i class="fa fa-fw fa-inbox"></i> [[category:watching]]<p class="help-text"><small>[[category:watching.description]]</small></p></a></li>
13
+ <li><a class="dropdown-item" href="#" component="category/notwatching" data-state="notwatching"><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]<p class="help-text"><small>[[category:not-watching.description]]</small></p></a></li>
14
+ <li><a class="dropdown-item" href="#" component="category/ignoring" data-state="ignoring"><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]<p class="help-text"><small>[[category:ignoring.description]]</small></p></a></li>
15
+ </ul>
32
16
  </div>
33
17
  </div>
18
+ <div class="col-lg-12">
19
+ <ul class="categories list-unstyled" itemscope itemtype="http://www.schema.org/ItemList">
20
+ {{{each categories}}}
21
+ <!-- IMPORT partials/account/category-item.tpl -->
22
+ {{{end}}}
23
+ </ul>
24
+ <!-- IMPORT partials/paginator.tpl -->
25
+ </div>
26
+
27
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -1,79 +1,73 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
2
+ <h3 class="fw-semibold fs-5">[[user:consent.title]]</h3>
3
3
 
4
- <div class="d-flex flex-column flex-md-row">
5
- <!-- IMPORT partials/account/sidebar-left.tpl -->
6
- <div class="account-content flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
7
- <h3 class="fw-semibold fs-5">[[user:consent.title]]</h3>
4
+ <p class="lead">[[user:consent.lead]]</p>
5
+ <p>[[user:consent.intro]]</p>
8
6
 
9
- <p class="lead">[[user:consent.lead]]</p>
10
- <p>[[user:consent.intro]]</p>
7
+ <hr />
11
8
 
12
- <hr />
13
-
14
- <div class="row">
15
- <div class="col-sm-6">
16
- <!-- IF gdpr_consent -->
17
- <div class="alert alert-success">
18
- <i class="fa fa-check float-end fa-3x"></i>
19
- [[user:consent.received]]
20
- </div>
21
- <!-- ELSE -->
22
- <div class="alert alert-warning">
23
- [[user:consent.not_received]]
24
- <br /><br />
25
- <div class="text-center">
26
- <button class="btn btn-warning" data-action="consent">[[user:consent.give]]</button>
27
- </div>
28
- </div>
29
- <!-- END -->
30
- <div class="card">
31
- <div class="card-body">
32
- <p>[[user:consent.email_intro]]</p>
33
- {{{ if digest.enabled }}}
34
- <p>[[user:consent.digest_frequency, {digest.frequency}]]</p>
35
- {{{ else }}}
36
- <p>[[user:consent.digest_off]]</p>
37
- {{{ end }}}
9
+ <div class="row">
10
+ <div class="col-sm-6">
11
+ <!-- IF gdpr_consent -->
12
+ <div class="alert alert-success">
13
+ <i class="fa fa-check float-end fa-3x"></i>
14
+ [[user:consent.received]]
15
+ </div>
16
+ <!-- ELSE -->
17
+ <div class="alert alert-warning">
18
+ [[user:consent.not_received]]
19
+ <br /><br />
20
+ <div class="text-center">
21
+ <button class="btn btn-warning" data-action="consent">[[user:consent.give]]</button>
22
+ </div>
23
+ </div>
24
+ <!-- END -->
25
+ <div class="card">
26
+ <div class="card-body">
27
+ <p>[[user:consent.email_intro]]</p>
28
+ {{{ if digest.enabled }}}
29
+ <p>[[user:consent.digest_frequency, {digest.frequency}]]</p>
30
+ {{{ else }}}
31
+ <p>[[user:consent.digest_off]]</p>
32
+ {{{ end }}}
38
33
 
39
- <div class="d-grid">
40
- <a class="btn btn-outline-secondary" href="./settings">
41
- <i class="fa fa-cog"></i>
42
- [[pages:account/settings]]
43
- </a>
44
- </div>
45
- </div>
46
- </div>
34
+ <div class="d-grid">
35
+ <a class="btn btn-outline-secondary" href="./settings">
36
+ <i class="fa fa-cog"></i>
37
+ [[pages:account/settings]]
38
+ </a>
47
39
  </div>
48
- <div class="col-sm-6">
49
- <div class="card">
50
- <div class="card-body">
51
- <p><strong>[[user:consent.right_of_access]]</strong></p>
52
- <p>[[user:consent.right_of_access_description]]</p>
53
- <p><strong>[[user:consent.right_to_rectification]]</strong></p>
54
- <p>[[user:consent.right_to_rectification_description]]</p>
55
- <p><strong>[[user:consent.right_to_erasure]]</strong></p>
56
- <p>[[user:consent.right_to_erasure_description]]</p>
57
- <p><strong>[[user:consent.right_to_data_portability]]</strong></p>
58
- <p>[[user:consent.right_to_data_portability_description]]</p>
40
+ </div>
41
+ </div>
42
+ </div>
43
+ <div class="col-sm-6">
44
+ <div class="card">
45
+ <div class="card-body">
46
+ <p><strong>[[user:consent.right_of_access]]</strong></p>
47
+ <p>[[user:consent.right_of_access_description]]</p>
48
+ <p><strong>[[user:consent.right_to_rectification]]</strong></p>
49
+ <p>[[user:consent.right_to_rectification_description]]</p>
50
+ <p><strong>[[user:consent.right_to_erasure]]</strong></p>
51
+ <p>[[user:consent.right_to_erasure_description]]</p>
52
+ <p><strong>[[user:consent.right_to_data_portability]]</strong></p>
53
+ <p>[[user:consent.right_to_data_portability_description]]</p>
59
54
 
60
- <hr />
55
+ <hr />
61
56
 
62
- <div class="btn-group-vertical d-grid">
63
- <a data-action="export-profile" class="btn btn-outline-secondary">
64
- <i class="fa fa-download"></i> [[user:consent.export_profile]]
65
- </a>
66
- <a data-action="export-posts" class="btn btn-outline-secondary">
67
- <i class="fa fa-download"></i> [[user:consent.export_posts]]
68
- </a>
69
- <a data-action="export-uploads" class="btn btn-outline-secondary">
70
- <i class="fa fa-download"></i> [[user:consent.export_uploads]]
71
- </a>
72
- </div>
73
- </div>
74
- </div>
57
+ <div class="btn-group-vertical d-grid">
58
+ <a data-action="export-profile" class="btn btn-outline-secondary">
59
+ <i class="fa fa-download"></i> [[user:consent.export_profile]]
60
+ </a>
61
+ <a data-action="export-posts" class="btn btn-outline-secondary">
62
+ <i class="fa fa-download"></i> [[user:consent.export_posts]]
63
+ </a>
64
+ <a data-action="export-uploads" class="btn btn-outline-secondary">
65
+ <i class="fa fa-download"></i> [[user:consent.export_uploads]]
66
+ </a>
75
67
  </div>
76
68
  </div>
77
69
  </div>
78
70
  </div>
79
71
  </div>
72
+
73
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -1,37 +1,32 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
3
2
 
4
- <div class="d-flex flex-column flex-md-row">
5
- <!-- IMPORT partials/account/sidebar-left.tpl -->
6
- <div class="account-content flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
7
- <h3 class="fw-semibold fs-5">{{{ if isSelf }}}[[user:change_password]]{{{ else }}}[[pages:{template.name}, {username}]]{{{ end }}}</h3>
3
+ <h3 class="fw-semibold fs-5">{{{ if isSelf }}}[[user:change_password]]{{{ else }}}[[pages:{template.name}, {username}]]{{{ end }}}</h3>
8
4
 
9
- <form class="edit-form">
10
- <!-- disables autocomplete on FF --><input type="password" style="display:none">
5
+ <form class="edit-form">
6
+ <!-- disables autocomplete on FF --><input type="password" style="display:none">
11
7
 
12
- {{{ if isSelf }}}
13
- <div class="mb-2">
14
- <label class="form-label fw-semibold text-xm" for="inputCurrentPassword">[[user:current_password]]</label>
15
- <input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
16
- </div>
17
- {{{ end }}}
8
+ {{{ if isSelf }}}
9
+ <div class="mb-2">
10
+ <label class="form-label fw-semibold text-xm" for="inputCurrentPassword">[[user:current_password]]</label>
11
+ <input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
12
+ </div>
13
+ {{{ end }}}
18
14
 
19
- <div class="mb-2">
20
- <label class="form-label fw-semibold text-xm" for="inputNewPassword">[[user:new_password]]</label>
21
- <input class="form-control" type="password" id="inputNewPassword" placeholder="[[user:password]]" value="">
22
- <span class="form-feedback" id="password-notify"></span>
23
- </div>
15
+ <div class="mb-2">
16
+ <label class="form-label fw-semibold text-xm" for="inputNewPassword">[[user:new_password]]</label>
17
+ <input class="form-control" type="password" id="inputNewPassword" placeholder="[[user:password]]" value="">
18
+ <span class="form-feedback" id="password-notify"></span>
19
+ </div>
24
20
 
25
- <div class="mb-2">
26
- <label class="form-label fw-semibold text-xm" for="inputNewPasswordAgain">[[user:confirm_password]]</label>
27
- <input class="form-control" type="password" id="inputNewPasswordAgain" placeholder="[[user:confirm_password]]" value="">
28
- <span class="form-feedback" id="password-confirm-notify"></span>
29
- </div>
21
+ <div class="mb-2">
22
+ <label class="form-label fw-semibold text-xm" for="inputNewPasswordAgain">[[user:confirm_password]]</label>
23
+ <input class="form-control" type="password" id="inputNewPasswordAgain" placeholder="[[user:confirm_password]]" value="">
24
+ <span class="form-feedback" id="password-confirm-notify"></span>
25
+ </div>
30
26
 
31
- <div class="form-actions">
32
- <button id="changePasswordBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_password]]</button>
33
- </div>
34
- </form>
35
- </div>
27
+ <div class="form-actions">
28
+ <button id="changePasswordBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_password]]</button>
36
29
  </div>
37
- </div>
30
+ </form>
31
+
32
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -1,33 +1,28 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
3
2
 
4
- <div class="d-flex flex-column flex-md-row">
5
- <!-- IMPORT partials/account/sidebar-left.tpl -->
6
- <div class="account-content flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
7
- <h3 class="fw-semibold fs-5">{{{ if isSelf }}}[[user:change_username]]{{{ else }}}[[pages:{template.name}, {username}]]{{{ end }}}</h3>
3
+ <h3 class="fw-semibold fs-5">{{{ if isSelf }}}[[user:change_username]]{{{ else }}}[[pages:{template.name}, {username}]]{{{ end }}}</h3>
8
4
 
9
- <form class="form-horizontal edit-form">
10
- <div class="mb-2">
11
- <label class="form-label fw-semibold text-sm" for="inputNewUsername">[[user:username]]</label>
12
- <input class="form-control" type="text" id="inputNewUsername" placeholder="[[user:username]]" value="{username}">
13
- </div>
5
+ <form class="form-horizontal edit-form">
6
+ <div class="mb-2">
7
+ <label class="form-label fw-semibold text-sm" for="inputNewUsername">[[user:username]]</label>
8
+ <input class="form-control" type="text" id="inputNewUsername" placeholder="[[user:username]]" value="{username}">
9
+ </div>
14
10
 
15
- <!-- disables autocomplete on FF --><input type="password" style="display:none">
11
+ <!-- disables autocomplete on FF --><input type="password" style="display:none">
16
12
 
17
- {{{ if isSelf }}}
18
- <div class="mb-2">
19
- <label class="form-label fw-semibold text-sm" for="inputCurrentPassword">[[user:current_password]]</label>
20
- <input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""{{{ if !hasPassword }}} disabled{{{ end }}}>
21
- </div>
22
- {{{ end }}}
13
+ {{{ if isSelf }}}
14
+ <div class="mb-2">
15
+ <label class="form-label fw-semibold text-sm" for="inputCurrentPassword">[[user:current_password]]</label>
16
+ <input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current_password]]" value=""{{{ if !hasPassword }}} disabled{{{ end }}}>
17
+ </div>
18
+ {{{ end }}}
23
19
 
24
- <input type="hidden" name="uid" id="inputUID" value="{uid}" />
20
+ <input type="hidden" name="uid" id="inputUID" value="{uid}" />
25
21
 
26
- <br/>
27
- <div class="form-actions">
28
- <button id="submitBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_username]]</button>
29
- </div>
30
- </form>
31
- </div>
22
+ <br/>
23
+ <div class="form-actions">
24
+ <button id="submitBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change_username]]</button>
32
25
  </div>
33
- </div>
26
+ </form>
27
+
28
+ <!-- IMPORT partials/account/footer.tpl -->