nodebb-theme-persona 13.3.36 → 13.3.38

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-persona",
3
- "version": "13.3.36",
3
+ "version": "13.3.38",
4
4
  "nbbpm": {
5
5
  "compatibility": "^3.7.0"
6
6
  },
package/scss/account.scss CHANGED
@@ -1,6 +1,6 @@
1
1
  .account {
2
2
  .breadcrumb {
3
- margin-bottom: 30px;
3
+ margin-bottom: 3rem;
4
4
  }
5
5
 
6
6
  .edit-form {
@@ -4,22 +4,22 @@
4
4
  <!-- disables autocomplete on FF --><input type="password" style="display:none">
5
5
 
6
6
  <!-- IF isSelf -->
7
- <div class="mb-2">
7
+ <div class="mb-3">
8
8
  <label class="form-label fw-bold" for="inputCurrentPassword">[[user:current-password]]</label>
9
9
  <input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current-password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
10
10
  </div>
11
11
  <!-- ENDIF isSelf -->
12
12
 
13
- <div class="mb-2">
13
+ <div class="mb-3">
14
14
  <label class="form-label fw-bold" for="inputNewPassword">[[user:new-password]]</label>
15
15
  <input class="form-control" type="password" id="inputNewPassword" placeholder="[[user:password]]" value="">
16
- <span class="form-feedback" id="password-notify"></span>
16
+ <span class="form-text" id="password-notify"></span>
17
17
  </div>
18
18
 
19
- <div class="mb-2">
19
+ <div class="mb-3">
20
20
  <label class="form-label fw-bold" for="inputNewPasswordAgain">[[user:confirm-password]]</label>
21
21
  <input class="form-control" type="password" id="inputNewPasswordAgain" placeholder="[[user:confirm-password]]" value="">
22
- <span class="form-feedback" id="password-confirm-notify"></span>
22
+ <span class="form-text" id="password-confirm-notify"></span>
23
23
  </div>
24
24
 
25
25
  <div class="form-actions">
@@ -1,7 +1,7 @@
1
1
  <!-- IMPORT partials/account/header.tpl -->
2
2
 
3
3
  <form class="form-horizontal edit-form">
4
- <div class="mb-2">
4
+ <div class="mb-3">
5
5
  <label class="form-label fw-bold" for="inputNewUsername">[[user:username]]</label>
6
6
  <input class="form-control" type="text" id="inputNewUsername" placeholder="[[user:username]]" value="{username}">
7
7
  </div>
@@ -9,7 +9,7 @@
9
9
  <!-- disables autocomplete on FF --><input type="password" style="display:none">
10
10
 
11
11
  <!-- IF isSelf -->
12
- <div class="mb-2">
12
+ <div class="mb-3">
13
13
  <label class="form-label fw-bold" for="inputCurrentPassword">[[user:current-password]]</label>
14
14
  <input autocomplete="off" class="form-control" type="password" id="inputCurrentPassword" placeholder="[[user:current-password]]" value=""<!-- IF !hasPassword --> disabled<!-- ENDIF !hasPassword -->>
15
15
  </div>
@@ -17,7 +17,6 @@
17
17
 
18
18
  <input type="hidden" name="uid" id="inputUID" value="{uid}" />
19
19
 
20
- <br/>
21
20
  <div class="form-actions">
22
21
  <button id="submitBtn" class="btn btn-primary btn-block"><i class="hide fa fa-spinner fa-spin"></i> [[user:change-username]]</button>
23
22
  </div>
@@ -1,19 +1,35 @@
1
1
  <!-- IMPORT partials/account/header.tpl -->
2
2
 
3
- <div class="row">
4
- <h1 class="fs-2">{title}</h1>
3
+ <div class="d-flex flex-wrap justify-content-between align-items-center gap-2 mb-3">
4
+ <h3 class="fw-semibold fs-4 mb-0">[[global:posts]]</h3>
5
+ <div class="d-flex flex-wrap gap-1">
6
+ <a href="{config.relative_path}/user/{userslug}/posts" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/posts }}}active{{{ end }}}">[[global:header.recent]]</a>
7
+ {{{ if !reputation:disabled }}}
8
+ <a href="{config.relative_path}/user/{userslug}/best"class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/best }}}active{{{ end }}}">[[global:best]]</a>
9
+ <a href="{config.relative_path}/user/{userslug}/controversial" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/controversial }}}active{{{ end }}}">[[global:controversial]]</a>
10
+ {{{ if canEdit }}}
11
+ <a href="{config.relative_path}/user/{userslug}/upvoted" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/upvoted }}}active{{{ end }}}">[[global:upvoted]]</a>
12
+ {{{ if !downvote:disabled }}}
13
+ <a href="{config.relative_path}/user/{userslug}/downvoted" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/downvoted }}}active{{{ end }}}">[[global:downvoted]]</a>
14
+ {{{ end }}}
15
+ {{{ end }}}
16
+ {{{ end }}}
17
+ {{{ if canEdit }}}
18
+ <a href="{config.relative_path}/user/{userslug}/bookmarks" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/bookmarks }}}active{{{ end }}}">[[user:bookmarks]]</a>
19
+ {{{ end }}}
20
+ </div>
21
+ </div>
5
22
 
