nodebb-theme-persona 12.1.4 → 12.1.6

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 +14 -14
  2. package/package.json +2 -2
  3. package/public/persona.js +11 -23
  4. package/{less/account.less → scss/account.scss} +13 -97
  5. package/{less/categories.less → scss/categories.scss} +10 -40
  6. package/{less/category.less → scss/category.scss} +26 -75
  7. package/{less/chats.less → scss/chats.scss} +35 -88
  8. package/{less/flags.less → scss/flags.scss} +3 -3
  9. package/{less/footer.less → scss/footer.scss} +0 -1
  10. package/{less/groups.less → scss/groups.scss} +14 -38
  11. package/{less/header.less → scss/header.scss} +63 -139
  12. package/{less/helpers.less → scss/helpers.scss} +0 -0
  13. package/{less/keyframes.less → scss/keyframes.scss} +0 -0
  14. package/{less/mixins.less → scss/mixins.scss} +17 -59
  15. package/{less/mobile.less → scss/mobile.scss} +13 -18
  16. package/{less/modules/alerts.less → scss/modules/alerts.scss} +21 -21
  17. package/{less/modules/composer-default.less → scss/modules/composer-default.scss} +2 -2
  18. package/{less/modules/cookie-consent.less → scss/modules/cookie-consent.scss} +1 -1
  19. package/{less/modules/fab.less → scss/modules/fab.scss} +2 -2
  20. package/{less/modules/morph.less → scss/modules/morph.scss} +1 -1
  21. package/{less/modules/necro-post.less → scss/modules/necro-post.scss} +0 -0
  22. package/scss/modules/nprogress.scss +80 -0
  23. package/{less/modules/taskbar.less → scss/modules/taskbar.scss} +11 -10
  24. package/{less/modules/usercard.less → scss/modules/usercard.scss} +0 -0
  25. package/{less/noscript.less → scss/noscript.scss} +5 -7
  26. package/{less/outgoing.less → scss/outgoing.scss} +0 -0
  27. package/scss/overrides.scss +44 -0
  28. package/{less/persona.less → scss/persona.scss} +1 -13
  29. package/{less/posts_list.less → scss/posts_list.scss} +11 -14
  30. package/{less/register.less → scss/register.scss} +2 -7
  31. package/scss/search.scss +39 -0
  32. package/{less/style.less → scss/style.scss} +23 -47
  33. package/scss/tags.scss +11 -0
  34. package/{less/topic.less → scss/topic.scss} +53 -90
  35. package/scss/topics_list.scss +17 -0
  36. package/{less/variables.less → scss/variables.scss} +3 -3
  37. package/templates/account/blocks.tpl +24 -26
  38. package/templates/account/categories.tpl +6 -6
  39. package/templates/account/consent.tpl +10 -10
  40. package/templates/account/edit/password.tpl +8 -10
  41. package/templates/account/edit/username.tpl +6 -10
  42. package/templates/account/edit.tpl +23 -23
  43. package/templates/account/followers.tpl +3 -3
  44. package/templates/account/following.tpl +3 -3
  45. package/templates/account/groups.tpl +2 -2
  46. package/templates/account/info.tpl +67 -72
  47. package/templates/account/posts.tpl +1 -1
  48. package/templates/account/profile.tpl +20 -18
  49. package/templates/account/sessions.tpl +3 -3
  50. package/templates/account/settings.tpl +93 -81
  51. package/templates/account/topics.tpl +5 -5
  52. package/templates/account/uploads.tpl +2 -2
  53. package/templates/admin/plugins/persona.tpl +3 -3
  54. package/templates/category.tpl +15 -14
  55. package/templates/chat.tpl +16 -9
  56. package/templates/chats.tpl +5 -3
  57. package/templates/flags/detail.tpl +86 -80
  58. package/templates/flags/list.tpl +4 -4
  59. package/templates/footer.tpl +1 -1
  60. package/templates/groups/details.tpl +23 -218
  61. package/templates/groups/list.tpl +11 -9
  62. package/templates/groups/members.tpl +1 -4
  63. package/templates/header.tpl +10 -4
  64. package/templates/ip-blacklist.tpl +22 -20
  65. package/templates/login.tpl +17 -14
  66. package/templates/modules/taskbar.tpl +1 -1
  67. package/templates/modules/usercard.tpl +2 -2
  68. package/templates/notifications.tpl +40 -38
  69. package/templates/partials/acceptTos.tpl +8 -8
  70. package/templates/partials/account/category-item.tpl +6 -5
  71. package/templates/partials/account/header.tpl +2 -2
  72. package/templates/partials/account/menu.tpl +37 -37
  73. package/templates/partials/breadcrumbs.tpl +1 -1
  74. package/templates/partials/buttons/newTopic.tpl +10 -3
  75. package/templates/partials/categories/item.tpl +24 -10
  76. package/templates/partials/categories/lastpost.tpl +3 -3
  77. package/templates/partials/categories/link.tpl +10 -10
  78. package/templates/partials/category/sort.tpl +7 -7
  79. package/templates/partials/category/subcategory.tpl +3 -3
  80. package/templates/partials/category/tags.tpl +3 -5
  81. package/templates/partials/category/tools.tpl +16 -16
  82. package/templates/partials/category/watch.tpl +8 -10
  83. package/templates/partials/category-filter-content.tpl +17 -5
  84. package/templates/partials/category-filter-right.tpl +1 -1
  85. package/templates/partials/category-selector-content.tpl +17 -4
  86. package/templates/partials/category-selector-right.tpl +1 -1
  87. package/templates/partials/chats/message-window.tpl +10 -8
  88. package/templates/partials/chats/message.tpl +11 -11
  89. package/templates/partials/chats/options.tpl +8 -8
  90. package/templates/partials/chats/recent_room.tpl +1 -1
  91. package/templates/partials/chats/system-message.tpl +1 -1
  92. package/templates/partials/chats/user.tpl +1 -1
  93. package/templates/partials/chats-menu.tpl +11 -11
  94. package/templates/partials/cookie-consent.tpl +1 -1
  95. package/templates/partials/flags/filters.tpl +34 -32
  96. package/templates/partials/groups/admin.tpl +195 -0
  97. package/templates/partials/groups/badge.tpl +1 -0
  98. package/templates/partials/groups/list.tpl +6 -6
  99. package/templates/partials/groups/memberlist.tpl +11 -10
  100. package/templates/partials/menu.tpl +149 -156
  101. package/templates/partials/notifications_list.tpl +2 -2
  102. package/templates/partials/paginator.tpl +21 -21
  103. package/templates/partials/post_bar.tpl +4 -4
  104. package/templates/partials/posts_list.tpl +1 -1
  105. package/templates/partials/posts_list_item.tpl +2 -2
  106. package/templates/partials/quick-search-results.tpl +14 -11
  107. package/templates/partials/slideout-menu.tpl +1 -1
  108. package/templates/partials/tags_list.tpl +3 -3
  109. package/templates/partials/thread_tools.tpl +4 -4
  110. package/templates/partials/toast.tpl +14 -0
  111. package/templates/partials/topic/deleted-message.tpl +2 -2
  112. package/templates/partials/topic/event.tpl +26 -0
  113. package/templates/partials/topic/navigation-post.tpl +3 -3
  114. package/templates/partials/topic/navigator.tpl +7 -7
  115. package/templates/partials/topic/necro-post.tpl +1 -1
  116. package/templates/partials/topic/post-menu-list.tpl +26 -23
  117. package/templates/partials/topic/post-menu.tpl +3 -3
  118. package/templates/partials/topic/post.tpl +49 -44
  119. package/templates/partials/topic/quickreply.tpl +3 -3
  120. package/templates/partials/topic/reply-button.tpl +3 -3
  121. package/templates/partials/topic/sort.tpl +5 -5
  122. package/templates/partials/topic/tag.tpl +1 -0
  123. package/templates/partials/topic/tags.tpl +3 -5
  124. package/templates/partials/topic/topic-menu-list.tpl +18 -16
  125. package/templates/partials/topic/watch.tpl +11 -10
  126. package/templates/partials/topic-filters.tpl +12 -0
  127. package/templates/partials/topic-terms.tpl +12 -0
  128. package/templates/partials/topics_list.tpl +27 -25
  129. package/templates/partials/users_list.tpl +22 -10
  130. package/templates/partials/users_list_menu.tpl +19 -9
  131. package/templates/popular.tpl +9 -35
  132. package/templates/post-queue.tpl +42 -35
  133. package/templates/recent.tpl +10 -24
  134. package/templates/register.tpl +17 -17
  135. package/templates/registerComplete.tpl +14 -10
  136. package/templates/reset.tpl +7 -5
  137. package/templates/reset_code.tpl +9 -9
  138. package/templates/search.tpl +100 -87
  139. package/templates/tag.tpl +8 -10
  140. package/templates/tags.tpl +5 -3
  141. package/templates/top.tpl +9 -35
  142. package/templates/topic.tpl +13 -11
  143. package/templates/tos.tpl +4 -4
  144. package/templates/unread.tpl +10 -22
  145. package/templates/users.tpl +7 -20
  146. package/theme.json +6 -6
  147. package/theme.scss +1 -0
  148. package/less/bootstrap/.csscomb.json +0 -297
  149. package/less/bootstrap/.csslintrc +0 -19
  150. package/less/bootstrap/alerts.less +0 -73
  151. package/less/bootstrap/badges.less +0 -66
  152. package/less/bootstrap/bootstrap.less +0 -50
  153. package/less/bootstrap/breadcrumbs.less +0 -26
  154. package/less/bootstrap/button-groups.less +0 -243
  155. package/less/bootstrap/buttons.less +0 -160
  156. package/less/bootstrap/carousel.less +0 -269
  157. package/less/bootstrap/close.less +0 -34
  158. package/less/bootstrap/code.less +0 -69
  159. package/less/bootstrap/component-animations.less +0 -33
  160. package/less/bootstrap/dropdowns.less +0 -214
  161. package/less/bootstrap/forms.less +0 -574
  162. package/less/bootstrap/glyphicons.less +0 -305
  163. package/less/bootstrap/grid.less +0 -84
  164. package/less/bootstrap/input-groups.less +0 -166
  165. package/less/bootstrap/jumbotron.less +0 -50
  166. package/less/bootstrap/labels.less +0 -64
  167. package/less/bootstrap/list-group.less +0 -124
  168. package/less/bootstrap/media.less +0 -61
  169. package/less/bootstrap/mixins/alerts.less +0 -14
  170. package/less/bootstrap/mixins/background-variant.less +0 -8
  171. package/less/bootstrap/mixins/border-radius.less +0 -18
  172. package/less/bootstrap/mixins/buttons.less +0 -52
  173. package/less/bootstrap/mixins/center-block.less +0 -7
  174. package/less/bootstrap/mixins/clearfix.less +0 -22
  175. package/less/bootstrap/mixins/forms.less +0 -85
  176. package/less/bootstrap/mixins/gradients.less +0 -59
  177. package/less/bootstrap/mixins/grid-framework.less +0 -91
  178. package/less/bootstrap/mixins/grid.less +0 -122
  179. package/less/bootstrap/mixins/hide-text.less +0 -21
  180. package/less/bootstrap/mixins/image.less +0 -33
  181. package/less/bootstrap/mixins/labels.less +0 -12
  182. package/less/bootstrap/mixins/list-group.less +0 -29
  183. package/less/bootstrap/mixins/nav-divider.less +0 -10
  184. package/less/bootstrap/mixins/nav-vertical-align.less +0 -9
  185. package/less/bootstrap/mixins/opacity.less +0 -8
  186. package/less/bootstrap/mixins/pagination.less +0 -23
  187. package/less/bootstrap/mixins/panels.less +0 -24
  188. package/less/bootstrap/mixins/progress-bar.less +0 -10
  189. package/less/bootstrap/mixins/reset-filter.less +0 -8
  190. package/less/bootstrap/mixins/resize.less +0 -6
  191. package/less/bootstrap/mixins/responsive-visibility.less +0 -15
  192. package/less/bootstrap/mixins/size.less +0 -10
  193. package/less/bootstrap/mixins/tab-focus.less +0 -9
  194. package/less/bootstrap/mixins/table-row.less +0 -28
  195. package/less/bootstrap/mixins/text-emphasis.less +0 -8
  196. package/less/bootstrap/mixins/text-overflow.less +0 -8
  197. package/less/bootstrap/mixins/vendor-prefixes.less +0 -227
  198. package/less/bootstrap/mixins.less +0 -39
  199. package/less/bootstrap/modals.less +0 -150
  200. package/less/bootstrap/navbar.less +0 -660
  201. package/less/bootstrap/navs.less +0 -242
  202. package/less/bootstrap/normalize.less +0 -427
  203. package/less/bootstrap/pager.less +0 -54
  204. package/less/bootstrap/pagination.less +0 -88
  205. package/less/bootstrap/panels.less +0 -265
  206. package/less/bootstrap/popovers.less +0 -135
  207. package/less/bootstrap/print.less +0 -107
  208. package/less/bootstrap/progress-bars.less +0 -87
  209. package/less/bootstrap/responsive-embed.less +0 -35
  210. package/less/bootstrap/responsive-utilities.less +0 -194
  211. package/less/bootstrap/scaffolding.less +0 -162
  212. package/less/bootstrap/tables.less +0 -234
  213. package/less/bootstrap/theme.less +0 -273
  214. package/less/bootstrap/thumbnails.less +0 -36
  215. package/less/bootstrap/tooltip.less +0 -102
  216. package/less/bootstrap/type.less +0 -302
  217. package/less/bootstrap/utilities.less +0 -55
  218. package/less/bootstrap/variables.less +0 -861
  219. package/less/bootstrap/wells.less +0 -29
  220. package/less/bootstrap-flipped.css +0 -1550
  221. package/less/ip-blacklist.less +0 -7
  222. package/less/modules/bottom-sheet.less +0 -60
  223. package/less/modules/nprogress.less +0 -80
  224. package/less/notifications.less +0 -38
  225. package/less/post-queue.less +0 -19
  226. package/less/rtl.less +0 -132
  227. package/less/search.less +0 -96
  228. package/less/tags.less +0 -37
  229. package/less/topics_list.less +0 -16
  230. package/less/users.less +0 -73
  231. package/templates/alert.tpl +0 -15
  232. package/templates/partials/change_owner_modal.tpl +0 -22
  233. package/templates/partials/delete_posts_modal.tpl +0 -19
  234. package/templates/partials/fork_thread_modal.tpl +0 -22
  235. package/templates/partials/merge_topics_modal.tpl +0 -58
  236. package/templates/partials/modals/change_picture_modal.tpl +0 -73
  237. package/templates/partials/modals/flag_modal.tpl +0 -45
  238. package/templates/partials/modals/manage_room.tpl +0 -11
  239. package/templates/partials/modals/manage_room_users.tpl +0 -7
  240. package/templates/partials/modals/post_history.tpl +0 -36
  241. package/templates/partials/modals/rename_room.tpl +0 -4
  242. package/templates/partials/modals/upload_file_modal.tpl +0 -44
  243. package/templates/partials/modals/upload_picture_from_url_modal.tpl +0 -17
  244. package/templates/partials/modals/votes_modal.tpl +0 -10
  245. package/templates/partials/move_thread_modal.tpl +0 -17
  246. package/templates/partials/topic/badge.tpl +0 -5
  247. package/theme.less +0 -2
