nodebb-theme-persona 14.0.12 → 14.0.14

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.
Files changed (52) hide show
  1. package/.eslintrc +2 -2
  2. package/README.md +20 -20
  3. package/lib/controllers.js +24 -24
  4. package/package.json +1 -1
  5. package/plugin.json +20 -20
  6. package/public/.eslintrc +2 -2
  7. package/public/admin.js +15 -15
  8. package/public/modules/autohidingnavbar.js +220 -220
  9. package/public/modules/taskbar.js +65 -65
  10. package/public/settings.js +53 -53
  11. package/scss/footer.scss +16 -16
  12. package/scss/keyframes.scss +152 -152
  13. package/scss/modules/composer.scss +20 -20
  14. package/scss/modules/cookie-consent.scss +12 -12
  15. package/scss/modules/fab.scss +32 -32
  16. package/scss/modules/morph.scss +268 -268
  17. package/scss/modules/necro-post.scss +8 -8
  18. package/scss/modules/nprogress.scss +80 -80
  19. package/scss/modules/taskbar.scss +160 -160
  20. package/scss/modules/user-menu.scss +7 -7
  21. package/scss/modules/usercard.scss +64 -64
  22. package/scss/noscript.scss +80 -80
  23. package/scss/overrides.scss +39 -39
  24. package/scss/posts_list.scss +127 -127
  25. package/scss/tags.scss +10 -10
  26. package/scss/topics_list.scss +16 -16
  27. package/scss/variables.scss +6 -6
  28. package/templates/account/info.tpl +291 -291
  29. package/templates/account/sessions.tpl +31 -31
  30. package/templates/account/theme.tpl +25 -25
  31. package/templates/admin/plugins/persona.tpl +24 -24
  32. package/templates/footer.tpl +11 -11
  33. package/templates/groups/members.tpl +5 -5
  34. package/templates/modules/taskbar.tpl +2 -2
  35. package/templates/modules/usercard.tpl +36 -36
  36. package/templates/partials/breadcrumbs.tpl +18 -18
  37. package/templates/partials/category/tags.tpl +3 -3
  38. package/templates/partials/cookie-consent.tpl +4 -4
  39. package/templates/partials/groups/memberlist.tpl +42 -42
  40. package/templates/partials/header/search.tpl +24 -24
  41. package/templates/partials/paginator.tpl +44 -44
  42. package/templates/partials/posts_list.tpl +7 -7
  43. package/templates/partials/toast.tpl +19 -19
  44. package/templates/partials/topic/event.tpl +12 -12
  45. package/templates/partials/topic/navigation-post.tpl +11 -11
  46. package/templates/partials/topic/necro-post.tpl +2 -2
  47. package/templates/partials/topic/post.tpl +3 -3
  48. package/templates/partials/topic/reply-button.tpl +26 -26
  49. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  50. package/templates/partials/users_list.tpl +14 -14
  51. package/templates/search.tpl +47 -47
  52. package/theme.json +6 -6
@@ -1,3 +1,3 @@
1
- <li component="topic/necro-post" class="necro-post text-muted timeline-event">
2
- <span class="timeline-text">{text}</span>
1
+ <li component="topic/necro-post" class="necro-post text-muted timeline-event">
2
+ <span class="timeline-text">{text}</span>
3
3
  </li>
@@ -40,9 +40,9 @@
40
40
  <!-- ENDIF posts.user.banned -->
41
41
 
42
42
  <span class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
43
- <!-- IF posts.toPid -->
44
- <a component="post/parent" class="btn btn-sm btn-ghost py-0 px-1 text-xs hidden-xs" data-topid="{posts.toPid}" href="{config.relative_path}/post/{posts.toPid}"><i class="fa fa-reply"></i> @<!-- IF posts.parent.username -->{posts.parent.username}<!-- ELSE -->[[global:guest]]<!-- ENDIF posts.parent.username --></a>
45
- <!-- ENDIF posts.toPid -->
43
+ {{{ if posts.toPid }}}
44
+ <a component="post/parent" class="btn btn-sm btn-ghost py-0 px-1 text-xs hidden-xs" data-topid="{posts.toPid}" href="{config.relative_path}/post/{posts.toPid}"><i class="fa fa-reply"></i> @{{{ if posts.parent.user.userslug }}}{posts.parent.user.username}{{{ else }}}[[global:guest]]{{{ end }}}</a>
45
+ {{{ end }}}
46
46
 
