nodebb-theme-persona 12.1.6 → 12.1.8

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 (247) hide show
  1. package/README.md +16 -14
  2. package/{scss/account.scss → less/account.less} +97 -13
  3. package/less/bootstrap/.csscomb.json +297 -0
  4. package/less/bootstrap/.csslintrc +19 -0
  5. package/less/bootstrap/alerts.less +73 -0
  6. package/less/bootstrap/badges.less +66 -0
  7. package/less/bootstrap/bootstrap.less +50 -0
  8. package/less/bootstrap/breadcrumbs.less +26 -0
  9. package/less/bootstrap/button-groups.less +243 -0
  10. package/less/bootstrap/buttons.less +160 -0
  11. package/less/bootstrap/carousel.less +269 -0
  12. package/less/bootstrap/close.less +34 -0
  13. package/less/bootstrap/code.less +69 -0
  14. package/less/bootstrap/component-animations.less +33 -0
  15. package/less/bootstrap/dropdowns.less +214 -0
  16. package/less/bootstrap/forms.less +574 -0
  17. package/less/bootstrap/glyphicons.less +305 -0
  18. package/less/bootstrap/grid.less +84 -0
  19. package/less/bootstrap/input-groups.less +166 -0
  20. package/less/bootstrap/jumbotron.less +50 -0
  21. package/less/bootstrap/labels.less +64 -0
  22. package/less/bootstrap/list-group.less +124 -0
  23. package/less/bootstrap/media.less +61 -0
  24. package/less/bootstrap/mixins/alerts.less +14 -0
  25. package/less/bootstrap/mixins/background-variant.less +8 -0
  26. package/less/bootstrap/mixins/border-radius.less +18 -0
  27. package/less/bootstrap/mixins/buttons.less +52 -0
  28. package/less/bootstrap/mixins/center-block.less +7 -0
  29. package/less/bootstrap/mixins/clearfix.less +22 -0
  30. package/less/bootstrap/mixins/forms.less +85 -0
  31. package/less/bootstrap/mixins/gradients.less +59 -0
  32. package/less/bootstrap/mixins/grid-framework.less +91 -0
  33. package/less/bootstrap/mixins/grid.less +122 -0
  34. package/less/bootstrap/mixins/hide-text.less +21 -0
  35. package/less/bootstrap/mixins/image.less +33 -0
  36. package/less/bootstrap/mixins/labels.less +12 -0
  37. package/less/bootstrap/mixins/list-group.less +29 -0
  38. package/less/bootstrap/mixins/nav-divider.less +10 -0
  39. package/less/bootstrap/mixins/nav-vertical-align.less +9 -0
  40. package/less/bootstrap/mixins/opacity.less +8 -0
  41. package/less/bootstrap/mixins/pagination.less +23 -0
  42. package/less/bootstrap/mixins/panels.less +24 -0
  43. package/less/bootstrap/mixins/progress-bar.less +10 -0
  44. package/less/bootstrap/mixins/reset-filter.less +8 -0
  45. package/less/bootstrap/mixins/resize.less +6 -0
  46. package/less/bootstrap/mixins/responsive-visibility.less +15 -0
  47. package/less/bootstrap/mixins/size.less +10 -0
  48. package/less/bootstrap/mixins/tab-focus.less +9 -0
  49. package/less/bootstrap/mixins/table-row.less +28 -0
  50. package/less/bootstrap/mixins/text-emphasis.less +8 -0
  51. package/less/bootstrap/mixins/text-overflow.less +8 -0
  52. package/less/bootstrap/mixins/vendor-prefixes.less +227 -0
  53. package/less/bootstrap/mixins.less +39 -0
  54. package/less/bootstrap/modals.less +150 -0
  55. package/less/bootstrap/navbar.less +660 -0
  56. package/less/bootstrap/navs.less +242 -0
  57. package/less/bootstrap/normalize.less +427 -0
  58. package/less/bootstrap/pager.less +54 -0
  59. package/less/bootstrap/pagination.less +88 -0
  60. package/less/bootstrap/panels.less +265 -0
  61. package/less/bootstrap/popovers.less +135 -0
  62. package/less/bootstrap/print.less +107 -0
  63. package/less/bootstrap/progress-bars.less +87 -0
  64. package/less/bootstrap/responsive-embed.less +35 -0
  65. package/less/bootstrap/responsive-utilities.less +194 -0
  66. package/less/bootstrap/scaffolding.less +162 -0
  67. package/less/bootstrap/tables.less +234 -0
  68. package/less/bootstrap/theme.less +273 -0
  69. package/less/bootstrap/thumbnails.less +36 -0
  70. package/less/bootstrap/tooltip.less +102 -0
  71. package/less/bootstrap/type.less +302 -0
  72. package/less/bootstrap/utilities.less +55 -0
  73. package/less/bootstrap/variables.less +861 -0
  74. package/less/bootstrap/wells.less +29 -0
  75. package/less/bootstrap-flipped.css +1550 -0
  76. package/{scss/categories.scss → less/categories.less} +40 -10
  77. package/{scss/category.scss → less/category.less} +75 -26
  78. package/{scss/chats.scss → less/chats.less} +88 -35
  79. package/{scss/flags.scss → less/flags.less} +3 -3
  80. package/{scss/footer.scss → less/footer.less} +1 -0
  81. package/{scss/groups.scss → less/groups.less} +38 -14
  82. package/{scss/header.scss → less/header.less} +139 -63
  83. package/{scss/helpers.scss → less/helpers.less} +0 -0
  84. package/less/ip-blacklist.less +7 -0
  85. package/{scss/keyframes.scss → less/keyframes.less} +0 -0
  86. package/{scss/mixins.scss → less/mixins.less} +59 -17
  87. package/{scss/mobile.scss → less/mobile.less} +18 -13
  88. package/{scss/modules/alerts.scss → less/modules/alerts.less} +21 -21
  89. package/less/modules/bottom-sheet.less +60 -0
  90. package/{scss/modules/composer-default.scss → less/modules/composer-default.less} +2 -2
  91. package/{scss/modules/cookie-consent.scss → less/modules/cookie-consent.less} +1 -1
  92. package/{scss/modules/fab.scss → less/modules/fab.less} +2 -2
  93. package/{scss/modules/morph.scss → less/modules/morph.less} +1 -1
  94. package/{scss/modules/necro-post.scss → less/modules/necro-post.less} +0 -0
  95. package/less/modules/nprogress.less +80 -0
  96. package/{scss/modules/taskbar.scss → less/modules/taskbar.less} +10 -11
  97. package/{scss/modules/usercard.scss → less/modules/usercard.less} +0 -0
  98. package/{scss/noscript.scss → less/noscript.less} +7 -5
  99. package/less/notifications.less +38 -0
  100. package/{scss/outgoing.scss → less/outgoing.less} +0 -0
  101. package/{scss/persona.scss → less/persona.less} +13 -1
  102. package/less/post-queue.less +19 -0
  103. package/{scss/posts_list.scss → less/posts_list.less} +14 -11
  104. package/{scss/register.scss → less/register.less} +7 -2
  105. package/less/rtl.less +132 -0
  106. package/less/search.less +96 -0
  107. package/{scss/style.scss → less/style.less} +47 -23
  108. package/less/tags.less +37 -0
  109. package/{scss/topic.scss → less/topic.less} +94 -57
  110. package/less/topics_list.less +16 -0
  111. package/less/users.less +73 -0
  112. package/{scss/variables.scss → less/variables.less} +3 -3
  113. package/package.json +2 -2
  114. package/public/persona.js +22 -11
  115. package/templates/account/blocks.tpl +26 -24
  116. package/templates/account/categories.tpl +6 -6
  117. package/templates/account/consent.tpl +10 -10
  118. package/templates/account/edit/password.tpl +10 -8
  119. package/templates/account/edit/username.tpl +10 -6
  120. package/templates/account/edit.tpl +23 -23
  121. package/templates/account/followers.tpl +3 -3
  122. package/templates/account/following.tpl +3 -3
  123. package/templates/account/groups.tpl +2 -2
  124. package/templates/account/info.tpl +72 -67
  125. package/templates/account/posts.tpl +1 -1
  126. package/templates/account/profile.tpl +18 -20
  127. package/templates/account/sessions.tpl +3 -3
  128. package/templates/account/settings.tpl +81 -93
  129. package/templates/account/topics.tpl +5 -5
  130. package/templates/account/uploads.tpl +2 -2
  131. package/templates/admin/plugins/persona.tpl +3 -3
  132. package/templates/alert.tpl +15 -0
  133. package/templates/category.tpl +14 -15
  134. package/templates/chat.tpl +9 -16
  135. package/templates/chats.tpl +3 -5
  136. package/templates/flags/detail.tpl +80 -86
  137. package/templates/flags/list.tpl +4 -4
  138. package/templates/footer.tpl +1 -1
  139. package/templates/groups/details.tpl +218 -23
  140. package/templates/groups/list.tpl +9 -11
  141. package/templates/groups/members.tpl +4 -1
  142. package/templates/header.tpl +4 -10
  143. package/templates/ip-blacklist.tpl +20 -22
  144. package/templates/login.tpl +14 -17
  145. package/templates/modules/taskbar.tpl +1 -1
  146. package/templates/modules/usercard.tpl +2 -2
  147. package/templates/notifications.tpl +38 -40
  148. package/templates/partials/acceptTos.tpl +8 -8
  149. package/templates/partials/account/category-item.tpl +5 -6
  150. package/templates/partials/account/header.tpl +2 -2
  151. package/templates/partials/account/menu.tpl +37 -37
  152. package/templates/partials/breadcrumbs.tpl +1 -1
  153. package/templates/partials/buttons/newTopic.tpl +3 -10
  154. package/templates/partials/categories/item.tpl +10 -24
  155. package/templates/partials/categories/lastpost.tpl +3 -3
  156. package/templates/partials/categories/link.tpl +10 -10
  157. package/templates/partials/category/sort.tpl +7 -7
  158. package/templates/partials/category/subcategory.tpl +3 -3
  159. package/templates/partials/category/tags.tpl +5 -3
  160. package/templates/partials/category/tools.tpl +16 -16
  161. package/templates/partials/category/watch.tpl +10 -8
  162. package/templates/partials/category-filter-content.tpl +5 -17
  163. package/templates/partials/category-filter-right.tpl +1 -1
  164. package/templates/partials/category-selector-content.tpl +4 -17
  165. package/templates/partials/category-selector-right.tpl +1 -1
  166. package/templates/partials/change_owner_modal.tpl +22 -0
  167. package/templates/partials/chats/message-window.tpl +8 -10
  168. package/templates/partials/chats/message.tpl +11 -11
  169. package/templates/partials/chats/options.tpl +8 -8
  170. package/templates/partials/chats/recent_room.tpl +1 -1
  171. package/templates/partials/chats/system-message.tpl +1 -1
  172. package/templates/partials/chats/user.tpl +1 -1
  173. package/templates/partials/chats-menu.tpl +11 -11
  174. package/templates/partials/cookie-consent.tpl +1 -1
  175. package/templates/partials/delete_posts_modal.tpl +19 -0
  176. package/templates/partials/flags/filters.tpl +32 -34
  177. package/templates/partials/fork_thread_modal.tpl +22 -0
  178. package/templates/partials/groups/list.tpl +6 -6
  179. package/templates/partials/groups/memberlist.tpl +10 -11
  180. package/templates/partials/menu.tpl +156 -149
  181. package/templates/partials/merge_topics_modal.tpl +58 -0
  182. package/templates/partials/modals/change_picture_modal.tpl +73 -0
  183. package/templates/partials/modals/flag_modal.tpl +45 -0
  184. package/templates/partials/modals/manage_room.tpl +11 -0
  185. package/templates/partials/modals/manage_room_users.tpl +7 -0
  186. package/templates/partials/modals/post_history.tpl +36 -0
  187. package/templates/partials/modals/rename_room.tpl +4 -0
  188. package/templates/partials/modals/upload_file_modal.tpl +44 -0
  189. package/templates/partials/modals/upload_picture_from_url_modal.tpl +17 -0
  190. package/templates/partials/modals/votes_modal.tpl +10 -0
  191. package/templates/partials/move_thread_modal.tpl +17 -0
  192. package/templates/partials/notifications_list.tpl +2 -2
  193. package/templates/partials/paginator.tpl +21 -21
  194. package/templates/partials/post_bar.tpl +4 -4
  195. package/templates/partials/posts_list.tpl +1 -1
  196. package/templates/partials/posts_list_item.tpl +2 -2
  197. package/templates/partials/quick-search-results.tpl +11 -14
  198. package/templates/partials/slideout-menu.tpl +1 -1
  199. package/templates/partials/tags_list.tpl +3 -3
  200. package/templates/partials/thread_tools.tpl +4 -4
  201. package/templates/partials/topic/badge.tpl +5 -0
  202. package/templates/partials/topic/deleted-message.tpl +2 -2
  203. package/templates/partials/topic/event.tpl +2 -2
  204. package/templates/partials/topic/navigation-post.tpl +3 -3
  205. package/templates/partials/topic/navigator.tpl +7 -7
  206. package/templates/partials/topic/necro-post.tpl +1 -1
  207. package/templates/partials/topic/post-menu-list.tpl +23 -26
  208. package/templates/partials/topic/post-menu.tpl +3 -3
  209. package/templates/partials/topic/post.tpl +44 -49
  210. package/templates/partials/topic/quickreply.tpl +3 -3
  211. package/templates/partials/topic/reply-button.tpl +3 -3
  212. package/templates/partials/topic/sort.tpl +5 -5
  213. package/templates/partials/topic/tags.tpl +5 -3
  214. package/templates/partials/topic/topic-menu-list.tpl +16 -18
  215. package/templates/partials/topic/watch.tpl +10 -11
  216. package/templates/partials/topics_list.tpl +25 -27
  217. package/templates/partials/users_list.tpl +10 -22
  218. package/templates/partials/users_list_menu.tpl +9 -19
  219. package/templates/popular.tpl +35 -9
  220. package/templates/post-queue.tpl +35 -42
  221. package/templates/recent.tpl +24 -10
  222. package/templates/register.tpl +17 -17
  223. package/templates/registerComplete.tpl +10 -14
  224. package/templates/reset.tpl +5 -7
  225. package/templates/reset_code.tpl +9 -9
  226. package/templates/search.tpl +87 -100
  227. package/templates/tag.tpl +10 -8
  228. package/templates/tags.tpl +3 -5
  229. package/templates/top.tpl +35 -9
  230. package/templates/topic.tpl +10 -8
  231. package/templates/tos.tpl +4 -4
  232. package/templates/unread.tpl +22 -10
  233. package/templates/users.tpl +20 -7
  234. package/theme.json +6 -6
  235. package/theme.less +2 -0
  236. package/scss/modules/nprogress.scss +0 -80
  237. package/scss/overrides.scss +0 -44
  238. package/scss/search.scss +0 -39
  239. package/scss/tags.scss +0 -11
  240. package/scss/topics_list.scss +0 -17
  241. package/templates/partials/groups/admin.tpl +0 -195
  242. package/templates/partials/groups/badge.tpl +0 -1
  243. package/templates/partials/toast.tpl +0 -14
  244. package/templates/partials/topic/tag.tpl +0 -1
  245. package/templates/partials/topic-filters.tpl +0 -12
  246. package/templates/partials/topic-terms.tpl +0 -12
  247. package/theme.scss +0 -1
