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,74 +1,74 @@
1
- {{{ if privileges.editable }}}
2
- <li {{{ if locked }}}hidden{{{ end }}}>
3
- <a component="topic/lock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-lock text-secondary"></i> [[topic:thread-tools.lock]]</a>
4
- </li>
5
-
6
- <li {{{ if !locked }}}hidden{{{ end }}}>
7
- <a component="topic/unlock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-unlock text-secondary"></i> [[topic:thread-tools.unlock]]</a>
8
- </li>
9
-
10
- <li {{{ if pinned }}}hidden{{{ end }}}>
11
- <a component="topic/pin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-thumb-tack text-secondary"></i> [[topic:thread-tools.pin]]</a>
12
- </li>
13
-
14
- <li {{{ if !pinned }}}hidden{{{ end }}}>
15
- <a component="topic/unpin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-thumb-tack fa-rotate-90 text-secondary"></i> [[topic:thread-tools.unpin]]</a>
16
- </li>
17
-
18
- <li>
19
- <a component="topic/move" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move]]</a>
20
- </li>
21
-
22
- <li>
23
- <a component="topic/merge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-code-fork text-secondary"></i> [[topic:thread-tools.merge]]</a>
24
- </li>
25
-
26
- <li>
27
- <a component="topic/fork" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-code-fork text-secondary"></i> [[topic:thread-tools.fork]]</a>
28
- </li>
29
-
30
- <li>
31
- <a component="topic/tag" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-tag text-secondary"></i> [[topic:thread-tools.tag]]</a>
32
- </li>
33
-
34
- {{{ if !scheduled }}}
35
- <li>
36
- <a component="topic/move-posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move-posts]]</a>
37
- </li>
38
- {{{ end }}}
39
-
40
- <li>
41
- <a component="topic/mark-unread-for-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-inbox text-secondary"></i> [[topic:thread-tools.markAsUnreadForAll]]</a>
42
- </li>
43
-
44
- <li class="dropdown-divider"></li>
45
- {{{ end }}}
46
-
47
- {{{ if privileges.deletable }}}
48
- <li {{{ if deleted }}}hidden{{{ end }}}>
49
- <a component="topic/delete" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-trash-o text-secondary"></i> [[topic:thread-tools.delete]]</a>
50
- </li>
51
-
52
- {{{ if !scheduled }}}
53
- <li {{{ if !deleted }}}hidden{{{ end }}}>
54
- <a component="topic/restore" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-history text-secondary"></i> [[topic:thread-tools.restore]]</a>
55
- </li>
56
- {{{ end }}}
57
-
58
- {{{ if privileges.purge }}}
59
- <li {{{ if !deleted }}}hidden{{{ end }}}>
60
- <a component="topic/purge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-eraser text-secondary"></i> [[topic:thread-tools.purge]]</a>
61
- </li>
62
- {{{ end }}}
63
- {{{ if privileges.isAdminOrMod }}}
64
- <li>
65
- <a component="topic/delete/posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-trash-o text-secondary"></i> [[topic:thread-tools.delete-posts]]</a>
66
- </li>
67
- {{{ end }}}
68
-
69
- {{{ each thread_tools }}}
70
- <li>
71
- <a href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {./class}" role="menuitem"><i class="fa fa-fw text-secondary {./icon}"></i> {./title}</a>
72
- </li>
73
- {{{ end }}}
1
+ {{{ if privileges.editable }}}
2
+ <li {{{ if locked }}}hidden{{{ end }}}>
3
+ <a component="topic/lock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-lock text-secondary"></i> [[topic:thread-tools.lock]]</a>
4
+ </li>
5
+
6
+ <li {{{ if !locked }}}hidden{{{ end }}}>
7
+ <a component="topic/unlock" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !locked }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-unlock text-secondary"></i> [[topic:thread-tools.unlock]]</a>
8
+ </li>
9
+
10
+ <li {{{ if pinned }}}hidden{{{ end }}}>
11
+ <a component="topic/pin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-thumb-tack text-secondary"></i> [[topic:thread-tools.pin]]</a>
12
+ </li>
13
+
14
+ <li {{{ if !pinned }}}hidden{{{ end }}}>
15
+ <a component="topic/unpin" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !pinned }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-thumb-tack fa-rotate-90 text-secondary"></i> [[topic:thread-tools.unpin]]</a>
16
+ </li>
17
+
18
+ <li>
19
+ <a component="topic/move" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move]]</a>
20
+ </li>
21
+
22
+ <li>
23
+ <a component="topic/merge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-code-fork text-secondary"></i> [[topic:thread-tools.merge]]</a>
24
+ </li>
25
+
26
+ <li>
27
+ <a component="topic/fork" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-code-fork text-secondary"></i> [[topic:thread-tools.fork]]</a>
28
+ </li>
29
+
30
+ <li>
31
+ <a component="topic/tag" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-tag text-secondary"></i> [[topic:thread-tools.tag]]</a>
32
+ </li>
33
+
34
+ {{{ if !scheduled }}}
35
+ <li>
36
+ <a component="topic/move-posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-arrows text-secondary"></i> [[topic:thread-tools.move-posts]]</a>
37
+ </li>
38
+ {{{ end }}}
39
+
40
+ <li>
41
+ <a component="topic/mark-unread-for-all" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-inbox text-secondary"></i> [[topic:thread-tools.markAsUnreadForAll]]</a>
42
+ </li>
43
+
44
+ <li class="dropdown-divider"></li>
45
+ {{{ end }}}
46
+
47
+ {{{ if privileges.deletable }}}
48
+ <li {{{ if deleted }}}hidden{{{ end }}}>
49
+ <a component="topic/delete" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-trash-o text-secondary"></i> [[topic:thread-tools.delete]]</a>
50
+ </li>
51
+
52
+ {{{ if !scheduled }}}
53
+ <li {{{ if !deleted }}}hidden{{{ end }}}>
54
+ <a component="topic/restore" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-history text-secondary"></i> [[topic:thread-tools.restore]]</a>
55
+ </li>
56
+ {{{ end }}}
57
+
58
+ {{{ if privileges.purge }}}
59
+ <li {{{ if !deleted }}}hidden{{{ end }}}>
60
+ <a component="topic/purge" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {{{ if !deleted }}}hidden{{{ end }}}" role="menuitem"><i class="fa fa-fw fa-eraser text-secondary"></i> [[topic:thread-tools.purge]]</a>
61
+ </li>
62
+ {{{ end }}}
63
+ {{{ if privileges.isAdminOrMod }}}
64
+ <li>
65
+ <a component="topic/delete/posts" href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem"><i class="fa fa-fw fa-trash-o text-secondary"></i> [[topic:thread-tools.delete-posts]]</a>
66
+ </li>
67
+ {{{ end }}}
68
+
69
+ {{{ each thread_tools }}}
70
+ <li>
71
+ <a href="#" class="dropdown-item rounded-1 d-flex align-items-center gap-2 {./class}" role="menuitem"><i class="fa fa-fw text-secondary {./icon}"></i> {./title}</a>
72
+ </li>
73
+ {{{ end }}}
74
74
  {{{ end }}}
