nodebb-theme-harmony 2.0.0-pre.9 → 2.0.1

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 (163) hide show
  1. package/.eslintrc +3 -3
  2. package/README.md +22 -19
  3. package/lib/controllers.js +29 -29
  4. package/library.js +184 -190
  5. package/package.json +48 -48
  6. package/plugin.json +24 -25
  7. package/public/.eslintrc +3 -3
  8. package/public/admin.js +15 -15
  9. package/public/harmony.js +287 -287
  10. package/public/settings.js +31 -31
  11. package/renovate.json +6 -6
  12. package/scss/account.scss +27 -27
  13. package/scss/category.scss +3 -3
  14. package/scss/chats.scss +11 -11
  15. package/scss/common.scss +122 -128
  16. package/scss/fonts.scss +19 -19
  17. package/scss/groups.scss +22 -22
  18. package/scss/harmony.scss +24 -25
  19. package/scss/header.scss +15 -15
  20. package/scss/mixins.scss +183 -176
  21. package/scss/modals.scss +6 -6
  22. package/scss/modules/breadcrumbs.scss +15 -15
  23. package/scss/modules/cover.scss +102 -104
  24. package/scss/modules/filters.scss +7 -7
  25. package/scss/modules/nprogress.scss +80 -80
  26. package/scss/modules/paginator.scss +23 -23
  27. package/scss/modules/tags.scss +5 -5
  28. package/scss/modules/topic-navigator.scss +52 -52
  29. package/scss/modules/topics-list.scss +40 -40
  30. package/scss/modules/user-menu.scss +10 -10
  31. package/scss/overrides.scss +65 -61
  32. package/scss/sidebar.scss +188 -189
  33. package/scss/skins.scss +58 -49
  34. package/scss/status.scss +24 -24
  35. package/scss/topic.scss +130 -138
  36. package/templates/account/blocks.tpl +51 -40
  37. package/templates/account/categories.tpl +63 -63
  38. package/templates/account/consent.tpl +73 -73
  39. package/templates/account/edit/password.tpl +34 -34
  40. package/templates/account/edit/username.tpl +29 -30
  41. package/templates/account/edit.tpl +137 -122
  42. package/templates/account/followers.tpl +14 -14
  43. package/templates/account/following.tpl +15 -15
  44. package/templates/account/groups.tpl +15 -15
  45. package/templates/account/info.tpl +270 -201
  46. package/templates/account/posts.tpl +35 -35
  47. package/templates/account/profile.tpl +92 -95
  48. package/templates/account/read.tpl +1 -0
  49. package/templates/account/sessions.tpl +8 -8
  50. package/templates/account/settings.tpl +236 -236
  51. package/templates/account/shares.tpl +20 -0
  52. package/templates/account/tags.tpl +12 -12
  53. package/templates/account/theme.tpl +63 -63
  54. package/templates/account/topics.tpl +44 -43
  55. package/templates/account/uploads.tpl +37 -37
  56. package/templates/admin/plugins/harmony.tpl +57 -56
  57. package/templates/categories.tpl +29 -29
  58. package/templates/category.tpl +72 -72
  59. package/templates/footer.tpl +17 -17
  60. package/templates/groups/details.tpl +86 -86
  61. package/templates/groups/list.tpl +58 -56
  62. package/templates/groups/members.tpl +9 -9
  63. package/templates/header.tpl +45 -45
  64. package/templates/notifications.tpl +32 -32
  65. package/templates/partials/account/admin-menu.tpl +36 -36
  66. package/templates/partials/account/category-item.tpl +22 -22
  67. package/templates/partials/account/footer.tpl +2 -2
  68. package/templates/partials/account/header.tpl +98 -98
  69. package/templates/partials/account/session-list.tpl +18 -18
  70. package/templates/partials/account/sidebar-left.tpl +116 -102
  71. package/templates/partials/breadcrumbs-json-ld.tpl +16 -26
  72. package/templates/partials/breadcrumbs.tpl +12 -12
  73. package/templates/partials/buttons/newTopic.tpl +22 -22
  74. package/templates/partials/categories/item.tpl +56 -56
  75. package/templates/partials/categories/lastpost.tpl +24 -24
  76. package/templates/partials/categories/link.tpl +4 -4
  77. package/templates/partials/category/subcategory.tpl +18 -18
  78. package/templates/partials/category/tags.tpl +3 -3
  79. package/templates/partials/cookie-consent.tpl +6 -6
  80. package/templates/partials/groups/admin.tpl +95 -95
  81. package/templates/partials/groups/invited.tpl +32 -32
  82. package/templates/partials/groups/list.tpl +15 -15
  83. package/templates/partials/groups/memberlist.tpl +46 -46
  84. package/templates/partials/groups/pending.tpl +29 -29
  85. package/templates/partials/groups/sidebar-left.tpl +27 -27
  86. package/templates/partials/header/brand.tpl +27 -25
  87. package/templates/partials/mobile-footer.tpl +95 -98
  88. package/templates/partials/notifications_list.tpl +44 -44
  89. package/templates/partials/paginator.tpl +46 -46
  90. package/templates/partials/post_bar.tpl +27 -29
  91. package/templates/partials/posts_list.tpl +7 -7
  92. package/templates/partials/posts_list_item.tpl +19 -19
  93. package/templates/partials/quick-search-results.tpl +46 -46
  94. package/templates/partials/search-filters.tpl +183 -183
  95. package/templates/partials/search-results.tpl +54 -54
  96. package/templates/partials/sidebar/chats.tpl +45 -45
  97. package/templates/partials/sidebar/drafts.tpl +63 -63
  98. package/templates/partials/sidebar/logged-in-menu.tpl +22 -22
  99. package/templates/partials/sidebar/logged-out-menu.tpl +44 -44
  100. package/templates/partials/sidebar/notifications.tpl +49 -49
  101. package/templates/partials/sidebar/search-mobile.tpl +28 -28
  102. package/templates/partials/sidebar/search.tpl +30 -30
  103. package/templates/partials/sidebar/user-menu.tpl +103 -103
  104. package/templates/partials/sidebar-left.tpl +39 -42
  105. package/templates/partials/sidebar-right.tpl +16 -16
  106. package/templates/partials/skin-switcher.tpl +50 -50
  107. package/templates/partials/tags_list.tpl +7 -5
  108. package/templates/partials/toast.tpl +19 -19
  109. package/templates/partials/topic/event.tpl +12 -12
  110. package/templates/partials/topic/navigation-post.tpl +9 -9
  111. package/templates/partials/topic/navigator-mobile.tpl +61 -61
  112. package/templates/partials/topic/navigator.tpl +26 -26
  113. package/templates/partials/topic/necro-post.tpl +5 -5
  114. package/templates/partials/topic/post-menu-list.tpl +156 -140
  115. package/templates/partials/topic/post-menu.tpl +4 -30
  116. package/templates/partials/topic/post-placeholder.tpl +14 -14
  117. package/templates/partials/topic/post.tpl +146 -139
  118. package/templates/partials/topic/quickreply.tpl +28 -28
  119. package/templates/partials/topic/reply-button.tpl +26 -24
  120. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  121. package/templates/partials/topic/sort.tpl +27 -27
  122. package/templates/partials/topic/stats.tpl +14 -14
  123. package/templates/partials/topic/thumbs.tpl +4 -4
  124. package/templates/partials/topic/tools.tpl +8 -12
  125. package/templates/partials/topic/topic-menu-list.tpl +73 -73
  126. package/templates/partials/topic/watch.tpl +59 -59
  127. package/templates/partials/topic-filters.tpl +15 -15
  128. package/templates/partials/topic-list-bar.tpl +54 -54
  129. package/templates/partials/topic-terms.tpl +15 -15
  130. package/templates/partials/topics_list.tpl +131 -123
  131. package/templates/partials/users/item.tpl +39 -37
  132. package/templates/partials/users_list.tpl +4 -4
  133. package/templates/partials/users_list_menu.tpl +14 -14
  134. package/templates/popular.tpl +34 -34
  135. package/templates/post-queue.tpl +211 -207
  136. package/templates/recent.tpl +42 -35
  137. package/templates/search.tpl +46 -46
  138. package/templates/tag.tpl +34 -34
  139. package/templates/tags.tpl +49 -49
  140. package/templates/top.tpl +34 -34
  141. package/templates/topic.tpl +123 -130
  142. package/templates/unread.tpl +31 -31
  143. package/templates/users.tpl +39 -39
  144. package/templates/world.tpl +66 -35
  145. package/theme.json +6 -6
  146. package/package-lock.json +0 -2368
  147. package/scss/modules/bottom-sheet.scss +0 -52
  148. package/templates/flags/detail.tpl +0 -179
  149. package/templates/flags/list.tpl +0 -6
  150. package/templates/login.tpl +0 -102
  151. package/templates/partials/category/filter-dropdown-content.tpl +0 -41
  152. package/templates/partials/category/selector-dropdown-content.tpl +0 -39
  153. package/templates/partials/category/sort.tpl +0 -39
  154. package/templates/partials/category/tools.tpl +0 -89
  155. package/templates/partials/category/watch.tpl +0 -67
  156. package/templates/partials/flags/bulk-actions.tpl +0 -9
  157. package/templates/partials/flags/filters.tpl +0 -189
  158. package/templates/partials/flags/results.tpl +0 -38
  159. package/templates/partials/groups/filter-dropdown-content.tpl +0 -25
  160. package/templates/partials/tags/filter-dropdown-content.tpl +0 -38
  161. package/templates/partials/tags/watch.tpl +0 -42
  162. package/templates/partials/users/filter-dropdown-content.tpl +0 -23
  163. package/templates/register.tpl +0 -104