@@ -2,17 +2,17 @@
2
2
 
3
3
  <div class="search">
4
4
  <div class="row">
5
- <div class="<!-- IF widgets.sidebar.length -->col-lg-9 col-sm-12<!-- ELSE -->col-lg-12<!-- ENDIF widgets.sidebar.length -->">
6
- <form id="advanced-search" class="mb-3">
7
- <div class="mb-3">
5
+ <div class="col-xs-12">
6
+ <form id="advanced-search">
7
+ <div class="form-group">
8
8
  <div class="row">
9
- <div class="col-md-5">
10
- <label class="form-label">[[global:search]]</label>
9
+ <div class="col-md-6">
10
+ <label>[[global:search]]</label>
11
11
  <input type="text" class="form-control" id="search-input" placeholder="[[global:search]]">
12
12
  </div>
13
- <div class="col-md-3">
14
- <label class="form-label">[[search:in]]</label>
15
- <select id="search-in" class="form-select">
13
+ <div class="col-md-2">
14
+ <label>[[search:in]]</label>
15
+ <select id="search-in" class="form-control">
16
16
  <option value="titlesposts">[[search:titles-posts]]</option>
17
17
  <option value="titles">[[search:titles]]</option>
18
18
  <option value="posts">[[global:posts]]</option>