@@ -1,25 +1,39 @@
1
1
  <li component="categories/category" data-cid="{../cid}" data-numRecentReplies="1" class="row clearfix category-{../cid}">
2
2
  <meta itemprop="name" content="{../name}">
3
3
 
4
- <div class="content col-xs-12 <!-- IF config.hideCategoryLastPost -->col-md-10 col-sm-12<!-- ELSE -->col-md-7 col-sm-9<!-- ENDIF config.hideCategoryLastPost -->">
5
- <div class="icon pull-left" style="{function.generateCategoryBackground}">
6
- <i class="fa fa-fw {../icon}"></i>
4
+ <div class="content col-12 <!-- IF config.hideCategoryLastPost -->col-md-10 col-sm-12<!-- ELSE -->col-md-7 col-sm-9<!-- ENDIF config.hideCategoryLastPost -->">
5
+ <div class="float-start">
6
+ {buildCategoryIcon(@value, "48px", "rounded-circle")}
7
7
  </div>
8
-
9
8
  <h2 class="title">
10
9
  <!-- IMPORT partials/categories/link.tpl -->
11
10
  </h2>
12
11
  <div>
13
12
  <!-- IF ../descriptionParsed -->
14
- <div class="description">
13
+ <div class="description text-muted">
15
14
  {../descriptionParsed}