@@ -1,60 +1,60 @@
1
- {{{ if config.loggedIn }}}
2
- <div class="btn-group bottom-sheet" component="topic/watch">
3
- <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">
4
- <span component="topic/following/menu" class="d-flex gap-2 align-items-center{{{ if !isFollowing }}} hidden{{{ end }}}">
5
- <i class="flex-shrink-0 fa fa-fw fa-bell-o text-primary"></i>
6
- <span class="d-none d-md-inline fw-semibold">[[topic:watching]]</span>
7
- </span>
8
-
9
- <span component="topic/not-following/menu" class="d-flex gap-2 align-items-center{{{ if !isNotFollowing}}} hidden{{{ end }}}">
10
- <i class="flex-shrink-0 fa fa-fw fa-bell-slash-o text-primary"></i>
11
- <span class="d-none d-md-inline fw-semibold">[[topic:not-watching]]</span>
12
- </span>
13
-
14
- <span component="topic/ignoring/menu" class="d-flex gap-2 align-items-center{{{ if !isIgnoring }}} hidden{{{ end }}}">
15
- <i class="flex-shrink-0 fa fa-fw fa-eye-slash text-primary"></i>
16
- <span class="d-none d-md-inline fw-semibold">[[topic:ignoring]]</span>
17
- </span>
18
- </button>
19
- <ul class="dropdown-menu p-1 text-sm" role="menu">
20
- <li>
21
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/following" role="menuitem">
22
- <div class="flex-grow-1 d-flex flex-column">
23
- <span class="d-flex align-items-center gap-2">
24
- <i class="flex-shrink-0 fa fa-fw fa-bell-o text-secondary"></i>
25
- <span class="flex-grow-1 fw-semibold">[[topic:watching]]</span>
26
- </span>
27
- <div class="help-text text-secondary text-xs">[[topic:watching.description]]</div>
28
- </div>
29
- <span class="flex-shrink-0"><i component="topic/following/check" class="fa fa-fw {{{ if isFollowing }}}fa-check{{{ end }}}"></i></span>
30
- </a>
31
- </li>
32
-
33
- <li>
34
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/not-following" role="menuitem">
35
- <div class="flex-grow-1 d-flex flex-column">
36
- <span class="d-flex align-items-center gap-2">
37
- <i class="flex-shrink-0 fa fa-fw fa-bell-slash-o text-secondary"></i>
38
- <span class="flex-grow-1 fw-semibold">[[topic:not-watching]]</span>
39
- </span>
40
- <div class="help-text text-secondary text-xs">[[topic:not-watching.description]]</div>
41
- </div>
42
- <span class="flex-shrink-0"><i component="topic/not-following/check" class="fa fa-fw {{{ if isNotFollowing }}}fa-check{{{ end }}}"></i></span>
43
- </a>
44
- </li>
45
-
46
- <li>
47
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/ignoring" role="menuitem">
48
- <div class="flex-grow-1 d-flex flex-column">
49
- <span class="d-flex align-items-center gap-2">
50
- <i class="flex-shrink-0 fa fa-fw fa-eye-slash text-secondary"></i>
51
- <span class="flex-grow-1 fw-semibold">[[topic:ignoring]]</span>
52
- </span>
53
- <div class="help-text text-secondary text-xs">[[topic:ignoring.description]]</div>
54
- </div>
55
- <span class="flex-shrink-0"><i component="topic/ignoring/check" class="fa fa-fw {{{ if isIgnoring }}}fa-check{{{ end }}}"></i></span>
56
- </a>
57
- </li>
58
- </ul>
59
- </div>
1
+ {{{ if config.loggedIn }}}
2
+ <div class="btn-group bottom-sheet" component="topic/watch">
3
+ <button class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
4
+ <span component="topic/following/menu" class="d-flex gap-2 align-items-center{{{ if !isFollowing }}} hidden{{{ end }}}">
5
+ <i class="flex-shrink-0 fa fa-fw fa-bell-o text-primary"></i>
6
+ <span class="d-none d-md-inline fw-semibold">[[topic:watching]]</span>
7
+ </span>
8
+
9
+ <span component="topic/not-following/menu" class="d-flex gap-2 align-items-center{{{ if !isNotFollowing}}} hidden{{{ end }}}">
10
+ <i class="flex-shrink-0 fa fa-fw fa-bell-slash-o text-primary"></i>
11
+ <span class="d-none d-md-inline fw-semibold">[[topic:not-watching]]</span>
12
+ </span>
13
+
14
+ <span component="topic/ignoring/menu" class="d-flex gap-2 align-items-center{{{ if !isIgnoring }}} hidden{{{ end }}}">
15
+ <i class="flex-shrink-0 fa fa-fw fa-eye-slash text-primary"></i>
16
+ <span class="d-none d-md-inline fw-semibold">[[topic:ignoring]]</span>
17
+ </span>
18
+ </button>
19
+ <ul class="dropdown-menu p-1 text-sm" role="menu">
20
+ <li>
21
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/following" role="menuitem">
22
+ <div class="flex-grow-1 d-flex flex-column">
23
+ <span class="d-flex align-items-center gap-2">
24
+ <i class="flex-shrink-0 fa fa-fw fa-bell-o text-secondary"></i>
25
+ <span class="flex-grow-1 fw-semibold">[[topic:watching]]</span>
26
+ </span>
27
+ <div class="help-text text-secondary text-xs">[[topic:watching.description]]</div>
28
+ </div>
29
+ <span class="flex-shrink-0"><i component="topic/following/check" class="fa fa-fw {{{ if isFollowing }}}fa-check{{{ end }}}"></i></span>
30
+ </a>
31
+ </li>
32
+
33
+ <li>
34
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/not-following" role="menuitem">
35
+ <div class="flex-grow-1 d-flex flex-column">
36
+ <span class="d-flex align-items-center gap-2">
37
+ <i class="flex-shrink-0 fa fa-fw fa-bell-slash-o text-secondary"></i>
38
+ <span class="flex-grow-1 fw-semibold">[[topic:not-watching]]</span>
39
+ </span>
40
+ <div class="help-text text-secondary text-xs">[[topic:not-watching.description]]</div>
41
+ </div>
42
+ <span class="flex-shrink-0"><i component="topic/not-following/check" class="fa fa-fw {{{ if isNotFollowing }}}fa-check{{{ end }}}"></i></span>
43
+ </a>
44
+ </li>
45
+
46
+ <li>
47
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="topic/ignoring" role="menuitem">
48
+ <div class="flex-grow-1 d-flex flex-column">
49
+ <span class="d-flex align-items-center gap-2">
50
+ <i class="flex-shrink-0 fa fa-fw fa-eye-slash text-secondary"></i>
51
+ <span class="flex-grow-1 fw-semibold">[[topic:ignoring]]</span>
52
+ </span>
53
+ <div class="help-text text-secondary text-xs">[[topic:ignoring.description]]</div>
54
+ </div>
55
+ <span class="flex-shrink-0"><i component="topic/ignoring/check" class="fa fa-fw {{{ if isIgnoring }}}fa-check{{{ end }}}"></i></span>
56
+ </a>
57
+ </li>
58
+ </ul>
59
+ </div>
60
60
  {{{ end }}}