@@ -26,62 +26,54 @@
26
26
  </select>
27
27
  </div>
28
28
  <div class="col-md-2">
29
- <label class="form-label">[[search:match-words]]</label>
30
- <select id="match-words-filter" class="form-select">
29
+ <label>[[search:match-words]]</label>
30
+ <select id="match-words-filter" class="form-control">
31
31
  <option value="all">[[search:all]]</option>
32
32
  <option value="any">[[search:any]]</option>
33
33
  </select>
34
34
  </div>
35
35
  <div class="col-md-2">
36
- <label class="form-label">&nbsp;</label>
36
+ <label>&nbsp;</label>
37
37
  <button type="submit" class="btn btn-primary form-control">[[global:search]]</button>
38
38
  </div>
39
39
  </div>
40
40
  </div>
41
41
 
42
- <div class="card">
43
- <h5 class="card-header pointer" data-bs-toggle="collapse" data-bs-target=".search-options">
44
- <i class="fa fa-sort"></i> [[search:advanced-search]]
45
- </h5>
46
- <div class="collapse search-options {{{ if expandSearch }}}show{{{ end }}}">
47
- <div class="card-body">
48
- <div class="mb-2 post-search-item">
42
+ <div class="panel panel-default">
43
+ <div class="panel-heading" data-toggle="collapse" data-target=".search-options">
44
+ <h3 class="panel-title"><i class="fa fa-sort"></i> [[search:advanced-search]]</h3>
45
+ </div>
46
+ <div class="panel-body search-options collapse <!-- IF expandSearch -->in<!-- ENDIF expandSearch -->">
47
+ <div class="form-group post-search-item">
49
48
  <div class="row">