16
15
  </div>
17
16
  <!-- ENDIF ../descriptionParsed -->
18
17
  <!-- IF !config.hideSubCategories -->
19
- {function.generateChildrenCategories}
18
+ {{{ if ../children.length }}}
19
+ <div class="category-children">
20
+ {{{ each ../children }}}
21
+ {{{ if !../isSection }}}
22
+ <span class="category-children-item">
23
+ {buildCategoryIcon(@value, "24px", "rounded-circle")}
24
+ {{{ if ../link }}}
25
+ <a href="{../link}">{../name}</a>
26
+ {{{ else }}}
27
+ <a href="{config.relative_path}/category/{../slug}">{../name}</a>
28
+ {{{ end }}}
29
+ </span>
30
+ {{{ end }}}
31
+ {{{ end }}}
32
+ </div>
33
+ {{{ end }}}
20
34
  <!-- ENDIF !config.hideSubCategories -->
21
35
  </div>
22
- <span class="visible-xs pull-right">
36
+ <span class="d-block d-sm-none float-end">
23
37
  <!-- IF ../teaser.timestampISO -->
24
38
  <a class="permalink" href="{../teaser.url}">
25
39
  <small class="timeago" title="{../teaser.timestampISO}"></small>
@@ -29,16 +43,16 @@
29
43
  </div>
30
44
 
31
45
  <!-- IF !../link -->
32
- <div class="col-md-1 hidden-sm hidden-xs stats">
46
+ <div class="col-md-1 d-none d-md-block stats text-muted">
33
47
  <span class="{../unread-class} human-readable-number" title="{../totalTopicCount}">{../totalTopicCount}</span><br />
34
48
  <small>[[global:topics]]</small>
35
49
  </div>
36
- <div class="col-md-1 hidden-sm hidden-xs stats">
50
+ <div class="col-md-1 d-none d-md-block stats text-muted">
37
51
  <span class="{../unread-class} human-readable-number" title="{../totalPostCount}">{../totalPostCount}</span><br />
38
52
  <small>[[global:posts]]</small>
39
53
  </div>
40
54
  <!-- IF !config.hideCategoryLastPost -->
41
- <div class="col-md-3 col-sm-3 teaser hidden-xs" component="topic/teaser">
55
+ <div class="col-md-3 col-sm-3 teaser d-none d-sm-block" component="topic/teaser">
42
56
  <!-- IMPORT partials/categories/lastpost.tpl -->
43
57
  </div>
44
58
  <!-- ENDIF !config.hideCategoryLastPost -->
@@ -1,11 +1,11 @@
1
- <div class="card background-link-container" style="border-color: {../bgColor}">
1
+ <div class="lastpost background-link-container" style="border-color: {../bgColor}">
2
2
  {{{each ./posts}}}
3
3
  <!-- IF @first -->
4
4
  <div component="category/posts">
5
5
  <a class="background-link" href="{config.relative_path}/topic/{../topic.slug}<!-- IF ../index -->/{../index}<!-- ENDIF ../index -->"></a>
6
6
  <p>
7
- <a href="{config.relative_path}/user/{../user.userslug}">{buildAvatar(posts.user, "sm", true)}</a>
8
- <a class="permalink" href="{config.relative_path}/topic/{../topic.slug}<!-- IF ../index -->/{../index}<!-- ENDIF ../index -->">
7
+ <a href="{config.relative_path}/user/{../user.userslug}">{buildAvatar(posts.user, "24px", true)}</a>
8
+ <a class="permalink text-muted" href="{config.relative_path}/topic/{../topic.slug}<!-- IF ../index -->/{../index}<!-- ENDIF ../index -->">
9
9
  <small class="timeago" title="{../timestampISO}"></small>