@@ -1,95 +1,92 @@
1
- <!-- IMPORT partials/account/header.tpl -->
2
-
3
- {{{ if widgets.profile-aboutme-before.length }}}
4
- <div data-widget-area="profile-aboutme-before">
5
- {{{each widgets.profile-aboutme-before}}}
6
- {./html}
7
- {{{end}}}
8
- </div>
9
- {{{ end }}}
10
-
11
- {{{ if aboutme }}}
12
- <div component="aboutme" class="text-sm text-break">
13
- {aboutmeParsed}
14
- </div>
15
- {{{ end }}}
16
-
17
- {{{ if widgets.profile-aboutme-after.length }}}
18
- <div data-widget-area="profile-aboutme-after">
19
- {{{each widgets.profile-aboutme-after}}}
20
- {./html}
21
- {{{end}}}
22
- </div>
23
- {{{ end }}}
24
-
25
- <div class="account-stats container">
26
- <div class="row row-cols-2 row-cols-xl-3 row-cols-xxl-4 g-2">
27
- {{{ if !reputation:disabled }}}
28
- <div class="stat">
29
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100">
30
- <span class="stat-label text-xs fw-semibold">[[global:reputation]]</span>
31
- <span class="fs-2 ff-secondary" title="{reputation}">{humanReadableNumber(reputation)}</span>
32
- </div>
33
- </div>
34
- {{{ end }}}
35
- <div class="stat">
36
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100">
37
- <span class="stat-label text-xs fw-semibold">[[user:profile-views]]</span>
38
- <span class="fs-2 ff-secondary" title="
39
- {profileviews}">{humanReadableNumber(profileviews)}</span>
40
- </div>
41
- </div>
42
-
43
- <div class="stat">
44
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
45
- <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-user-plus"></i> <span>[[user:joined]]</span></span>
46
- <span class="timeago fs-6 ff-secondary" title="{joindateISO}"></span>
47
- </div>
48
- </div>
49
-
50
- <div class="stat">
51
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
52
- <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-clock"></i> <span>[[user:lastonline]]</span></span>
53
- <span class="timeago text-center text-break w-100 px-2 fs-6 ff-secondary" title="{lastonlineISO}"></span>
54
- </div>
55
- </div>
56
-
57
- {{{ if email }}}
58
- <div class="stat">
59
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
60
- <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-envelope"></i> <span>[[user:email]]</span> {{{ if emailHidden}}}<span class="text-lowercase">([[global:hidden]])</span>{{{ end }}}</span>
61
- <span class="text-sm text-center text-break w-100 px-2 ff-secondary">{email}</span>
62
- </div>
63
- </div>
64
- {{{ end }}}
65
-
66
- {{{ if websiteName }}}
67
- <div class="stat">
68
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
69
- <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-globe"></i> <span>[[user:website]]</span></span>
70
- <a class="text-sm text-center text-break w-100 px-2 ff-secondary text-underline text-reset" href="{websiteLink}" rel="nofollow noreferrer me">{websiteName}</a>
71
- </div>
72
- </div>
73
- {{{ end }}}
74
-
75
- {{{ if location }}}
76
- <div class="stat">
77
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
78
- <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-map-pin"></i> <span>[[user:location]]</span></span>
79
- <span class="text-center text-break w-100 px-2 fs-6 ff-secondary">{location}</span>
80
- </div>
81
- </div>
82
- {{{ end }}}
83
-
84
- {{{ if age }}}
85
- <div class="stat">
86
- <div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
87
- <span class="stat-label text-xs fw-semibold"><span><i class="text-muted fa-solid fa-cake-candles"></i> [[user:age]]</span></span>
88
- <span class="fs-6 ff-secondary">{age}</span>
89
- </div>
90
- </div>
91
- {{{ end }}}
92
- </div>
93
- </div>
94
-
95
- <!-- IMPORT partials/account/footer.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
2
+
3
+ {{{ if widgets.profile-aboutme-before.length }}}
4
+ <div data-widget-area="profile-aboutme-before">
5
+ {{{each widgets.profile-aboutme-before}}}
6
+ {./html}
7
+ {{{end}}}
8
+ </div>
9
+ {{{ end }}}
10
+
11
+ {{{ if aboutme }}}
12
+ <div component="aboutme" class="text-sm text-break">
13
+ {aboutmeParsed}
14
+ </div>
15
+ {{{ end }}}
16
+
17
+ {{{ if widgets.profile-aboutme-after.length }}}
18
+ <div data-widget-area="profile-aboutme-after">
19
+ {{{each widgets.profile-aboutme-after}}}
20
+ {./html}
21
+ {{{end}}}
22
+ </div>
23
+ {{{ end }}}
24
+
25
+ <div class="account-stats container">
26
+ <div class="row row-cols-2 row-cols-xl-3 row-cols-xxl-4 g-2 mb-5">
27
+ {{{ if !reputation:disabled }}}
28
+ <div class="stat">
29
+ <div class="align-items-center justify-content-center card card-header p-3 border-0 rounded-1 h-100">
30
+ <span class="stat-label text-xs fw-semibold">[[global:reputation]]</span>
31
+ <span class="fs-2 ff-secondary" title="{reputation}">{humanReadableNumber(reputation)}</span>
32
+ </div>
33
+ </div>
34
+ {{{ end }}}
35
+ <div class="stat">
36
+ <div class="align-items-center justify-content-center card card-header p-3 border-0 rounded-1 h-100">
37
+ <span class="stat-label text-xs fw-semibold">[[user:profile-views]]</span>
38
+ <span class="fs-2 ff-secondary" title="
39
+ {profileviews}">{humanReadableNumber(profileviews)}</span>
40
+ </div>
41
+ </div>
42
+
43
+ <div class="stat">
44
+ <div class="align-items-center justify-content-center card card-header p-3 border-0 rounded-1 h-100 gap-2">
45
+ <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-user-plus"></i> <span>[[user:joined]]</span></span>
46
+ <span class="timeago fs-6 ff-secondary" title="{joindateISO}"></span>
47
+ </div>
48
+ </div>
49
+
50
+ <div class="stat">
51
+ <div class="align-items-center justify-content-center card card-header p-3 border-0 rounded-1 h-100 gap-2">
52
+ <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-clock"></i> <span>[[user:lastonline]]</span></span>
53
+ <span class="timeago text-center text-break w-100 px-2 fs-6 ff-secondary" title="{lastonlineISO}"></span>
54
+ </div>
55
+ </div>
56
+
57
+ {{{ if email }}}
58
+ <div class="stat">
59
+ <div class="align-items-center justify-content-center card card-header p-3 border-0 rounded-1 h-100 gap-2">
60
+ <span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-envelope"></i> <span>[[user:email]]</span> {{{ if emailHidden}}}<span class="text-lowercase">([[global:hidden]])</span>{{{ end }}}</span>
61
+ <span class="text-sm text-center text-break w-100 px-2 ff-secondary">{email}</span>
62
+ </div>
63
+ </div>
64
+ {{{ end }}}
65
+
66
+ {{{ if age }}}
67
+ <div class="stat">
68
+ <div class="align-items-center justify-content-center card card-header p-3 border-0 rounded-1 h-100 gap-2">
69
+ <span class="stat-label text-xs fw-semibold"><span><i class="text-muted fa-solid fa-cake-candles"></i> [[user:age]]</span></span>
70
+ <span class="fs-6 ff-secondary">{age}</span>
71
+ </div>
72
+ </div>
73
+ {{{ end }}}
74
+
75
+ {{{ each customUserFields }}}
76
+ {{{ if ./value }}}
77
+ <div class="stat">
78
+ <div class="align-items-center justify-content-center card card-header p-3 border-0 rounded-1 h-100 gap-2">
79
+ <span class="stat-label text-xs fw-semibold"><span><i class="text-muted {./icon}"></i> {./name}</span></span>
80
+ {{{ if (./type == "input-link") }}}
81
+ <a class="text-sm text-center text-break w-100 px-2 ff-secondary text-underline text-reset" href="{./value}" rel="nofollow noreferrer">{./linkValue}</a>
82
+ {{{ else }}}
83
+ <span class="text-center {{{ if (./type == "input-number") }}}fs-2{{{else }}}fs-6{{{ end }}} ff-secondary">{./value}</span>
84
+ {{{ end }}}
85
+ </div>
86
+ </div>
87
+ {{{ end }}}
88
+ {{{ end }}}
89
+ </div>
90
+ </div>
91
+
92
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -0,0 +1 @@
1
+ <!-- IMPORT account/topics.tpl -->
@@ -1,9 +1,9 @@
1
- <!-- IMPORT partials/account/header.tpl -->
2
-
3
- <p class="lead">[[user:sessions.description]]</p>
4
- <hr />
5
- <ul class="list-group" component="user/sessions">
6
- <!-- IMPORT partials/account/session-list.tpl -->
7
- </ul>
8
-
1
+ <!-- IMPORT partials/account/header.tpl -->
2
+
3
+ <p class="lead">[[user:sessions.description]]</p>
4
+ <hr />
5
+ <ul class="list-group" component="user/sessions">
6
+ <!-- IMPORT partials/account/session-list.tpl -->
7
+ </ul>
8
+
9
9
  <!-- IMPORT partials/account/footer.tpl -->