50
49
  <div class="col-md-6">
51
- <label class="form-label">[[search:in-categories]]</label>
52
- <select multiple class="form-select" id="posted-in-categories" size="{allCategoriesCount}">
50
+ <label>[[search:in-categories]]</label>
51
+ <select multiple class="form-control" id="posted-in-categories" size="{allCategoriesCount}">
53
52
  {{{each allCategories}}}
54
53
  <option value="{allCategories.value}">{allCategories.text}</option>
55
54
  {{{end}}}
56
55
  </select>
57
- <div class="form-check">
58
- <input id="search-children" class="form-check-input" type="checkbox"/>
59
- <label class="form-check-label" for="search-children">[[search:search-child-categories]]</label>
60
- </div>
56
+ <input type="checkbox" id="search-children"> [[search:search-child-categories]]
61
57
  </div>
62
58
  <div class="col-md-6">
63
- <div class="mb-2 post-search-item">
59
+ <div class="form-group post-search-item">
64
60
  <div class="row">
65
61
  <div class="col-md-6">
66
- <label class="form-label">[[search:posted-by]]</label>
67
- <div>
68
- <input type="text" class="form-control" id="posted-by-user">
69
- </div>
62
+ <label>[[search:posted-by]]</label>
63
+ <input type="text" class="form-control" id="posted-by-user" placeholder="[[search:posted-by]]">
70
64
  </div>
71
65
  <div class="col-md-6">
72
- <label class="form-label">[[search:has-tags]]</label>
73
- <div>
74
- <input type="text" class="form-control" id="has-tags">
75
- </div>
66
+ <label>[[search:has-tags]]</label>
67
+ <input type="text" class="form-control" id="has-tags">
76
68
  </div>
77
69
  </div>
78
70
  </div>
79
71
 
80
- <div class="mb-2 post-search-item">
81
- <label class="form-label">[[search:reply-count]]</label>
72
+ <div class="form-group post-search-item">
73
+ <label>[[search:reply-count]]</label>
82
74
  <div class="row">
83
75
  <div class="col-md-6">
84
- <select id="reply-count-filter" class="form-select">
76
+ <select id="reply-count-filter" class="form-control">
85
77
  <option value="atleast">[[search:at-least]]</option>
86
78
  <option value="atmost">[[search:at-most]]</option>
87
79
  </select>
@@ -92,17 +84,17 @@
92
84
  </div>
93
85
  </div>
94
86
 
95
- <div class="mb-2 post-search-item">
96
- <label class="form-label">[[search:post-time]]</label>
87
+ <div class="form-group post-search-item">
88
+ <label>[[search:post-time]]</label>
97
89
  <div class="row">
98
90
  <div class="col-md-6">
99
- <select id="post-time-filter" class="form-select">
91
+ <select id="post-time-filter" class="form-control">
100
92
  <option value="newer">[[search:newer-than]]</option>
101
93
  <option value="older">[[search:older-than]]</option>
102
94
  </select>
103
95
  </div>
104
96
  <div class="col-md-6">