10
10
  </a>
11
11
  </p>
@@ -1,11 +1,11 @@
1
- <!-- IF ../isSection -->
2
- {../name}
3
- <!-- ELSE -->
4
- <!-- IF ../link -->
5
- <a href="{../link}" itemprop="url">
6
- <!-- ELSE -->
7
- <a href="{config.relative_path}/category/{../slug}" itemprop="url">
8
- <!-- ENDIF ../link -->
9
- {../name}
10
- </a>
1
+ <!-- IF ../isSection -->
2
+ {../name}
3
+ <!-- ELSE -->
4
+ <!-- IF ../link -->
5
+ <a href="{../link}" itemprop="url">
6
+ <!-- ELSE -->
7
+ <a href="{config.relative_path}/category/{../slug}" itemprop="url">
8
+ <!-- ENDIF ../link -->
9
+ {../name}
10
+ </a>
11
11
  <!-- ENDIF ../isSection -->
@@ -1,15 +1,15 @@
1
1
  <div class="btn-group bottom-sheet" component="thread/sort">
2
- <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">
2
+ <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button">
3
3
  <span class="visible-sm-inline visible-md-inline visible-lg-inline">[[topic:sort_by]]</span>
4
4
  <span class="visible-xs-inline"><i class="fa fa-fw fa-sort"></i></span>
5
5
  <span class="caret"></span>
6
6
  </button>
7
7
 
8
- <ul class="dropdown-menu pull-right">
9
- <li><a href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><i class="fa fa-fw"></i> [[topic:newest_to_oldest]]</a></li>
10
- <li><a href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><i class="fa fa-fw"></i> [[topic:oldest_to_newest]]</a></li>
11
- <li><a href="#" class="most_posts" data-sort="most_posts"><i class="fa fa-fw"></i> [[topic:most_posts]]</a></li>
12
- <li><a href="#" class="most_votes" data-sort="most_votes"><i class="fa fa-fw"></i> [[topic:most_votes]]</a></li>
13
- <li><a href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw"></i> [[topic:most_views]]</a></li>
8
+ <ul class="dropdown-menu dropdown-menu-end">
9
+ <li><a class="dropdown-item" href="#" class="newest_to_oldest" data-sort="newest_to_oldest"><i class="fa fa-fw"></i> [[topic:newest_to_oldest]]</a></li>
10
+ <li><a class="dropdown-item" href="#" class="oldest_to_newest" data-sort="oldest_to_newest"><i class="fa fa-fw"></i> [[topic:oldest_to_newest]]</a></li>
11
+ <li><a class="dropdown-item" href="#" class="most_posts" data-sort="most_posts"><i class="fa fa-fw"></i> [[topic:most_posts]]</a></li>
12
+ <li><a class="dropdown-item" href="#" class="most_votes" data-sort="most_votes"><i class="fa fa-fw"></i> [[topic:most_votes]]</a></li>
13
+ <li><a class="dropdown-item" href="#" class="most_views" data-sort="most_views"><i class="fa fa-fw"></i> [[topic:most_views]]</a></li>
14
14
  </ul>
15
15
  </div>
@@ -1,18 +1,18 @@
1
1
  {{{ if children.length }}}
2
2
  <div class="subcategory">
3
3
  {{{ if hasMoreSubCategories }}}
4
- <div><!-- IMPORT partials/category-selector.tpl --></div>
4
+ <div class="mb-2"><!-- IMPORT partials/category-selector.tpl --></div>
5
5
  {{{ else }}}
6
6
  <p>[[category:subcategories]]</p>
7
7
  {{{ end }}}
8
8
 
9
- <ul component="category/subcategory/container" class="categories" itemscope itemtype="http://www.schema.org/ItemList">
9
+ <ul component="category/subcategory/container" class="categories list-unstyled" itemscope itemtype="http://www.schema.org/ItemList">
10
10
  {{{each children}}}
11
11
  <!-- IMPORT partials/categories/item.tpl -->
12
12
  {{{end}}}
13
13
  </ul>
14
14
  {{{ if hasMoreSubCategories}}}
15
- <button class="btn btn-default" component="category/load-more-subcategories">[[category:x-more-categories, {subCategoriesLeft}]]</button>
15
+ <button class="btn btn-outline-secondary mb-2" component="category/load-more-subcategories">[[category:x-more-categories, {subCategoriesLeft}]]</button>
16
16
  {{{ end }}}
17
17
  </div>
18
18
  {{{ end }}}
@@ -1,5 +1,3 @@
1
- <!-- IF topics.tags.length -->
2
- {{{each tags}}}
3
- <a href="{config.relative_path}/tags/{topics.tags.value}"><span class="tag-item" data-tag="{topics.tags.value}" style="<!-- IF topics.tags.color -->color: {topics.tags.color};<!-- ENDIF topics.tags.color --><!-- IF topics.tags.bgColor -->background-color: {topics.tags.bgColor};<!-- ENDIF topics.tags.bgColor -->">{topics.tags.value}</span><span class="tag-topic-count human-readable-number" title="{topics.tags.score}">{topics.tags.score}</span></a>
4
- {{{end}}}
5
- <!-- ENDIF topics.tags.length -->
1
+ {{{ each tags }}}
2
+ <a href="{config.relative_path}/tags/{topics.tags.value}"><span class="tag-item" data-tag="{topics.tags.value}">{topics.tags.value}</span><span class="tag-topic-count human-readable-number" title="{topics.tags.score}">{topics.tags.score}</span></a>
3
+ {{{ end }}}
@@ -1,79 +1,79 @@
1
1
  <!-- IF showTopicTools -->
2
2
  <div class="btn-group thread-tools bottom-sheet">
3
- <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">
3
+ <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button">
4
4
  <span class="visible-sm-inline visible-md-inline visible-lg-inline">[[topic:thread_tools.title]]</span>
5
5
  <span class="visible-xs-inline"><i class="fa fa-fw fa-gear"></i></span>
6
6
  <span class="caret"></span>
7
7
  </button>
8
- <ul class="dropdown-menu pull-right">
8
+ <ul class="dropdown-menu dropdown-menu-end">
9
9
  <li>
10
- <a component="topic/mark-unread-for-all" href="#">
10
+ <a component="topic/mark-unread-for-all" href="#" class="dropdown-item">
11
11
  <i class="fa fa-fw fa-inbox"></i> [[topic:thread_tools.markAsUnreadForAll]]
12
12
  </a>
13
13
  </li>
14
14
  <li>
15
- <a component="topic/pin" href="#">
15
+ <a component="topic/pin" href="#" class="dropdown-item">
16
16
  <i class="fa fa-fw fa-thumb-tack"></i> [[topic:thread_tools.pin]]
17
17
  </a>
18
18
  </li>