@@ -1,16 +1,16 @@
1
- <div class="btn-group bottom-sheet{{{ if !filters.length }}} hidden{{{ end }}}">
2
- <button type="button" class="btn-ghost-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3
- <i class="fa fa-fw fa-filter text-primary"></i>
4
- <span class="visible-md-inline visible-lg-inline fw-semibold">{selectedFilter.name}</span>
5
- </button>
6
- <ul class="dropdown-menu p-1 text-sm" role="menu">
7
- {{{each filters}}}
8
- <li role="presentation" class="category {{{if filters.selected}}}selected{{{end}}}">
9
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/{filters.url}">
10
- <div class="flex-grow-1">{filters.name}</div>
11
- <i class="flex-shrink-0 fa fa-fw {{{ if filters.selected }}}fa-check{{{ end }}}"></i>
12
- </a>
13
- </li>
14
- {{{end}}}
15
- </ul>
1
+ <div class="btn-group bottom-sheet{{{ if !filters.length }}} hidden{{{ end }}}">
2
+ <button type="button" class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3
+ <i class="fa fa-fw fa-filter text-primary"></i>
4
+ <span class="visible-md-inline visible-lg-inline fw-semibold">{selectedFilter.name}</span>
5
+ </button>
6
+ <ul class="dropdown-menu p-1 text-sm" role="menu">
7
+ {{{each filters}}}
8
+ <li role="presentation" class="category {{{if filters.selected}}}selected{{{end}}}">
9
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/{filters.url}">
10
+ <div class="flex-grow-1">{filters.name}</div>
11
+ <i class="flex-shrink-0 fa fa-fw {{{ if filters.selected }}}fa-check{{{ end }}}"></i>
12
+ </a>
13
+ </li>
14
+ {{{end}}}
15
+ </ul>
16
16
  </div>