105
- <select id="post-time-range" class="form-select">
97
+ <select id="post-time-range" class="form-control">
106
98
  <option value="">[[search:any-date]]</option>
107
99
  <option value="86400">[[search:yesterday]]</option>
108
100
  <option value="604800">[[search:one-week]]</option>
@@ -116,11 +108,11 @@
116
108
  </div>
117
109
  </div>
118
110
 
119
- <div class="mb-2 post-search-item">
120
- <label class="form-label">[[search:sort-by]]</label>
111
+ <div class="form-group post-search-item">
112
+ <label>[[search:sort-by]]</label>
121
113
  <div class="row">
122
114
  <div class="col-md-6">
123
- <select id="post-sort-by" class="form-select">
115
+ <select id="post-sort-by" class="form-control">
124
116
  <option value="relevance">[[search:relevance]]</option>
125
117
  <option value="timestamp">[[search:post-time]]</option>
126
118
  <option value="votes">[[search:votes]]</option>
@@ -135,7 +127,7 @@
135
127
  </select>
136
128
  </div>
137
129
  <div class="col-md-6">
138
- <select id="post-sort-direction" class="form-select">
130
+ <select id="post-sort-direction" class="form-control">
139
131
  <option value="desc">[[search:descending]]</option>
140
132
  <option value="asc">[[search:ascending]]</option>
141
133
  </select>
@@ -143,8 +135,8 @@
143
135
  </div>
144
136
  </div>
145
137
 
146
- <div class="mb-2 post-search-item">
147
- <label class="form-label">[[search:show-results-as]]</label>
138
+ <div class="form-group post-search-item">
139
+ <label>[[search:show-results-as]]</label>
148
140
  <div class="radio">
149
141
  <label>
150
142
  <input type="radio" name="options" id="show-as-posts" checked>
@@ -162,74 +154,69 @@
162
154
  </div>
163
155
  </div>
164
156
 
157
+
158
+
165
159
  <div class="btn-group">
166
160
  <button type="submit" class="btn btn-primary">[[global:search]]</button>
167
- <a class="btn btn-outline-secondary" id="save-preferences" href="#">[[search:save-preferences]]</a>
168
- <a class="btn btn-outline-secondary" id="clear-preferences" href="#">[[search:clear-preferences]]</a>
161
+ <a class="btn btn-default" id="save-preferences" href="#">[[search:save-preferences]]</a>
162
+ <a class="btn btn-default" id="clear-preferences" href="#">[[search:clear-preferences]]</a>
169
163
  </div>
170
164
  </div>
171
- </div>
172
165
  </div>
173
166
  </form>
167
+ </div>
168
+ </div>
174
169
 
175
- <div id="results" class="search-results col-md-12" data-search-query="{search_query}">
176
- <!-- IF matchCount -->
177
- <div class="alert alert-info">[[search:results_matching, {matchCount}, {search_query}, {time}]] </div>
178
- <!-- ELSE -->
179
- <!-- IF search_query -->
180
- <div class="alert alert-warning">[[search:no-matches]]</div>
181
- <!-- ENDIF search_query -->
182
- <!-- ENDIF matchCount -->
183
-
184
- {{{each posts}}}
185
- <div class="topic-row card clearfix mb-3">
186
- <div class="card-body">
187
- <a href="{config.relative_path}/user/{posts.user.userslug}">{buildAvatar(posts.user, "24px", true)}</a>
188
- <span class="search-result-text search-result-title"><a href="{config.relative_path}/post/{posts.pid}">{posts.topic.title}</a></span>
189
- <br/>
190
- <!-- IF showAsPosts -->
191
- <div class="search-result-text">
192
- {posts.content}
193
- <p class="fade-out"></p>
194
- </div>
195
- <!-- ENDIF showAsPosts -->
170
+ <div class="row">
171
+ <div id="results" class="search-results col-md-12" data-search-query="{search_query}">
172
+ <!-- IF matchCount -->
173
+ <div class="alert alert-info">[[search:results_matching, {matchCount}, {search_query}, {time}]] </div>
174
+ <!-- ELSE -->
175
+ <!-- IF search_query -->
176
+ <div class="alert alert-warning">[[search:no-matches]]</div>
177
+ <!-- ENDIF search_query -->
178
+ <!-- ENDIF matchCount -->
196
179
 
197
- <small class="post-info float-end">
198
- <a href="{config.relative_path}/category/{posts.category.slug}">
199
- <div class="category-item d-inline-block">
200
- {buildCategoryIcon(./category, "24px", "rounded-circle")}
201
- {posts.category.name}
202
- </div>
203
- </a> &bull;
204
- <span class="timeago" title="{posts.timestampISO}"></span>
205
- </small>
180
+ {{{each posts}}}
181
+ <div class="topic-row panel panel-default clearfix">
182
+ <div class="panel-body">
183
+ <a href="{config.relative_path}/user/{posts.user.userslug}">{buildAvatar(posts.user, "sm", true)}</a>
184
+ <span class="search-result-text search-result-title"><a href="{config.relative_path}/post/{posts.pid}">{posts.topic.title}</a></span>
185
+ <br/>
186
+ <!-- IF showAsPosts -->
187
+ <div class="search-result-text">
188
+ {posts.content}
189
+ <p class="fade-out"></p>
206
190
  </div>