19
19
  <li>
20
- <a component="topic/unpin" href="#" class="hidden">
20
+ <a component="topic/unpin" href="#" class="hidden dropdown-item">
21
21
  <i class="fa fa-fw fa-thumb-tack fa-rotate-90"></i> [[topic:thread_tools.unpin]]
22
22
  </a>
23
23
  </li>
24
24
 
25
25
  <li>
26
- <a component="topic/lock" href="#">
26
+ <a component="topic/lock" href="#" class="dropdown-item">
27
27
  <i class="fa fa-fw fa-lock"></i> [[topic:thread_tools.lock]]
28
28
  </a>
29
29
  </li>
30
30
  <li>
31
- <a component="topic/unlock" href="#" class="hidden">
31
+ <a component="topic/unlock" href="#" class="hidden dropdown-item" >
32
32
  <i class="fa fa-fw fa-unlock"></i> [[topic:thread_tools.unlock]]
33
33
  </a>
34
34
  </li>
35
35
 
36
- <li class="divider"></li>
36
+ <li class="dropdown-divider"></li>
37
37
 
38
38
  <li>
39
- <a component="topic/move" href="#">
39
+ <a component="topic/move" href="#" class="dropdown-item">
40
40
  <i class="fa fa-fw fa-arrows"></i> [[topic:thread_tools.move]]
41
41
  </a>
42
42
  </li>
43
43
  {{{if template.category}}}
44
44
  <li>
45
- <a component="topic/move-all" href="#">
45
+ <a component="topic/move-all" href="#" class="dropdown-item">
46
46
  <i class="fa fa-fw fa-arrows"></i> [[topic:thread_tools.move_all]]
47
47
  </a>
48
48
  </li>
49
49
  {{{end}}}
50
50
  <li>
51
- <a component="topic/merge" href="#">
51
+ <a component="topic/merge" href="#" class="dropdown-item">
52
52
  <i class="fa fa-fw fa-code-fork"></i> [[topic:thread_tools.merge]]
53
53
  </a>
54
54
  </li>
55
55
 
56
- <li class="divider"></li>
56
+ <li class="dropdown-divider"></li>
57
57
 
58
58
  <li>
59
- <a component="topic/delete" href="#">
59
+ <a component="topic/delete" href="#" class="dropdown-item">
60
60
  <i class="fa fa-fw fa-trash-o"></i> [[topic:thread_tools.delete]]
61
61
  </a>
62
62
  </li>
63
63
  <li>
64
- <a component="topic/restore" href="#" class="hidden">
64
+ <a component="topic/restore" href="#" class="hidden dropdown-item">
65
65
  <i class="fa fa-fw fa-history"></i> [[topic:thread_tools.restore]]
66
66
  </a>
67
67
  </li>
68
68
  <li>
69
- <a component="topic/purge" href="#" class="hidden">
69
+ <a component="topic/purge" href="#" class="hidden dropdown-item">
70
70
  <i class="fa fa-fw fa-eraser"></i> [[topic:thread_tools.purge]]
71
71
  </a>
72
72
  </li>
73
73
 
74
74
  {{{each thread_tools}}}
75
75
  <li>
76
- <a href="#" class="{thread_tools.class}"><i class="fa fa-fw {thread_tools.icon}"></i> {thread_tools.title}</a>
76
+ <a href="#" class="dropdown-item {thread_tools.class}"><i class="fa fa-fw {thread_tools.icon}"></i> {thread_tools.title}</a>
77
77
  </li>
78
78
  {{{end}}}
79
79
  </ul>
@@ -1,23 +1,21 @@
1
1
  <!-- IF config.loggedIn -->
2
2
  <div class="btn-group topic-watch-dropdown bottom-sheet" component="topic/watch">
3
3
 
4
- <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">
4
+ <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button">
5
+ <span component="category/watching/menu" <!-- IF !../isWatched -->class="hidden"<!-- ENDIF !../isWatched -->><i class="fa fa-fw fa-inbox"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline"> [[category:watching]]</span></span>
5
6
 
6
- <span component="category/watching/menu" <!-- IF !../isWatched -->class="hidden"<!-- ENDIF !../isWatched -->><i class="fa fa-fw fa-inbox"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline">[[category:watching]]</span></span>
7
-
8
- <span component="category/notwatching/menu" <!-- IF !../isNotWatched -->class="hidden"<!-- ENDIF !../isNotWatched -->><i class="fa fa-fw fa-clock-o"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline">[[category:not-watching]]</span></span>
9
-
10
- <span component="category/ignoring/menu" <!-- IF !../isIgnored -->class="hidden"<!-- ENDIF !../isIgnored -->><i class="fa fa-fw fa-eye-slash"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline">[[category:ignoring]]</span></span>
7
+ <span component="category/notwatching/menu" <!-- IF !../isNotWatched -->class="hidden"<!-- ENDIF !../isNotWatched -->><i class="fa fa-fw fa-clock-o"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline"> [[category:not-watching]]</span></span>
11
8
 
9
+ <span component="category/ignoring/menu" <!-- IF !../isIgnored -->class="hidden"<!-- ENDIF !../isIgnored -->><i class="fa fa-fw fa-eye-slash"></i><span class="visible-sm-inline visible-md-inline visible-lg-inline"> [[category:ignoring]]</span></span>
12
10
  <span class="caret"></span>
13
11
  </button>
14
12
 
15
- <ul class="dropdown-menu dropdown-menu-right">
16
- <li><a href="#" component="category/watching" data-state="watching"><i component="category/watching/check" class="fa fa-fw <!-- IF ../isWatched -->fa-check<!-- ENDIF ../isWatched -->"></i><i class="fa fa-fw fa-inbox"></i> [[category:watching]]<p class="help-text"><small>[[category:watching.description]]</small></p></a></li>
13
+ <ul class="dropdown-menu dropdown-menu-end">
14
+ <li><a class="dropdown-item" href="#" component="category/watching" data-state="watching"><i component="category/watching/check" class="fa fa-fw <!-- IF ../isWatched -->fa-check<!-- ENDIF ../isWatched -->"></i><i class="fa fa-fw fa-inbox"></i> [[category:watching]]<p class="help-text"><small>[[category:watching.description]]</small></p></a></li>
17
15
 
18
- <li><a href="#" component="category/notwatching" data-state="notwatching"><i component="category/notwatching/check" class="fa fa-fw <!-- IF ../isNotWatched -->fa-check<!-- ENDIF ../isNotWatched -->"></i><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]<p class="help-text"><small>[[category:not-watching.description]]</small></p></a></li>
16
+ <li><a class="dropdown-item" href="#" component="category/notwatching" data-state="notwatching"><i component="category/notwatching/check" class="fa fa-fw <!-- IF ../isNotWatched -->fa-check<!-- ENDIF ../isNotWatched -->"></i><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]<p class="help-text"><small>[[category:not-watching.description]]</small></p></a></li>
19
17
 