47
47
  <span>
48
48
  <!-- IF posts.user.custom_profile_info.length -->
@@ -1,27 +1,27 @@
1
- <div component="topic/reply/container" class="btn-group bottom-sheet <!-- IF !privileges.topics:reply -->hidden<!-- ENDIF !privileges.topics:reply -->">
2
- <a href="{config.relative_path}/compose?tid={tid}" class="btn btn-sm btn-primary" component="topic/reply" data-ajaxify="false" role="button"><i class="fa fa-reply visible-xs-inline"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline"> [[topic:reply]]</span></a>
3
- <button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
4
- <span class="caret"></span>
5
- </button>
6
- <ul class="dropdown-menu dropdown-menu-end" role="menu">
7
- <li><a class="dropdown-item" href="#" component="topic/reply-as-topic" role="menuitem">[[topic:reply-as-topic]]</a></li>
8
- </ul>
9
- </div>
10
-
11
- <!-- IF loggedIn -->
12
- <!-- IF !privileges.topics:reply -->
13
- <!-- IF locked -->
14
- <a component="topic/reply/locked" class="btn btn-sm btn-primary" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
15
- <!-- ENDIF locked -->
16
- <!-- ENDIF !privileges.topics:reply -->
17
-
18
- <!-- IF !locked -->
19
- <a component="topic/reply/locked" class="btn btn-sm btn-primary hidden" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
20
- <!-- ENDIF !locked -->
21
-
22
- <!-- ELSE -->
23
-
24
- <!-- IF !privileges.topics:reply -->
25
- <a component="topic/reply/guest" href="{config.relative_path}/login" class="btn btn-sm btn-primary">[[topic:guest-login-reply]]</a>
26
- <!-- ENDIF !privileges.topics:reply -->
1
+ <div component="topic/reply/container" class="btn-group bottom-sheet <!-- IF !privileges.topics:reply -->hidden<!-- ENDIF !privileges.topics:reply -->">
2
+ <a href="{config.relative_path}/compose?tid={tid}" class="btn btn-sm btn-primary" component="topic/reply" data-ajaxify="false" role="button"><i class="fa fa-reply visible-xs-inline"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline"> [[topic:reply]]</span></a>
3
+ <button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
4
+ <span class="caret"></span>
5
+ </button>
6
+ <ul class="dropdown-menu dropdown-menu-end" role="menu">
7
+ <li><a class="dropdown-item" href="#" component="topic/reply-as-topic" role="menuitem">[[topic:reply-as-topic]]</a></li>
8
+ </ul>
9
+ </div>
10
+
11
+ <!-- IF loggedIn -->
12
+ <!-- IF !privileges.topics:reply -->
13
+ <!-- IF locked -->
14
+ <a component="topic/reply/locked" class="btn btn-sm btn-primary" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
15
+ <!-- ENDIF locked -->
16
+ <!-- ENDIF !privileges.topics:reply -->
17
+
18
+ <!-- IF !locked -->
19
+ <a component="topic/reply/locked" class="btn btn-sm btn-primary hidden" disabled><i class="fa fa-lock"></i> [[topic:locked]]</a>
20
+ <!-- ENDIF !locked -->
21
+
22
+ <!-- ELSE -->
23
+
24
+ <!-- IF !privileges.topics:reply -->
25
+ <a component="topic/reply/guest" href="{config.relative_path}/login" class="btn btn-sm btn-primary">[[topic:guest-login-reply]]</a>
26
+ <!-- ENDIF !privileges.topics:reply -->
27
27
  <!-- ENDIF loggedIn -->