191
+ <!-- ENDIF showAsPosts -->
192
+
193
+ <small class="post-info pull-right">
194
+ <a href="{config.relative_path}/category/{posts.category.slug}"><span class="fa-stack" style="{function.generateCategoryBackground, posts.category}"><i style="color:{posts.category.color};" class="fa {posts.category.icon} fa-stack-1x"></i></span> {posts.category.name}</a> &bull;
195
+ <span class="timeago" title="{posts.timestampISO}"></span>
196
+ </small>
207
197
  </div>
208
- {{{end}}}
198
+ </div>
199
+ {{{end}}}
209
200
 
210
- <!-- IF users.length -->
211
- <!-- IMPORT partials/users_list.tpl -->
212
- <!-- ENDIF users.length -->
201
+ <!-- IF users.length -->
202
+ <ul id="users-container" class="users-container">
203
+ <!-- IMPORT partials/users_list.tpl -->
204
+ </ul>
205
+ <!-- ENDIF users.length -->
213
206
 
214
- <!-- IF tags.length -->
215
- <!-- IMPORT partials/tags_list.tpl -->
216
- <!-- ENDIF tags.length -->
207
+ <!-- IF tags.length -->
208
+ <!-- IMPORT partials/tags_list.tpl -->
209
+ <!-- ENDIF tags.length -->
217
210
 
218
- {{{ if categories.length }}}
219
- <ul class="categories">
220
- {{{each categories}}}
221
- <!-- IMPORT partials/categories/item.tpl -->
222
- {{{end}}}
223
- </ul>
224
- {{{ end }}}
211
+ {{{ if categories.length }}}
212
+ <ul class="categories">
213
+ {{{each categories}}}
214
+ <!-- IMPORT partials/categories/item.tpl -->
215
+ {{{end}}}
216
+ </ul>
217
+ {{{ end }}}
225
218
 
226
- <!-- IMPORT partials/paginator.tpl -->
227
- </div>
228
- </div>
229
- <div data-widget-area="sidebar" class="col-lg-3 col-sm-12 <!-- IF !widgets.sidebar.length -->hidden<!-- ENDIF !widgets.sidebar.length -->">
230
- {{{each widgets.sidebar}}}
231
- {{widgets.sidebar.html}}
232
- {{{end}}}
219
+ <!-- IMPORT partials/paginator.tpl -->
233
220
  </div>
234
221
  </div>
235
222
  </div>
package/templates/tag.tpl CHANGED
@@ -5,25 +5,27 @@
5
5
  {{{end}}}
6
6
  </div>
7
7
  <div class="tag">
8
- <div class="topic-list-header sticky-top btn-toolbar justify-content-between py-2 mb-2 gap-1 flex-nowrap">
9
- <div class="d-flex gap-1 align-items-stretch">
8
+ <div class="topic-list-header btn-toolbar">
9
+ <div class="pull-left">
10
10
  <!-- IF loggedIn -->
11
11
  <!-- IMPORT partials/buttons/newTopic.tpl -->
12
12
  <!-- ELSE -->
13
13
  <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary">[[category:guest-login-post]]</a>
14
14
  <!-- ENDIF loggedIn -->
15
15
  </div>
16
- <div class="d-flex gap-1 align-items-stretch">
17
- <!-- IMPORT partials/category-filter-right.tpl -->
16
+
17
+ <div class="btn-group pull-right">
18
18
  <!-- IMPORT partials/category/tools.tpl -->
19
19
  </div>
20
+
21
+ <!-- IMPORT partials/category-filter-right.tpl -->
20
22
  </div>
21
23
 
22
- <div class="category">
23
- <!-- IF !topics.length -->
24
- <div class="alert alert-warning">[[tags:no_tag_topics]]</div>
25
- <!-- ENDIF !topics.length -->
24
+ <!-- IF !topics.length -->
25
+ <div class="alert alert-warning">[[tags:no_tag_topics]]</div>
26
+ <!-- ENDIF !topics.length -->
26
27
 
28
+ <div class="category">
27
29
  <!-- IMPORT partials/topics_list.tpl -->
28
30
  <button id="load-more-btn" class="btn btn-primary hide">[[unread:load_more]]</button>
29
31
  <!-- IF config.usePagination -->
@@ -7,13 +7,11 @@
7
7
  <div class="tags">
8
8
  <!-- IF displayTagSearch -->
9
9
  <!-- IF tags.length -->
10
- <div class="row justify-content-end mb-3">
11
- <div class="col-lg-3">
10
+ <div class="row">
11
+ <div class="col-lg-12">
12
12
  <div class="input-group">
13
13
  <input type="text" class="form-control" placeholder="[[global:search]]" id="tag-search">
14
- <button class="btn btn-primary" type="button">
15
- <i class="fa fa-search"></i>
16
- </button>
14
+ <span class="input-group-addon search-button"><i class="fa fa-search"></i></span>
17
15
  </div>
18
16
  </div>
19
17
  </div>
package/templates/top.tpl CHANGED
@@ -5,20 +5,46 @@
5
5
  {{{end}}}
6
6
  </div>
7
7
  <div class="top">
8
- <div class="topic-list-header sticky-top btn-toolbar justify-content-between py-2 mb-2 gap-1 flex-nowrap">
9
- <div class="d-flex gap-1 align-items-stretch">
10
- {{{ if canPost }}}
8
+ <div class="topic-list-header btn-toolbar">
9
+ <div class="pull-left">
10
+ <!-- IF loggedIn -->
11
11
  <!-- IMPORT partials/buttons/newTopic.tpl -->
12
- {{{ else }}}
12
+ <!-- ELSE -->
13
13
  <a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary">[[category:guest-login-post]]</a>