6
- <!-- IF !posts.length -->
7
- <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
8
- <!-- ENDIF !posts.length -->
23
+ <!-- IF !posts.length -->
24
+ <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
25
+ <!-- ENDIF !posts.length -->
9
26
 
10
- <div class="col-12">
11
- <!-- IMPORT partials/posts_list.tpl -->
27
+ <div class="col-12">
28
+ <!-- IMPORT partials/posts_list.tpl -->
12
29
 
13
- <!-- IF config.usePagination -->
14
- <!-- IMPORT partials/paginator.tpl -->
15
- <!-- ENDIF config.usePagination -->
16
- </div>
30
+ <!-- IF config.usePagination -->
31
+ <!-- IMPORT partials/paginator.tpl -->
32
+ <!-- ENDIF config.usePagination -->
17
33
  </div>
18
34
 
19
35
  <!-- IMPORT partials/account/footer.tpl -->
@@ -0,0 +1 @@
1
+ <!-- IMPORT account/topics.tpl -->
@@ -1,30 +1,45 @@
1
1
  <!-- IMPORT partials/account/header.tpl -->
2
2
 
3
- <div class="row">
4
- <h1 class="fs-2">{title}</h1>
5
- <!-- IF showSort -->
6
- <div class="btn-toolbar justify-content-end mb-2">
3
+ <div class="d-flex justify-content-between align-items-center mb-3">
4
+ <div class="d-flex gap-1">
5
+ <h3 class="fw-semibold fs-4 mb-0 align-self-center">[[global:topics]]</h3>
6
+ {{{ if showSort }}}
7
7
  <div class="btn-group bottom-sheet" component="thread/sort">
8
- <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false"><span>[[topic:sort-by]]</span> <span class="caret"></span></button>
9
- <ul class="dropdown-menu dropdown-menu-end" role="menu">
8
+ <button title="[[global:sort]]" class="btn btn-ghost btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" type="button"><i class="fa-solid fa-arrow-up-wide-short"></i></button>
9
+ <ul class="dropdown-menu p-1 text-sm" role="menu">
10
10
  {{{each sortOptions }}}
11
- <li><a class="dropdown-item" href="{config.relative_path}{sortOptions.url}" role="menuitem"><i class="fa fa-fw {{{if sortOptions.selected}}}fa-check{{{end}}}"></i>{sortOptions.name}</a></li>
11
+ <li>
12
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{config.relative_path}{./url}" role="menuitem">
13
+ <div class="flex-grow-1">{./name}</div>
14
+ <i class="flex-shrink-0 fa fa-fw {{{if ./selected}}}fa-check{{{end}}}"></i>
15
+ </a>
16
+ </li>
12
17
  {{{end}}}
13
18
  </ul>
14
19
  </div>
20
+ {{{ end }}}
15
21
  </div>
16
- <!-- ENDIF showSort -->
17
22
 
18
- <!-- IF !topics.length -->
19
- <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
20
- <!-- ENDIF !topics.length -->
21
-
22
- <div class="category">
23
- <!-- IMPORT partials/topics_list.tpl -->
24
- <!-- IF config.usePagination -->
25
- <!-- IMPORT partials/paginator.tpl -->
26
- <!-- ENDIF config.usePagination -->
23
+ <div class="d-flex gap-1">
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 }}}">[[global:header.recent]]</a>
26
+ <a href="{config.relative_path}/user/{userslug}/watched"class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/watched }}}active{{{ end }}}">[[user:watched]]</a>
27
+ <a href="{config.relative_path}/user/{userslug}/ignored" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/ignored }}}active{{{ end }}}">[[user:ignored]]</a>
28
+ <a href="{config.relative_path}/user/{userslug}/read" class="btn btn-ghost btn-sm ff-secondary fw-semibold {{{ if template.account/read }}}active{{{ end }}}">[[user:read]]</a>
29
+ {{{ end }}}
27
30
  </div>