@@ -1,55 +1,55 @@
1
- <div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}} mb-3">
2
- <nav class="topic-list-header d-flex flex-nowrap my-2 p-0 border-0 rounded">
3
- <div class="d-flex flex-row p-2 text-bg-light gap-1 border rounded w-100 align-items-center">
4
- <div component="category/controls" class="d-flex me-auto mb-0 gap-2 flex-wrap">
5
- {{{ if template.category }}}
6
- <!-- IMPORT partials/category/watch.tpl -->
7
- <!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
8
- <!-- IMPORT partials/category/sort.tpl -->
9
- {{{ end }}}
10
- {{{ if (template.popular || template.top)}}}
11
- <!-- IMPORT partials/topic-terms.tpl -->
12
- {{{ end }}}
13
- {{{ if (template.unread || (template.recent || (template.popular || template.top))) }}}
14
- <!-- IMPORT partials/topic-filters.tpl -->
15
- <!-- IMPORT partials/category/filter-dropdown-left.tpl -->
16
- <!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
17
- {{{ end }}}
18
- {{{ if template.unread }}}
19
- <div class="markread btn-group {{{ if !topics.length }}}hidden{{{ end }}}">
20
- <!-- IMPORT partials/category/selector-dropdown-left.tpl -->
21
- </div>
22
- {{{ end }}}
23
- {{{ if template.tag }}}
24
- <!-- IMPORT partials/category/filter-dropdown-left.tpl -->
25
- <!-- IMPORT partials/tags/watch.tpl -->
26
- {{{ end }}}
27
- <!-- IMPORT partials/category/tools.tpl -->
28
-
29
- {{{ if (!feeds:disableRSS && rssFeedUrl) }}}
30
- <a class="btn-ghost-sm d-none d-lg-flex align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
31
- {{{ end }}}
32
-
33
- <a href="{config.relative_path}{{{ if template.category }}}{url}{{{ else }}}/{selectedFilter.url}{querystring}{{{ end }}}" class="btn btn-secondary fw-semibold position-absolute top-100 translate-middle-x start-50 mt-1 hide" style="--bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem;" id="new-topics-alert">
34
- <i class="fa fa-fw fa-arrow-up"></i> [[recent:load-new-posts]]
35
- </a>
36
- </div>
37
-
38
- <div class="d-flex gap-1 align-items-center">
39
- {{{ if template.category }}}
40
- {{{ if privileges.topics:create }}}
41
- <a href="{config.relative_path}/compose?cid={cid}" component="category/post" id="new_topic" class="btn btn-primary btn-sm text-nowrap" data-ajaxify="false" role="button">[[category:new-topic-button]]</a>
42
- {{{ end }}}
43
- {{{ else }}}
44
- {{{ if canPost }}}
45
- <!-- IMPORT partials/buttons/newTopic.tpl -->
46
- {{{ end }}}
47
- {{{ end }}}
48
- <!-- only show login button if not logged in and doesn't have any posting privilege -->
49
- {{{ if (!loggedIn && (!privileges.topics:create && !canPost))}}}
50
- <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-sm btn-primary">[[category:guest-login-post]]</a>
51
- {{{ end }}}
52
- </div>
53
- </div>
54
- </nav>
1
+ <div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}} mb-3">
2
+ <nav class="topic-list-header d-flex flex-nowrap my-2 p-0 border-0 rounded">
3
+ <div class="d-flex flex-row p-2 text-bg-light gap-1 border rounded w-100">
4
+ <div component="category/controls" class="d-flex me-auto mb-0 gap-2 flex-wrap">
5
+ {{{ if (template.category || template.world) }}}
6
+ <!-- IMPORT partials/category/watch.tpl -->
7
+ <!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
8
+ <!-- IMPORT partials/category/sort.tpl -->
9
+ {{{ end }}}
10
+ {{{ if (template.popular || template.top)}}}
11
+ <!-- IMPORT partials/topic-terms.tpl -->
12
+ {{{ end }}}
13
+ {{{ if (template.unread || (template.recent || (template.popular || template.top))) }}}
14
+ <!-- IMPORT partials/topic-filters.tpl -->
15
+ <!-- IMPORT partials/category/filter-dropdown-left.tpl -->
16
+ <!-- IMPORT partials/tags/filter-dropdown-left.tpl -->
17
+ {{{ end }}}
18
+ {{{ if template.unread }}}
19
+ <div class="markread btn-group {{{ if !topics.length }}}hidden{{{ end }}}">
20
+ <!-- IMPORT partials/category/selector-dropdown-left.tpl -->
21
+ </div>
22
+ {{{ end }}}
23
+ {{{ if template.tag }}}
24
+ <!-- IMPORT partials/category/filter-dropdown-left.tpl -->
25
+ <!-- IMPORT partials/tags/watch.tpl -->
26
+ {{{ end }}}
27
+ <!-- IMPORT partials/category/tools-dropdown-left.tpl -->
28
+
29
+ {{{ if (!feeds:disableRSS && rssFeedUrl) }}}
30
+ <a class="btn btn-ghost btn-sm d-none d-lg-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
31
+ {{{ end }}}
32
+
33
+ <a href="{{{ if (template.category || template.world) }}}{url}{{{ else }}}{config.relative_path}/{selectedFilter.url}{querystring}{{{ end }}}" class="btn btn-secondary fw-semibold position-absolute top-100 translate-middle-x start-50 mt-1 hide" style="--bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem;" id="new-topics-alert">
34
+ <i class="fa fa-fw fa-arrow-up"></i> [[recent:load-new-posts]]
35
+ </a>
36
+ </div>
37
+
38
+ <div class="d-flex gap-1 align-items-center">
39
+ {{{ if (template.category || template.world) }}}
40
+ {{{ if privileges.topics:create }}}
41
+ <a href="{config.relative_path}/compose?cid={cid}" component="category/post" id="new_topic" class="btn btn-primary btn-sm text-nowrap" data-ajaxify="false" role="button">[[category:new-topic-button]]</a>
42
+ {{{ end }}}
43
+ {{{ else }}}
44
+ {{{ if canPost }}}
45
+ <!-- IMPORT partials/buttons/newTopic.tpl -->
46
+ {{{ end }}}
47
+ {{{ end }}}
48
+ <!-- only show login button if not logged in and doesn't have any posting privilege -->
49
+ {{{ if (!loggedIn && (!privileges.topics:create && !canPost))}}}
50
+ <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-sm btn-primary">[[category:guest-login-post]]</a>
51
+ {{{ end }}}
52
+ </div>
53
+ </div>
54
+ </nav>
55
55
  </div>