@@ -1,3 +1,3 @@
1
- <div component="selection/tooltip" class="selection-tooltip-container position-absolute card card-body p-1 rounded-1 mt-2" style="z-index: 1;">
2
- <button component="selection/tooltip/quote" class="btn btn-sm btn-primary quote-tooltip-btn">[[topic:quote]]</button>
1
+ <div component="selection/tooltip" class="selection-tooltip-container position-absolute card card-body p-1 rounded-1 mt-2" style="z-index: 1;">
2
+ <button component="selection/tooltip/quote" class="btn btn-sm btn-primary quote-tooltip-btn">[[topic:quote]]</button>
3
3
  </div>
@@ -1,15 +1,15 @@
1
- <ul id="users-container" class="users-container list-unstyled d-flex flex-wrap gap-2">
2
- {{{each users}}}
3
- <!-- IMPORT partials/users/item.tpl -->
4
- {{{end}}}
5
- <!-- IF anonymousUserCount -->
6
- <li class="users-box anon-user text-center pb-3" style="width: 102px;">
7
- <span class="avatar avatar-rounded text-bg-secondary" component="avatar/icon" style="--avatar-size: 64px;">G</span>
8
- <br/>
9
- <div class="user-info">
10
- <span id="online_anon_count">{anonymousUserCount}</span>
11
- <span>[[global:guests]]</span>
12
- </div>
13
- </li>
14
- <!-- ENDIF anonymousUserCount -->
1
+ <ul id="users-container" class="users-container list-unstyled d-flex flex-wrap gap-2">
2
+ {{{each users}}}
3
+ <!-- IMPORT partials/users/item.tpl -->
4
+ {{{end}}}
5
+ <!-- IF anonymousUserCount -->
6
+ <li class="users-box anon-user text-center pb-3" style="width: 102px;">
7
+ <span class="avatar avatar-rounded text-bg-secondary" component="avatar/icon" style="--avatar-size: 64px;">G</span>
8
+ <br/>
9
+ <div class="user-info">
10
+ <span id="online_anon_count">{anonymousUserCount}</span>
11
+ <span>[[global:guests]]</span>
12
+ </div>
13
+ </li>
14
+ <!-- ENDIF anonymousUserCount -->
15
15
  </ul>