20
- <li><a href="#" component="category/ignoring" data-state="ignoring"><i component="category/ignoring/check" class="fa fa-fw <!-- IF ../isIgnored -->fa-check<!-- ENDIF ../isIgnored -->"></i><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]<p class="help-text"><small>[[category:ignoring.description]]</small></p></a></li>
18
+ <li><a class="dropdown-item" href="#" component="category/ignoring" data-state="ignoring"><i component="category/ignoring/check" class="fa fa-fw <!-- IF ../isIgnored -->fa-check<!-- ENDIF ../isIgnored -->"></i><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]<p class="help-text"><small>[[category:ignoring.description]]</small></p></a></li>
21
19
  </ul>
22
20
  </div>
23
21
  <!-- ENDIF config.loggedIn -->
@@ -1,17 +1,29 @@
1
- <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
2
- {{{ if selectedCategory }}}<span class="fa-stack" style="{function.generateCategoryBackground, selectedCategory}"><i class="fa fa-fw fa-stack-1x {selectedCategory.icon}" style="color: {selectedCategory.color};"></i></span> <span class="visible-sm-inline visible-md-inline visible-lg-inline">{selectedCategory.name}</span>{{{ else }}}
1
+ <button type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown">
2
+ {{{ if selectedCategory }}}
3
+ <span class="category-item">
4
+ {buildCategoryIcon(selectedCategory, "24px", "rounded-circle")}
5
+ <span class="visible-sm-inline visible-md-inline visible-lg-inline">{selectedCategory.name}</span>
6
+ </span>
7
+ {{{ else }}}
3
8
  <span class="visible-sm-inline visible-md-inline visible-lg-inline">[[unread:all_categories]]</span><span class="visible-xs-inline"><i class="fa fa-fw fa-list"></i></span>{{{ end }}} <span class="caret"></span>
4
9
  </button>
5
- <div component="category-selector-search" class="hidden">
10
+ <div component="category-selector-search" class="hidden position-absolute">
6
11
  <input type="text" class="form-control" autocomplete="off">
7
12
  </div>
8
13
  <ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
9
14
  <li role="presentation" class="category" data-all="all">
10
- <a role="menu-item" href="{config.relative_path}/{allCategoriesUrl}"><i component="category/select/icon" class="fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i> [[unread:all_categories]]</a>
15
+ <a class="dropdown-item" role="menu-item" href="{config.relative_path}/{allCategoriesUrl}"><i component="category/select/icon" class="fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i> [[unread:all_categories]]</a>
11
16
  </li>
12
17
  {{{each categoryItems}}}
13
18
  <li role="presentation" class="category {{{ if ../disabledClass }}}disabled{{{ end }}}" data-cid="{../cid}" data-parent-cid="{../parentCid}" data-name="{../name}">
14
- <a role="menu-item" href="#">{../level}<i component="category/select/icon" class="fa fa-fw fa-check {{{ if !../selected }}}invisible{{{ end }}}"></i><span component="category-markup" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">{{{ if ../icon }}}<span class="fa-stack" style="{function.generateCategoryBackground}"><i class="fa fa-fw fa-stack-1x {../icon}" style="color: {../color};"></i></span>{{{ end }}} {../name}</span></a>
19
+ <a class="dropdown-item" role="menu-item" href="#">{../level}<i component="category/select/icon" class="fa fa-fw fa-check {{{ if !../selected }}}invisible{{{ end }}}"></i>
20
+ <span component="category-markup" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">
21
+ <div class="category-item d-inline-block">
22
+ {buildCategoryIcon(@value, "24px", "rounded-circle")}
23
+ {./name}
24
+ </div>
25
+ </span>
26
+ </a>
15
27
  </li>
16
28
  {{{end}}}
17
29
  </ul>
@@ -1,3 +1,3 @@
1
- <div component="category/dropdown" class="btn-group pull-right category-dropdown-container bottom-sheet">
1
+ <div component="category/dropdown" class="btn-group right category-dropdown-container bottom-sheet">
2
2
  <!-- IMPORT partials/category-filter-content.tpl -->
3
3
  </div>
@@ -1,9 +1,15 @@
1
- <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
2
- <span component="category-selector-selected">{{{ if (selectedCategory && !showCategorySelectLabel) }}}<span class="fa-stack" style="{function.generateCategoryBackground, selectedCategory}"><i class="fa fa-fw fa-stack-1x {selectedCategory.icon}" style="color: {selectedCategory.color};"></i></span> {selectedCategory.name}{{{ else }}}
1
+ <button type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown">
2
+ <span component="category-selector-selected">
3
+ {{{ if (selectedCategory && !showCategorySelectLabel) }}}
4
+ <span class="category-item">
5
+ {buildCategoryIcon(selectedCategory, "24px", "rounded-circle")}
6
+ {selectedCategory.name}
7
+ </span>
8
+ {{{ else }}}
3
9
  <span class="visible-sm-inline visible-md-inline visible-lg-inline">{{{ if selectCategoryLabel }}}{selectCategoryLabel}{{{ else }}}[[topic:thread_tools.select_category]]{{{ end }}}</span><span class="visible-xs-inline"><i class="fa fa-fw {{{ if selectCategoryIcon }}}{selectCategoryIcon}{{{ else }}}fa-list{{{ end }}}"></i></span>
4
10
  {{{ end }}}</span> <span class="caret"></span>
5
11
  </button>
6
- <div component="category-selector-search" class="hidden">
12
+ <div component="category-selector-search" class="hidden position-absolute">
7
13
  <input type="text" class="form-control" autocomplete="off">
8
14
  </div>
9
15
  <ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
@@ -12,7 +18,14 @@
12
18
  </li>
13
19
  {{{each categoryItems}}}
14
20
  <li role="presentation" class="category {{{ if ../disabledClass }}}disabled {{{ end }}}" data-cid="{../cid}" data-name="{../name}" data-parent-cid="{../parentCid}">
15
- <a role="menu-item">{../level}<span component="category-markup" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">{{{ if ./icon }}}<span class="fa-stack" style="{function.generateCategoryBackground}"><i style="color: {../color};" class="fa fa-stack-1x fa-fw {../icon}"></i></span>{{{ end }}} {../name}</span></a>
21
+ <a class="dropdown-item" role="menu-item">{../level}
22
+ <span component="category-markup" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">
23
+ <div class="category-item d-inline-block">
24
+ {buildCategoryIcon(@value, "24px", "rounded-circle")}
25
+ {./name}
26
+ </div>
27
+ </span>
28
+ </a>
16
29
  </li>
17
30
  {{{ end }}}
18
31
  </ul>
@@ -1,3 +1,3 @@
1
- <div component="category-selector" class="btn-group bottom-sheet pull-right">
1
+ <div component="category-selector" class="btn-group right category-dropdown-container bottom-sheet">
2
2
  <!-- IMPORT partials/category-selector-content.tpl -->