28
31
  </div>
29
32
 
33
+
34
+ {{{ if !topics.length }}}
35
+ <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
36
+ {{{ end }}}
37
+
38
+ <div class="category">
39
+ <!-- IMPORT partials/topics_list.tpl -->
40
+ {{{ if config.usePagination }}}
41
+ <!-- IMPORT partials/paginator.tpl -->
42
+ {{{ end }}}
43
+ </div>
44
+
30
45
  <!-- IMPORT partials/account/footer.tpl -->
@@ -74,10 +74,7 @@
74
74
  <li role="separator" class="dropdown-divider"></li>
75
75
  <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/topics" role="menuitem">[[global:topics]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.topics}">{formattedNumber(counts.topics)}</span></a></li>
76
76
  <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/posts" role="menuitem">[[global:posts]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.posts}">{formattedNumber(counts.posts)}</span></a></li>
77
- <!-- IF !reputation:disabled -->
78
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/best" role="menuitem">[[global:best]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.best}">{formattedNumber(counts.best)}</span></a></li>
79
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/controversial" role="menuitem">[[global:controversial]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.controversial}">{formattedNumber(counts.controversial)}</span></a></li>
80
- <!-- ENDIF !reputation:disabled -->
77
+
81
78
  <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/groups" role="menuitem">[[global:header.groups]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.groups}">{formattedNumber(counts.groups)}</span></a></li>
82
79
 
83
80
  <!-- IF canEdit -->
@@ -86,15 +83,7 @@
86
83
  <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/tags" role="menuitem">
87
84
  [[user:watched-tags]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.tagsWatched}">{formattedNumber(counts.tagsWatched)}</span></a></li>
88
85
  {{{ end }}}
89
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/bookmarks" role="menuitem">[[user:bookmarks]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.bookmarks}">{formattedNumber(counts.bookmarks)}</span></a></li>
90
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/watched" role="menuitem">[[user:watched]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.watched}">{formattedNumber(counts.watched)}</span></a></li>
91
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/ignored" role="menuitem">[[user:ignored]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.ignored}">{formattedNumber(counts.ignored)}</span></a></li>
92
- <!-- IF !reputation:disabled -->
93
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/upvoted" role="menuitem">[[global:upvoted]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.upvoted}">{formattedNumber(counts.upvoted)}</span></a></li>
94
- <!-- IF !downvote:disabled -->
95
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/downvoted" role="menuitem">[[global:downvoted]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.downvoted}">{formattedNumber(counts.downvoted)}</span></a></li>
96
- <!-- ENDIF !downvote:disabled -->
97
- <!-- ENDIF !reputation:disabled -->
86
+
98
87
  <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/uploads" role="menuitem">[[global:uploads]] <span class="badge bg-secondary rounded-pill ms-2" title="{counts.uploaded}">{formattedNumber(counts.uploaded)}</span></a></li>
99
88
  <!-- ENDIF canEdit -->
100
89
 
@@ -1,11 +1,7 @@
1
1
  <a data-bs-toggle="dropdown" href="#" role="button" class="nav-link d-flex gap-2 justify-content-between align-items-center position-relative" aria-haspopup="true" aria-expanded="false" aria-label="[[global:header.notifications]]">
2
2
  <span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
3
- <span class="position-relative">
4
- <i component="notifications/icon" class="fa fa-fw {{{ if unreadCount.notification}}}fa-bell{{{ else }}}fa-bell-o{{{ end }}} unread-count" data-content="{unreadCount.notification}"></i>
5
- <span component="notifications/count" class="visible-closed position-absolute top-0 start-100 translate-middle badge rounded-1 bg-primary {{{ if !unreadCount.notification }}}hidden{{{ end }}}">{unreadCount.notification}</span>
6
- </span>
3
+ <i component="notifications/icon" class="fa fa-fw {{{ if unreadCount.notification}}}fa-bell{{{ else }}}fa-bell-o{{{ end }}} unread-count" data-content="{unreadCount.notification}"></i>
7
4
  </span>
8
- <span component="notifications/count" class="visible-open badge rounded-1 bg-primary {{{ if !unreadCount.notification }}}hidden{{{ end }}}">{unreadCount.notification}</span>
9
5
  </a>
10
6
 
11
7
  <ul class="notifications-dropdown dropdown-menu dropdown-menu-end p-1 shadow" role="menu">