@@ -1,47 +1,47 @@
1
- <!-- IMPORT partials/breadcrumbs.tpl -->
2
- <div class="search">
3
- <div id="advanced-search" class="d-flex flex-column flex-md-row">
4
- <!-- sidebar -->
5
- <div class="flex-0 pe-2 border-end-md text-sm mb-3" style="flex-basis: 240px!important;">
6
- <form action="{config.relative_path}/search" method="get" class="nav sticky-md-top d-flex flex-row flex-md-column flex-wrap gap-3 pe-md-3" style="top: 1rem; z-index: 1;">
7
- <h2 class="fw-semibold tracking-tight mb-0">[[global:search]]</h2>
8
-
9
- <input id="search-input" name="term" type="text" class="form-control fw-semibold py-2 ps-2 pe-3" id="search-input" placeholder="[[search:type-to-search]]">
10
-
11
- <select id="search-in" name="in" class="form-select text-sm py-2 ps-2 pe-3">
12
- <option value="titlesposts">[[search:in-titles-posts]]</option>
13
- <option value="titles">[[search:in-titles]]</option>
14
- <option value="posts">[[search:in-posts]]</option>
15
- <option value="bookmarks">[[search:in-bookmarks]]</option>
16
- <option value="categories">[[search:in-categories]]</option>
17
- {{{if privileges.search:users}}}
18
- <option value="users">[[search:in-users]]</option>
19
- {{{end}}}
20
- {{{if privileges.search:tags}}}
21
- <option value="tags">[[search:in-tags]]</option>
22
- {{{end}}}
23
- </select>
24
-
25
- <select id="match-words-filter" name="matchWords" class="post-search-item form-select text-sm py-2 ps-2 pe-3">
26
- <option value="all">[[search:match-all-words]]</option>
27
- <option value="any">[[search:match-any-word]]</option>
28
- </select>
29
-
30
- <select id="show-results-as" name="showAs" class="post-search-item form-select text-sm py-2 ps-2 pe-3">
31
- <option value="posts" selected>[[search:show-results-as-posts]]</option>
32
- <option value="topics">[[search:show-results-as-topics]]</option>
33
- </select>
34
-
35
- <button type="submit" class="btn btn-primary fw-semibold form-control py-2 px-3">[[global:search]]</button>
36
- </form>
37
- </div>
38
-
39
- <!-- filters and search results -->
40
- <div class="flex-1 ps-md-2 ps-lg-5" style="min-width:0;">
41
- <div class="d-flex flex-column gap-3">
42
- <!-- IMPORT partials/search-filters.tpl -->
43
- <!-- IMPORT partials/search-results.tpl -->
44
- </div>
45
- </div>
46
- </div>
47
- </div>
1
+ <!-- IMPORT partials/breadcrumbs.tpl -->
2
+ <div class="search">
3
+ <div id="advanced-search" class="d-flex flex-column flex-md-row">
4
+ <!-- sidebar -->
5
+ <div class="flex-0 pe-2 border-end-md text-sm mb-3" style="flex-basis: 240px!important;">
6
+ <form action="{config.relative_path}/search" method="get" class="nav sticky-md-top d-flex flex-row flex-md-column flex-wrap gap-3 pe-md-3" style="top: 1rem; z-index: 1;">
7
+ <h2 class="fw-semibold tracking-tight mb-0">[[global:search]]</h2>
8
+
9
+ <input id="search-input" name="term" type="text" class="form-control fw-semibold py-2 ps-2 pe-3" id="search-input" placeholder="[[search:type-to-search]]">
10
+
11
+ <select id="search-in" name="in" class="form-select text-sm py-2 ps-2 pe-3">
12
+ <option value="titlesposts">[[search:in-titles-posts]]</option>
13
+ <option value="titles">[[search:in-titles]]</option>
14
+ <option value="posts">[[search:in-posts]]</option>
15
+ <option value="bookmarks">[[search:in-bookmarks]]</option>
16
+ <option value="categories">[[search:in-categories]]</option>
17
+ {{{if privileges.search:users}}}
18
+ <option value="users">[[search:in-users]]</option>
19
+ {{{end}}}
20
+ {{{if privileges.search:tags}}}
21
+ <option value="tags">[[search:in-tags]]</option>
22
+ {{{end}}}
23
+ </select>
24
+
25
+ <select id="match-words-filter" name="matchWords" class="post-search-item form-select text-sm py-2 ps-2 pe-3">
26
+ <option value="all">[[search:match-all-words]]</option>
27
+ <option value="any">[[search:match-any-word]]</option>
28
+ </select>
29
+
30
+ <select id="show-results-as" name="showAs" class="post-search-item form-select text-sm py-2 ps-2 pe-3">
31
+ <option value="posts" selected>[[search:show-results-as-posts]]</option>
32
+ <option value="topics">[[search:show-results-as-topics]]</option>
33
+ </select>
34
+
35
+ <button type="submit" class="btn btn-primary fw-semibold form-control py-2 px-3">[[global:search]]</button>
36
+ </form>
37
+ </div>
38
+
39
+ <!-- filters and search results -->
40
+ <div class="flex-1 ps-md-2 ps-lg-5" style="min-width:0;">
41
+ <div class="d-flex flex-column gap-3">
42
+ <!-- IMPORT partials/search-filters.tpl -->
43
+ <!-- IMPORT partials/search-results.tpl -->
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
package/theme.json CHANGED
@@ -1,7 +1,7 @@
1
- {
2
- "id": "nodebb-theme-persona",
3
- "name": "Persona",
4
- "description": "The default theme for NodeBB. Uses a standard approach to forum design.",
5
- "url": "https://github.com/psychobunny/nodebb-theme-persona",
6
- "screenshot": "screenshot.png"
1
+ {
2
+ "id": "nodebb-theme-persona",
3
+ "name": "Persona",
4
+ "description": "A previous default theme for NodeBB (from 2015-2023). Uses a standard approach to forum design.",
5
+ "url": "https://github.com/NodeBB/nodebb-theme-persona",
6
+ "screenshot": "screenshot.png"
7
7
  }