nodebb-theme-harmony 2.0.1 → 2.0.3

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 (144) hide show
  1. package/.eslintrc +3 -3
  2. package/README.md +22 -22
  3. package/lib/controllers.js +29 -29
  4. package/library.js +183 -183
  5. package/package.json +48 -48
  6. package/plugin.json +24 -24
  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 -122
  16. package/scss/fonts.scss +19 -19
  17. package/scss/groups.scss +22 -22
  18. package/scss/harmony.scss +24 -24
  19. package/scss/header.scss +15 -15
  20. package/scss/mixins.scss +183 -183
  21. package/scss/modals.scss +6 -6
  22. package/scss/modules/breadcrumbs.scss +15 -15
  23. package/scss/modules/cover.scss +102 -102
  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 -65
  32. package/scss/sidebar.scss +188 -188
  33. package/scss/skins.scss +58 -58
  34. package/scss/status.scss +24 -24
  35. package/scss/topic.scss +130 -130
  36. package/templates/account/blocks.tpl +51 -51
  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 -29
  41. package/templates/account/edit.tpl +137 -137
  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 -270
  46. package/templates/account/posts.tpl +35 -35
  47. package/templates/account/profile.tpl +92 -92
  48. package/templates/account/sessions.tpl +8 -8
  49. package/templates/account/settings.tpl +236 -236
  50. package/templates/account/shares.tpl +19 -19
  51. package/templates/account/tags.tpl +12 -12
  52. package/templates/account/theme.tpl +63 -63
  53. package/templates/account/topics.tpl +44 -44
  54. package/templates/account/uploads.tpl +37 -37
  55. package/templates/admin/plugins/harmony.tpl +57 -57
  56. package/templates/categories.tpl +29 -29
  57. package/templates/category.tpl +72 -72
  58. package/templates/footer.tpl +17 -17
  59. package/templates/groups/details.tpl +86 -86
  60. package/templates/groups/list.tpl +58 -58
  61. package/templates/groups/members.tpl +9 -9
  62. package/templates/header.tpl +45 -45
  63. package/templates/notifications.tpl +32 -32
  64. package/templates/partials/account/admin-menu.tpl +36 -36
  65. package/templates/partials/account/category-item.tpl +22 -22
  66. package/templates/partials/account/footer.tpl +2 -2
  67. package/templates/partials/account/header.tpl +98 -98
  68. package/templates/partials/account/session-list.tpl +18 -18
  69. package/templates/partials/account/sidebar-left.tpl +116 -116
  70. package/templates/partials/breadcrumbs-json-ld.tpl +15 -15
  71. package/templates/partials/breadcrumbs.tpl +12 -12
  72. package/templates/partials/buttons/newTopic.tpl +22 -22
  73. package/templates/partials/categories/item.tpl +56 -56
  74. package/templates/partials/categories/lastpost.tpl +24 -24
  75. package/templates/partials/categories/link.tpl +4 -4
  76. package/templates/partials/category/subcategory.tpl +18 -18
  77. package/templates/partials/category/tags.tpl +3 -3
  78. package/templates/partials/cookie-consent.tpl +6 -6
  79. package/templates/partials/groups/admin.tpl +95 -95
  80. package/templates/partials/groups/invited.tpl +32 -32
  81. package/templates/partials/groups/list.tpl +15 -15
  82. package/templates/partials/groups/memberlist.tpl +46 -46
  83. package/templates/partials/groups/pending.tpl +29 -29
  84. package/templates/partials/groups/sidebar-left.tpl +27 -27
  85. package/templates/partials/header/brand.tpl +27 -27
  86. package/templates/partials/mobile-footer.tpl +95 -95
  87. package/templates/partials/notifications_list.tpl +44 -44
  88. package/templates/partials/paginator.tpl +46 -46
  89. package/templates/partials/post_bar.tpl +27 -27
  90. package/templates/partials/posts_list.tpl +7 -7
  91. package/templates/partials/posts_list_item.tpl +19 -19
  92. package/templates/partials/quick-search-results.tpl +46 -46
  93. package/templates/partials/search-filters.tpl +183 -183
  94. package/templates/partials/search-results.tpl +54 -54
  95. package/templates/partials/sidebar/chats.tpl +45 -45
  96. package/templates/partials/sidebar/drafts.tpl +63 -63
  97. package/templates/partials/sidebar/logged-in-menu.tpl +22 -22
  98. package/templates/partials/sidebar/logged-out-menu.tpl +44 -44
  99. package/templates/partials/sidebar/notifications.tpl +49 -49
  100. package/templates/partials/sidebar/search-mobile.tpl +28 -28
  101. package/templates/partials/sidebar/search.tpl +30 -30
  102. package/templates/partials/sidebar/user-menu.tpl +103 -103
  103. package/templates/partials/sidebar-left.tpl +39 -39
  104. package/templates/partials/sidebar-right.tpl +16 -16
  105. package/templates/partials/skin-switcher.tpl +50 -50
  106. package/templates/partials/tags_list.tpl +7 -7
  107. package/templates/partials/toast.tpl +19 -19
  108. package/templates/partials/topic/event.tpl +12 -12
  109. package/templates/partials/topic/navigation-post.tpl +9 -9
  110. package/templates/partials/topic/navigator-mobile.tpl +61 -61
  111. package/templates/partials/topic/navigator.tpl +26 -26
  112. package/templates/partials/topic/necro-post.tpl +5 -5
  113. package/templates/partials/topic/post-menu-list.tpl +156 -156
  114. package/templates/partials/topic/post-menu.tpl +4 -4
  115. package/templates/partials/topic/post-placeholder.tpl +14 -14
  116. package/templates/partials/topic/post.tpl +146 -146
  117. package/templates/partials/topic/quickreply.tpl +28 -28
  118. package/templates/partials/topic/reply-button.tpl +26 -26
  119. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  120. package/templates/partials/topic/sort.tpl +27 -27
  121. package/templates/partials/topic/stats.tpl +14 -14
  122. package/templates/partials/topic/thumbs.tpl +4 -4
  123. package/templates/partials/topic/tools.tpl +8 -8
  124. package/templates/partials/topic/topic-menu-list.tpl +73 -73
  125. package/templates/partials/topic/watch.tpl +59 -59
  126. package/templates/partials/topic-filters.tpl +15 -15
  127. package/templates/partials/topic-list-bar.tpl +54 -54
  128. package/templates/partials/topic-terms.tpl +15 -15
  129. package/templates/partials/topics_list.tpl +131 -131
  130. package/templates/partials/users/item.tpl +39 -39
  131. package/templates/partials/users_list.tpl +4 -4
  132. package/templates/partials/users_list_menu.tpl +14 -14
  133. package/templates/popular.tpl +34 -34
  134. package/templates/post-queue.tpl +211 -211
  135. package/templates/recent.tpl +42 -42
  136. package/templates/search.tpl +46 -46
  137. package/templates/tag.tpl +34 -34
  138. package/templates/tags.tpl +49 -49
  139. package/templates/top.tpl +34 -34
  140. package/templates/topic.tpl +123 -123
  141. package/templates/unread.tpl +31 -31
  142. package/templates/users.tpl +39 -39
  143. package/templates/world.tpl +66 -66
  144. package/theme.json +6 -6
@@ -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 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>
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 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>
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">
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>
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 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>
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>