14
- {{{ end }}}
14
+ <!-- ENDIF loggedIn -->
15
15
  </div>
16
- <div class="d-flex gap-1 align-items-stretch">
17
- <!-- IMPORT partials/topic-terms.tpl -->
18
- <!-- IMPORT partials/topic-filters.tpl -->
19
- <!-- IMPORT partials/category-filter-right.tpl -->
16
+
17
+ <div class="btn-group pull-right">
20
18
  <!-- IMPORT partials/category/tools.tpl -->
21
19
  </div>
20
+
21
+ <!-- IMPORT partials/category-filter-right.tpl -->
22
+
23
+ <div class="btn-group pull-right bottom-sheet <!-- IF !filters.length -->hidden<!-- ENDIF !filters.length -->">
24
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
25
+ <span class="visible-sm-inline visible-md-inline visible-lg-inline">{selectedFilter.name}</span><span class="visible-xs-inline"><i class="fa fa-fw {selectedFilter.icon}"></i></span> <span class="caret"></span>
26
+ </button>
27
+ <ul class="dropdown-menu" role="menu">
28
+ {{{each filters}}}
29
+ <li role="presentation" class="category {{{if filters.selected}}}selected{{{end}}}">
30
+ <a role="menu-item" href="{config.relative_path}/{filters.url}"><i class="fa fa-fw <!-- IF filters.selected -->fa-check<!-- ENDIF filters.selected -->"></i>{filters.name}</a>
31
+ </li>
32
+ {{{end}}}
33
+ </ul>
34
+ </div>
35
+
36
+ <div class="btn-group pull-right <!-- IF !terms.length -->hidden<!-- ENDIF !terms.length -->">
37
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
38
+ {selectedTerm.name} <span class="caret"></span>
39
+ </button>
40
+ <ul class="dropdown-menu" role="menu">
41
+ {{{each terms}}}
42
+ <li role="presentation" class="category">
43
+ <a role="menu-item" href="{config.relative_path}/{terms.url}"><i class="fa fa-fw <!-- IF terms.selected -->fa-check<!-- ENDIF terms.selected -->"></i>{terms.name}</a>
44
+ </li>
45
+ {{{end}}}
46
+ </ul>
47
+ </div>
22
48
  </div>
23
49
 
24
50
  <div class="category">
@@ -5,7 +5,7 @@
5
5
  </div>
6
6
  <div class="row">
7
7
  <div class="topic <!-- IF widgets.sidebar.length -->col-lg-9 col-sm-12<!-- ELSE -->col-lg-12<!-- ENDIF widgets.sidebar.length -->">
8
- <div class="topic-header sticky-top">
8
+ <div class="topic-header">
9
9
  <h1 component="post/header" class="" itemprop="name">
10
10
  <span class="topic-title">
11
11
  <span component="topic/labels">
@@ -20,22 +20,24 @@
20
20
  </h1>
21
21
 
22
22
  <div class="topic-info clearfix">
23
- <div class="category-item d-inline-block">
24
- {buildCategoryIcon(category, "24px", "rounded-circle")}
23
+ <div class="category-item inline-block">
24
+ <div role="presentation" class="icon pull-left" style="{function.generateCategoryBackground, category}">
25
+ <i class="fa fa-fw {category.icon}"></i>
26
+ </div>
25
27
  <a href="{config.relative_path}/category/{category.slug}">{category.name}</a>
26
28
  </div>
27
29
 
28
- <div class="tags tag-list d-inline-block hidden-xs">
30
+ <div class="tags tag-list inline-block hidden-xs">
29
31
  <!-- IMPORT partials/topic/tags.tpl -->
30
32
  </div>
31
- <div class="d-inline-block hidden-xs">
33
+ <div class="inline-block hidden-xs">
32
34
  <!-- IMPORT partials/topic/stats.tpl -->
33
35
  </div>
34
36
  {{{ if !feeds:disableRSS }}}
35
37
  {{{ if rssFeedUrl }}}<a class="hidden-xs" target="_blank" href="{rssFeedUrl}"><i class="fa fa-rss-square"></i></a>{{{ end }}}
36
38
  {{{ end }}}
37
39
  {{{ if browsingUsers }}}
38
- <div class="d-inline-block hidden-xs">
40
+ <div class="inline-block hidden-xs">
39
41
  <!-- IMPORT partials/topic/browsing-users.tpl -->
40
42
  </div>
41
43
  {{{ end }}}
@@ -45,8 +47,8 @@
45
47
  </div>
46
48
  <!-- IF merger -->
47
49
  <div component="topic/merged/message" class="alert alert-warning clearfix">
48
- <span class="float-start">[[topic:merged_message, {config.relative_path}/topic/{mergeIntoTid}, {merger.mergedIntoTitle}]]</span>
49
- <span class="float-end">
50
+ <span class="pull-left">[[topic:merged_message, {config.relative_path}/topic/{mergeIntoTid}, {merger.mergedIntoTitle}]]</span>
51
+ <span class="pull-right">
50
52
  <a href="{config.relative_path}/user/{merger.userslug}">
51
53
  <strong>{merger.username}</strong>
52
54
  </a>
package/templates/tos.tpl CHANGED
@@ -1,4 +1,4 @@
1
- <h3>[[register:terms_of_use]]</h3>
2
- <hr/>
3
-
4
- {termsOfUse}
1
+ <h3>[[register:terms_of_use]]</h3>
2
+ <hr/>
3
+
4
+ {termsOfUse}
@@ -5,23 +5,35 @@
5
5
  {{{end}}}