@@ -1,16 +1,16 @@
1
- <div class="btn-group bottom-sheet {{{ if !terms.length }}}hidden{{{ end }}}">
2
- <button type="button" class="btn-ghost-sm ff-secondary d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3
- <i class="fa fa-fw fa-clock text-primary"></i>
4
- <span class="visible-md-inline visible-lg-inline fw-semibold">{selectedTerm.name}</span>
5
- </button>
6
- <ul class="dropdown-menu p-1 text-sm" role="menu">
7
- {{{each terms}}}
8
- <li role="presentation" class="category">
9
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/{terms.url}">
10
- <div class="flex-grow-1">{terms.name}</div>
11
- <i class="flex-shrink-0 fa fa-fw {{{ if terms.selected }}}fa-check{{{ end }}}"></i>
12
- </a>
13
- </li>
14
- {{{end}}}
15
- </ul>
1
+ <div class="btn-group bottom-sheet {{{ if !terms.length }}}hidden{{{ end }}}">
2
+ <button type="button" class="btn btn-ghost btn-sm ff-secondary d-flex align-items-center gap-2 dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
3
+ <i class="fa fa-fw fa-clock text-primary"></i>
4
+ <span class="visible-md-inline visible-lg-inline fw-semibold">{selectedTerm.name}</span>
5
+ </button>
6
+ <ul class="dropdown-menu p-1 text-sm" role="menu">
7
+ {{{each terms}}}
8
+ <li role="presentation" class="category">
9
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/{terms.url}">
10
+ <div class="flex-grow-1">{terms.name}</div>
11
+ <i class="flex-shrink-0 fa fa-fw {{{ if terms.selected }}}fa-check{{{ end }}}"></i>
12
+ </a>
13
+ </li>
14
+ {{{end}}}
15
+ </ul>
16
16
  </div>