3
3
  </div>
@@ -1,18 +1,20 @@
1
1
  <!-- IF roomId -->
2
2
  <div component="chat/messages" class="expanded-chat" data-roomid="{roomId}">
3
- <div component="chat/header">
4
- <button type="button" class="close" aria-label="Close" data-action="close"><span aria-hidden="true">&times;</span></button>
5
- <button type="button" class="close" data-action="pop-out"><span aria-hidden="true"><i class="fa fa-compress"></i></span><span class="sr-only">[[modules:chat.pop-out]]</span></button>
6
-
7
- <!-- IMPORT partials/chats/options.tpl -->
8
- <span class="members">
3
+ <div component="chat/header" class="d-flex align-items-center px-3">
4
+ <span class="members flex-grow-1">
9
5
  [[modules:chat.chatting_with]]:
10
6
  {{{each users}}}
11
7
  <a href="{config.relative_path}/uid/{../uid}">{../username}</a><!-- IF !@last -->,<!-- END -->
12
8
  {{{end}}}
13
9
  </span>
10
+
11
+ <button type="button" class="btn btn-link d-none d-md-block p-2 text-muted" data-action="pop-out" aria-hidden="true" aria-label="Pop Out"><i class="fa fa-compress"></i></button>
12
+ <!-- IMPORT partials/chats/options.tpl -->
13
+ <button type="button" class="btn-close" aria-hidden="true" aria-label="Close" data-action="close"></button>
14
+ </div>
15
+ <div class="position-relative">
16
+ <div component="chat/messages/scroll-up-alert" class="position-absolute scroll-up-alert alert alert-info hidden w-100" role="button">[[modules:chat.scroll-up-alert]]</div>
14
17
  </div>
15
- <div component="chat/messages/scroll-up-alert" class="scroll-up-alert alert alert-info" role="button">[[modules:chat.scroll-up-alert]]</div>
16
18
  <ul class="chat-content">
17
19
  <!-- IMPORT partials/chats/messages.tpl -->
18
20
  </ul>
@@ -26,7 +28,7 @@
26
28
  </div>
27
29
  </div>
28
30
  <!-- ELSE -->
29
- <div class="alert alert-info">
31
+ <div class="alert alert-info me-3">
30
32
  [[modules:chat.no-messages]]
31
33
  </div>
32
34
  <!-- ENDIF roomId -->
@@ -1,16 +1,16 @@
1
- <li component="chat/message" class="chat-message clear<!-- IF ../deleted --> deleted<!-- END -->" data-index="{messages.index}" data-mid="{messages.messageId}" data-uid="{messages.fromuid}" data-self="{messages.self}" data-break="{messages.newSet}" data-timestamp="{messages.timestamp}">
1
+ <li component="chat/message" class="chat-message mx-2 pe-2 fw-light clear<!-- IF ../deleted --> deleted<!-- END -->" data-index="{messages.index}" data-mid="{messages.messageId}" data-uid="{messages.fromuid}" data-self="{messages.self}" data-break="{messages.newSet}" data-timestamp="{messages.timestamp}">
2
2
  <div class="message-header">
3
- <a href="{config.relative_path}/user/{messages.fromUser.userslug}">{buildAvatar(messages.fromUser, "md", true, "not-responsive")}</a>
4
- <strong><span class="chat-user"><a href="{config.relative_path}/user/{messages.fromUser.userslug}">{messages.fromUser.displayname}</a></span></strong>
3
+ <a href="{config.relative_path}/user/{messages.fromUser.userslug}">{buildAvatar(messages.fromUser, "32px", true, "not-responsive")}</a>
4
+ <span class="chat-user fw-bold"><a href="{config.relative_path}/user/{messages.fromUser.userslug}">{messages.fromUser.displayname}</a></span>
5
5
  <!-- IF ../fromUser.banned -->
6
- <span class="label label-danger">[[user:banned]]</span>
6
+ <span class="badge bg-danger">[[user:banned]]</span>
7
7
  <!-- END -->
8
8
  <!-- IF ../fromUser.deleted -->
9
- <span class="label label-danger">[[user:deleted]]</span>
9
+ <span class="badge bg-danger">[[user:deleted]]</span>
10
10
  <!-- END -->
11
- <span class="chat-timestamp timeago" title="{messages.timestampISO}"></span>
11
+ <small class="chat-timestamp text-muted ms-2 timeago" title="{messages.timestampISO}"></small>
12
12
  <!-- IF messages.edited -->
13
- <div class="text-muted pull-right" title="[[global:edited]] {messages.editedISO}"><i class="fa fa-edit"></i></span></div>
13
+ <div class="text-muted float-end" title="[[global:edited]] {messages.editedISO}"><i class="fa fa-edit"></i></span></div>
14
14
  <!-- ENDIF messages.edited -->
15
15
  </div>
16
16
  <div class="message-body-wrapper">
@@ -21,11 +21,11 @@
21
21
  <!-- IF !config.disableChatMessageEditing -->
22
22
  <!-- IF messages.self -->
23
23
  <div class="btn-group controls">
24
- <button class="btn btn-xs btn-link" data-action="edit"><i class="fa fa-pencil"></i></button>
25
- <button class="btn btn-xs btn-link" data-action="delete"><i class="fa fa-times"></i></button>
26
- <button class="btn btn-xs btn-link" data-action="restore"><i class="fa fa-repeat"></i></button>
24
+ <button class="btn btn-sm btn-link" data-action="edit"><i class="fa fa-pencil"></i></button>
25
+ <button class="btn btn-sm btn-link" data-action="delete"><i class="fa fa-times"></i></button>
26
+ <button class="btn btn-sm btn-link" data-action="restore"><i class="fa fa-repeat"></i></button>
27
27
  <!-- IF isAdminOrGlobalMod -->
28
- <button class="btn btn-xs btn-link chat-ip" title="[[modules:chat.show-ip]]"><i class="fa fa-info-circle chat-ip-button"></i></button>
28
+ <button class="btn btn-sm btn-link chat-ip" title="[[modules:chat.show-ip]]"><i class="fa fa-info-circle chat-ip-button"></i></button>
29
29
  <!-- ENDIF isAdminOrGlobalMod -->
30
30
  </div>
31
31
  <!-- ENDIF messages.self -->
@@ -1,22 +1,22 @@
1
- <div class="dropdown pull-right">
2
- <button class="close" data-toggle="dropdown" component="chat/controlsToggle"><i class="fa fa-gear"></i></button>
3
- <ul class="dropdown-menu dropdown-menu-right pull-right" component="chat/controls">
1
+ <div class="dropdown">
2
+ <button class="btn btn-link p-2 text-muted align-text-top" data-bs-toggle="dropdown" component="chat/controlsToggle"><i class="fa fa-gear"></i></button>
3
+ <ul class="dropdown-menu dropdown-menu-end" component="chat/controls">
4
4
  <li class="dropdown-header">[[modules:chat.options]]</li>