6
6
  </div>
7
7
  <div class="unread">
8
- <div class="topic-list-header sticky-top btn-toolbar justify-content-between py-2 mb-2 gap-1 flex-nowrap">
9
- <div class="d-flex gap-1 align-items-stretch">
8
+ <div class="topic-list-header btn-toolbar">
9
+ <div class="pull-left">
10
10
  <!-- IMPORT partials/buttons/newTopic.tpl -->
11
- <a href="{config.relative_path}/{selectedFilter.url}{querystring}" class="d-inline-block">
12
- <div class="alert alert-warning h-100 m-0 px-2 py-1 d-flex align-items-center hide" id="new-topics-alert"></div>
11
+ <a href="{config.relative_path}/{selectedFilter.url}{querystring}" class="inline-block">
12
+ <div class="alert alert-warning hide" id="new-topics-alert"></div>
13
13
  </a>
14
14
  </div>
15
15
 
16
- <div class="d-flex gap-1 align-items-stretch">
17
- <!-- IMPORT partials/topic-filters.tpl -->
18
- <!-- IMPORT partials/category-filter-right.tpl -->
16
+ <div class="btn-group pull-right">
17
+ <!-- IMPORT partials/category/tools.tpl -->
18
+ </div>
19
19
 
20
- <div class="markread btn-group {{{ if !topics.length }}}hidden{{{ end }}}">
21
- <!-- IMPORT partials/category-selector-right.tpl -->
20
+ <div class="markread btn-group pull-right {{{ if !topics.length }}}hidden{{{ end }}}">
21
+ <!-- IMPORT partials/category-selector-right.tpl -->
22
22
  </div>
23
23
 
24
- <!-- IMPORT partials/category/tools.tpl -->
24
+ <!-- IMPORT partials/category-filter-right.tpl -->
25
+
26
+ <div class="btn-group pull-right bottom-sheet">
27
+ <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
28
+ <span class="visible-sm-inline visible-md-inline visible-lg-inline">{selectedFilter.name}</span><span class="visible-xs-inline"><i class="fa fa-fw {selectedFilter.icon}"></i></span> <span class="caret"></span>
29
+ </button>
30
+ <ul class="dropdown-menu" role="menu">
31
+ {{{each filters}}}
32
+ <li role="presentation" class="category {{{if filters.selected}}}selected{{{end}}}">
33
+ <a role="menu-item" href="{config.relative_path}/{filters.url}"><i class="fa fa-fw <!-- IF filters.selected -->fa-check<!-- ENDIF filters.selected -->"></i>{filters.name}</a>
34
+ </li>
35
+ {{{end}}}
36
+ </ul>
25
37
  </div>
26
38
  </div>
27
39
 
@@ -1,34 +1,47 @@
1
1
  <!-- IMPORT partials/breadcrumbs.tpl -->
2
+
2
3
  <div data-widget-area="header">
3
4
  {{{each widgets.header}}}
4
5
  {{widgets.header.html}}
5
6
  {{{end}}}
6
7
  </div>
7
8
  <div class="users">
8
- <div class="row mb-3">
9
+ <div class="row">
9
10
  <div class="col-lg-6">
10
11
  <!-- IMPORT partials/users_list_menu.tpl -->
11
12
  </div>
12
- <div class="col-3 text-end">
13
+ <div class="col-xs-3 text-right">
13
14
  <!-- IF showInviteButton -->
14
15
  <button component="user/invite" class="btn btn-success"><i class="fa fa-users"></i> [[users:invite]]</button>
15
16
  <!-- ENDIF showInviteButton -->
16
17
  </div>
17
18
  <!-- IF displayUserSearch -->
18
- <div class="col-lg-3 col-9">
19
+ <div class="col-lg-3 col-xs-9">
19
20
  <div class="search">
20
21
  <div class="input-group">
21
- <input class="form-control" id="search-user" type="text" placeholder="[[global:search]]"/>
22
- <button class="btn btn-primary" type="button">
22
+ <input class="form-control" id="search-user" type="text" placeholder="[[users:enter_username]]"/>
23
+ <span class="input-group-addon">
23
24
  <i component="user/search/icon" class="fa fa-search"></i>
24
- </button>
25
+ </span>
25
26
  </div>
26
27
  </div>
27
28
  </div>
28
29
  <!-- ENDIF displayUserSearch -->
29
30
  </div>
30
31
 
31
- <!-- IMPORT partials/users_list.tpl -->
32
+ <ul id="users-container" class="users-container">
33
+ <!-- IMPORT partials/users_list.tpl -->
34
+ <!-- IF anonymousUserCount -->
35
+ <li class="users-box anon-user">
36
+ <div class="avatar avatar-lg avatar-rounded">G</div>
37
+ <br/>
38
+ <div class="user-info">
39
+ <span id="online_anon_count">{anonymousUserCount}</span>
40
+ <span>[[global:guests]]</span>
41
+ </div>
42
+ </li>
43
+ <!-- ENDIF anonymousUserCount -->
44
+ </ul>
32
45
 
33
46
  <!-- IMPORT partials/paginator.tpl -->
34
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": "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"
7
7
  }
package/theme.less ADDED
@@ -0,0 +1,2 @@
1
+ @import "./less/bootstrap/bootstrap";
2
+ @import "./less/persona";