5
5
  <li>
6
- <a href="#" data-action="members"><i class="fa fa-fw fa-cog"></i> [[modules:chat.manage-room]]</a>
6
+ <a class="dropdown-item" href="#" data-action="members"><i class="fa fa-fw fa-cog"></i> [[modules:chat.manage-room]]</a>
7
7
  </li>
8
8
  <li>
9
- <a href="#" data-action="rename"><i class="fa fa-fw fa-edit"></i> [[modules:chat.rename-room]]</a>
9
+ <a class="dropdown-item" href="#" data-action="rename"><i class="fa fa-fw fa-edit"></i> [[modules:chat.rename-room]]</a>
10
10
  </li>
11
11
  <li>
12
- <a href="#" data-action="leave"><i class="fa fa-fw fa-sign-out"></i> [[modules:chat.leave]]</a>
12
+ <a class="dropdown-item" href="#" data-action="leave"><i class="fa fa-fw fa-sign-out"></i> [[modules:chat.leave]]</a>
13
13
  </li>
14
14
  <!-- IF users.length -->
15
- <li role="separator" class="divider"></li>
15
+ <li role="separator" class="dropdown-divider"></li>
16
16
  <li class="dropdown-header">[[modules:chat.in-room]]</li>
17
17
  {{{each users}}}
18
18
  <li>
19
- <a href="{config.relative_path}/uid/{../uid}">{buildAvatar(users, "sm", true)} {../username}</a>
19
+ <a class="dropdown-item" href="{config.relative_path}/uid/{../uid}">{buildAvatar(users, "24px", true)} {../username}</a>
20
20
  </li>
21
21
  {{{end}}}
22
22
  <!-- END -->
@@ -1,7 +1,7 @@
1
1
  <li component="chat/recent/room" data-roomid="{rooms.roomId}" class="<!-- IF rooms.unread -->unread<!-- ENDIF rooms.unread -->">
2
2
  {{{each rooms.users}}}
3
3
  <!-- IF @first -->
4
- <div class="main-avatar">
4
+ <div class="main-avatar me-2">
5
5
  <!-- IMPORT partials/chats/user.tpl -->
6
6
  </div>
7
7
  <!-- ENDIF @first -->
@@ -1,3 +1,3 @@
1
- <li component="chat/system-message" class="system-message clear" data-index="{messages.index}" data-mid="{messages.messageId}" data-uid="{messages.fromuid}" data-self="{messages.self}" data-break="0" data-timestamp="{messages.timestamp}">
1
+ <li component="chat/system-message" class="system-message fs-6 py-3 clear" data-index="{messages.index}" data-mid="{messages.messageId}" data-uid="{messages.fromuid}" data-self="{messages.self}" data-break="0" data-timestamp="{messages.timestamp}">
2
2
  [[modules:chat.system.{messages.content}, {messages.fromUser.username}]]
3
3
  </li>
@@ -1 +1 @@
1
- <a href="{config.relative_path}/user/{rooms.users.userslug}">{buildAvatar(rooms.users, "sm", true)}</a>
1
+ <a href="{config.relative_path}/user/{rooms.users.userslug}">{buildAvatar(rooms.users, "28px", true)}</a>
@@ -1,36 +1,36 @@
1
1
  {{{ if config.loggedIn }}}
2
2
  <ul class="nav nav-pills">
3
- <li>
4
- <a href="#notifications" data-toggle="tab"><span class="counter unread-count" component="notifications/icon" data-content="{unreadCount.notification}"></span> <i class="fa fa-fw fa-bell"></i></a>
3
+ <li class="nav-item">
4
+ <a class="nav-link" href="#notifications" data-bs-toggle="tab"><span class="counter unread-count" component="notifications/icon" data-content="{unreadCount.notification}"></span> <i class="fa fa-fw fa-bell"></i></a>
5
5
  </li>
6
6
  {{{ if !config.disableChat }}}
7
- <li>
8
- <a href="#chats" data-toggle="tab"><i class="counter unread-count" component="chat/icon" data-content="{unreadCount.chat}"></i> <i class="fa fa-fw fa-comment"></i></a>
7
+ <li class="nav-item">
8
+ <a class="nav-link" href="#chats" data-bs-toggle="tab"><i class="counter unread-count" component="chat/icon" data-content="{unreadCount.chat}"></i> <i class="fa fa-fw fa-comment"></i></a>
9
9
  </li>
10
10
  {{{ end }}}
11
- <li class="active">
12
- <a href="#profile" data-toggle="tab">
13
- {buildAvatar(user, "sm", true, "user-icon")}
11
+ <li class="nav-item">
12
+ <a class="nav-link active" href="#profile" data-bs-toggle="tab">
13
+ {buildAvatar(user, "24px", true, "user-icon")}
14
14
  <i component="user/status" class="fa fa-fw fa-circle status {user.status}"></i>
15
15
  </a>
16
16
  </li>
17
17
  </ul>
18
18
 
19
19
  <div class="tab-content">
20
- <div class="tab-pane fade active in" id="profile">
20
+ <div class="tab-pane fade show active" id="profile">
21
21
  <section class="menu-section" data-section="profile">
22
- <ul class="menu-section-list" component="header/usercontrol"></ul>
22
+ <ul class="menu-section-list dropdown-menu show text-bg-dark w-100 border-0" component="header/usercontrol"></ul>
23
23
  </section>
24
24
  </div>
25
25
  <div class="tab-pane fade" id="notifications">
26
- <section class="menu-section" data-section="notifications">
26
+ <section class="menu-section text-bg-dark" data-section="notifications">
27
27
  <ul class="menu-section-list notification-list-mobile" component="notifications/list"></ul>
28
28
  <p class="menu-section-list"><a href="{relative_path}/notifications">[[notifications:see_all]]</a></p>
29
29
  </section>
30
30
  </div>
31
31
  {{{ if !config.disableChat }}}
32
32
  <div class="tab-pane fade" id="chats">
33
- <section class="menu-section" data-section="chats">
33
+ <section class="menu-section text-bg-dark" data-section="chats">
34
34
  <ul class="menu-section-list chat-list" component="chat/list">
35
35
  <a class="navigation-link" href="{relative_path}/user/{user.userslug}/chats">[[modules:chat.see_all]]</a>
36
36
  </ul>
@@ -1,4 +1,4 @@
1
1
  <div class="cookie-consent">
2
- <button class="pull-right btn btn-primary">{dismiss}</button>
2
+ <button class="float-end btn btn-primary">{dismiss}</button>
3
3
  {message} <a target="_blank" rel="noopener" href="{link_url}">{link}</a>
4
4
  </div>