nodebb-theme-harmony 1.0.0-beta.7 → 1.0.0-beta.71

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 (137) hide show
  1. package/README.md +12 -1
  2. package/languages/en-GB/harmony.json +5 -1
  3. package/library.js +21 -7
  4. package/package.json +1 -1
  5. package/public/harmony.js +148 -9
  6. package/public/settings.js +1 -0
  7. package/screenshots/categories.png +0 -0
  8. package/screenshots/recent.png +0 -0
  9. package/screenshots/topic.png +0 -0
  10. package/scss/account.scss +1 -1
  11. package/scss/chats.scss +53 -25
  12. package/scss/common.scss +60 -8
  13. package/scss/flags.scss +5 -0
  14. package/scss/harmony.scss +3 -0
  15. package/scss/mixins.scss +7 -3
  16. package/scss/modals.scss +6 -1
  17. package/scss/modules/bottom-sheet.scss +1 -1
  18. package/scss/modules/composer.scss +0 -4
  19. package/scss/modules/cover.scss +1 -11
  20. package/scss/modules/filters.scss +8 -0
  21. package/scss/modules/paginator.scss +24 -0
  22. package/scss/modules/topic-navigator.scss +14 -42
  23. package/scss/modules/topics-list.scss +6 -0
  24. package/scss/overrides.scss +4 -1
  25. package/scss/search.scss +0 -0
  26. package/scss/sidebar.scss +20 -10
  27. package/scss/topic.scss +26 -13
  28. package/templates/account/blocks.tpl +35 -41
  29. package/templates/account/categories.tpl +26 -29
  30. package/templates/account/consent.tpl +66 -10
  31. package/templates/account/edit/password.tpl +25 -30
  32. package/templates/account/edit/username.tpl +21 -26
  33. package/templates/account/edit.tpl +105 -116
  34. package/templates/account/followers.tpl +12 -19
  35. package/templates/account/following.tpl +12 -18
  36. package/templates/account/groups.tpl +12 -17
  37. package/templates/account/info.tpl +178 -206
  38. package/templates/account/posts.tpl +31 -36
  39. package/templates/account/profile.tpl +66 -73
  40. package/templates/account/sessions.tpl +8 -30
  41. package/templates/account/settings.tpl +193 -198
  42. package/templates/account/theme.tpl +35 -26
  43. package/templates/account/topics.tpl +33 -38
  44. package/templates/account/uploads.tpl +33 -40
  45. package/templates/admin/plugins/harmony.tpl +17 -3
  46. package/templates/categories.tpl +1 -1
  47. package/templates/category.tpl +12 -13
  48. package/templates/chats.tpl +7 -8
  49. package/templates/flags/detail.tpl +160 -193
  50. package/templates/flags/list.tpl +4 -70
  51. package/templates/footer.tpl +2 -2
  52. package/templates/groups/details.tpl +21 -18
  53. package/templates/groups/list.tpl +1 -1
  54. package/templates/groups/members.tpl +0 -2
  55. package/templates/header.tpl +1 -1
  56. package/templates/login.tpl +2 -2
  57. package/templates/notifications.tpl +1 -1
  58. package/templates/partials/account/category-item.tpl +4 -4
  59. package/templates/partials/account/footer.tpl +3 -0
  60. package/templates/partials/account/header.tpl +78 -81
  61. package/templates/partials/account/session-list.tpl +18 -0
  62. package/templates/partials/account/sidebar-left.tpl +6 -0
  63. package/templates/partials/breadcrumbs.tpl +6 -6
  64. package/templates/partials/categories/item.tpl +20 -19
  65. package/templates/partials/categories/lastpost.tpl +2 -2
  66. package/templates/partials/{category-filter-content.tpl → category/filter-dropdown-content.tpl} +8 -6
  67. package/templates/partials/{category-selector-content.tpl → category/selector-dropdown-content.tpl} +3 -3
  68. package/templates/partials/category/subcategory.tpl +1 -1
  69. package/templates/partials/category/tags.tpl +0 -2
  70. package/templates/partials/category/watch.tpl +28 -4
  71. package/templates/partials/chats/message-window.tpl +10 -7
  72. package/templates/partials/chats/message.tpl +4 -6
  73. package/templates/partials/chats/recent_room.tpl +41 -32
  74. package/templates/partials/cookie-consent.tpl +5 -5
  75. package/templates/partials/flags/filters.tpl +142 -85
  76. package/templates/partials/flags/results.tpl +38 -0
  77. package/templates/partials/groups/admin.tpl +4 -4
  78. package/templates/partials/groups/badge.tpl +1 -1
  79. package/templates/partials/groups/memberlist.tpl +1 -1
  80. package/templates/partials/groups/sidebar-left.tpl +1 -1
  81. package/templates/partials/header/brand.tpl +1 -1
  82. package/templates/partials/mobile-footer.tpl +69 -64
  83. package/templates/partials/notifications_list.tpl +1 -1
  84. package/templates/partials/paginator.tpl +11 -9
  85. package/templates/partials/post_bar.tpl +26 -24
  86. package/templates/partials/posts_list_item.tpl +5 -5
  87. package/templates/partials/quick-search-results.tpl +3 -3
  88. package/templates/partials/search-filters.tpl +184 -0
  89. package/templates/partials/search-results.tpl +28 -32
  90. package/templates/partials/sidebar/chats.tpl +22 -33
  91. package/templates/partials/sidebar/drafts.tpl +42 -34
  92. package/templates/partials/sidebar/logged-in-menu.tpl +5 -5
  93. package/templates/partials/sidebar/logged-out-menu.tpl +1 -1
  94. package/templates/partials/sidebar/notifications.tpl +29 -8
  95. package/templates/partials/sidebar/search.tpl +1 -1
  96. package/templates/partials/sidebar/user-menu.tpl +6 -6
  97. package/templates/partials/sidebar-left.tpl +13 -10
  98. package/templates/partials/sidebar-right.tpl +1 -3
  99. package/templates/partials/skin-switcher.tpl +2 -2
  100. package/templates/partials/tags/filter-dropdown-content.tpl +31 -0
  101. package/templates/partials/tags_list.tpl +4 -4
  102. package/templates/partials/topic/browsing-users.tpl +0 -2
  103. package/templates/partials/topic/event.tpl +1 -1
  104. package/templates/partials/topic/navigation-post.tpl +5 -9
  105. package/templates/partials/topic/navigator-mobile.tpl +62 -0
  106. package/templates/partials/topic/navigator.tpl +21 -17
  107. package/templates/partials/topic/post-editor.tpl +0 -2
  108. package/templates/partials/topic/post-menu-list.tpl +36 -38
  109. package/templates/partials/topic/post-menu.tpl +15 -10
  110. package/templates/partials/topic/post.tpl +35 -17
  111. package/templates/partials/topic/quickreply.tpl +6 -6
  112. package/templates/partials/topic/reply-button.tpl +1 -1
  113. package/templates/partials/topic/topic-menu-list.tpl +16 -18
  114. package/templates/partials/topic/watch.tpl +28 -4
  115. package/templates/partials/topic-list-bar.tpl +50 -46
  116. package/templates/partials/topics_list.tpl +40 -38
  117. package/templates/partials/userFilter-placeholders.tpl +5 -0
  118. package/templates/partials/users/filter-dropdown-content.tpl +20 -0
  119. package/templates/partials/users/item.tpl +24 -26
  120. package/templates/partials/users_list.tpl +1 -1
  121. package/templates/popular.tpl +3 -1
  122. package/templates/post-queue.tpl +120 -0
  123. package/templates/recent.tpl +3 -2
  124. package/templates/register.tpl +2 -2
  125. package/templates/search.tpl +39 -177
  126. package/templates/tags.tpl +3 -3
  127. package/templates/top.tpl +3 -1
  128. package/templates/topic.tpl +74 -68
  129. package/templates/unread.tpl +3 -1
  130. package/templates/users.tpl +2 -2
  131. package/templates/modules/usercard.tpl +0 -39
  132. package/templates/partials/acceptTos.tpl +0 -11
  133. package/templates/partials/category-filter-right.tpl +0 -5
  134. package/templates/partials/category-filter.tpl +0 -3
  135. package/templates/partials/category-selector-right.tpl +0 -5
  136. package/templates/partials/category-selector.tpl +0 -3
  137. package/templates/partials/slideout-menu.tpl +0 -6
@@ -1,33 +1,42 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
3
2
 
4
- <div class="d-flex flex-column flex-md-row">
5
- <!-- IMPORT partials/account/sidebar-left.tpl -->
6
- <div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
7
- <div class="mb-3 d-flex justify-content-between">
8
- <h3 class="fw-semibold fs-5">[[harmony:settings.title]]</h3>
3
+ <div class="mb-3 d-flex justify-content-between">
4
+ <h3 class="fw-semibold fs-5">[[harmony:settings.title]]</h3>
9
5
 
10
- <button id="save" type="button" class="btn btn-primary">[[global:save_changes]]</button>
11
- </div>
6
+ <button id="save" type="button" class="btn btn-primary">[[global:save_changes]]</button>
7
+ </div>
12
8
 
13
- <form id="theme-settings" role="form">
14
- <div class="form-check mb-2">
15
- <input class="form-check-input" type="checkbox" id="enableQuickReply" name="enableQuickReply" {{{ if config.enableQuickReply }}}checked{{{ end }}}>
16
- <label class="form-check-label">[[harmony:settings.enableQuickReply]]</label>
17
- </div>
18
-
19
- <div class="form-check mb-2">
20
- <input class="form-check-input" type="checkbox" id="centerHeaderElements" name="centerHeaderElements" {{{ if config.centerHeaderElements }}}checked{{{ end }}}>
21
- <label class="form-check-label">[[harmony:settings.centerHeaderElements]]</label>
22
- </div>
9
+ <form id="theme-settings" role="form">
10
+ <div class="form-check mb-3">
11
+ <input class="form-check-input" type="checkbox" id="enableQuickReply" name="enableQuickReply" {{{ if config.theme.enableQuickReply }}}checked{{{ end }}}>
12
+ <label class="form-check-label" for="enableQuickReply">[[harmony:settings.enableQuickReply]]</label>
13
+ </div>
23
14
 
24
- <div class="form-check mb-2">
25
- <input class="form-check-input" type="checkbox" id="stickyToolbar" name="stickyToolbar" {{{ if config.stickyToolbar }}}checked{{{ end }}}>
26
- <label class="form-check-label">[[harmony:settings.stickyToolbar]]</label>
27
- </div>
15
+ <div class="form-check mb-3">
16
+ <input class="form-check-input" type="checkbox" id="centerHeaderElements" name="centerHeaderElements" {{{ if config.theme.centerHeaderElements }}}checked{{{ end }}}>
17
+ <label class="form-check-label" for="centerHeaderElements">[[harmony:settings.centerHeaderElements]]</label>
18
+ </div>
28
19
 
20
+ <div class="form-check mb-3">
21
+ <input class="form-check-input" type="checkbox" id="stickyToolbar" name="stickyToolbar" {{{ if config.theme.stickyToolbar }}}checked{{{ end }}}>
22
+ <label class="form-check-label" for="stickyToolbar">
23
+ [[harmony:settings.stickyToolbar]]
24
+ <p class="form-text mb-0">
25
+ [[harmony:settings.stickyToolbar.help]]
26
+ </p>
27
+ </label>
28
+ </div>
29
29
 
30
- </form>
31
- </div>
30
+ <div class="form-check mb-3">
31
+ <input class="form-check-input" type="checkbox" id="autohideBottombar" name="autohideBottombar" {{{ if config.theme.autohideBottombar }}}checked{{{ end }}}>
32
+ <label class="form-check-label" for="autohideBottombar">
33
+ [[harmony:settings.autohideBottombar]]
34
+ <p class="form-text mb-0">
35
+ [[harmony:settings.autohideBottombar.help]]
36
+ </p>
37
+ </label>
32
38
  </div>
33
- </div>
39
+
40
+ </form>
41
+
42
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -1,44 +1,39 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
3
2
 
4
- <div class="d-flex flex-column flex-md-row">
5
- <!-- IMPORT partials/account/sidebar-left.tpl -->
6
- <div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
7
- <div class="d-flex justify-content-between align-items-center mb-3">
8
- <div class="d-flex gap-1">
9
- <h3 class="fw-semibold fs-5 mb-0">[[global:topics]]</h3>
10
- {{{ if showSort }}}
11
- <div class="btn-group bottom-sheet" component="thread/sort">
12
- <button title="[[global:sort]]" class="btn-ghost-sm dropdown-toggle" data-bs-toggle="dropdown" type="button"><i class="fa-solid fa-arrow-up-wide-short"></i></button>
13
- <ul class="dropdown-menu">
14
- {{{each sortOptions }}}
15
- <li><a class="dropdown-item" href="{config.relative_path}{./url}"><i class="fa fa-fw {{{if ./selected}}}fa-check{{{end}}}"></i>{./name}</a></li>
16
- {{{end}}}
17
- </ul>
18
- </div>
19
- {{{ end }}}
20
- </div>
3
+ <div class="d-flex justify-content-between align-items-center mb-3">
4
+ <div class="d-flex gap-1">
5
+ <h3 class="fw-semibold fs-5 mb-0">[[global:topics]]</h3>
6
+ {{{ if showSort }}}
7
+ <div class="btn-group bottom-sheet" component="thread/sort">
8
+ <button title="[[global:sort]]" class="btn-ghost-sm dropdown-toggle" data-bs-toggle="dropdown" type="button"><i class="fa-solid fa-arrow-up-wide-short"></i></button>
9
+ <ul class="dropdown-menu">
10
+ {{{each sortOptions }}}
11
+ <li><a class="dropdown-item" href="{config.relative_path}{./url}"><i class="fa fa-fw {{{if ./selected}}}fa-check{{{end}}}"></i>{./name}</a></li>
12
+ {{{end}}}
13
+ </ul>
14
+ </div>
15
+ {{{ end }}}
16
+ </div>
21
17
 
22
- <div class="d-flex gap-1">
23
- {{{ if canEdit }}}
24
- <a href="{config.relative_path}/user/{userslug}/topics" class="btn-ghost-sm fw-semibold {{{ if template.account/topics }}}active{{{ end }}}">[[global:header.recent]]</a>
25
- <a href="{config.relative_path}/user/{userslug}/watched"class="btn-ghost-sm fw-semibold {{{ if template.account/watched }}}active{{{ end }}}">[[user:watched]]</a>
26
- <a href="{config.relative_path}/user/{userslug}/ignored" class="btn-ghost-sm fw-semibold {{{ if template.account/ignored }}}active{{{ end }}}">[[user:ignored]]</a>
27
- {{{ end }}}
28
- </div>
29
- </div>
18
+ <div class="d-flex gap-1">
19
+ {{{ if canEdit }}}
20
+ <a href="{config.relative_path}/user/{userslug}/topics" class="btn-ghost-sm fw-semibold {{{ if template.account/topics }}}active{{{ end }}}">[[global:header.recent]]</a>
21
+ <a href="{config.relative_path}/user/{userslug}/watched"class="btn-ghost-sm fw-semibold {{{ if template.account/watched }}}active{{{ end }}}">[[user:watched]]</a>
22
+ <a href="{config.relative_path}/user/{userslug}/ignored" class="btn-ghost-sm fw-semibold {{{ if template.account/ignored }}}active{{{ end }}}">[[user:ignored]]</a>
23
+ {{{ end }}}
24
+ </div>
25
+ </div>
30
26
 
31
27
 
32
- {{{ if !topics.length }}}
33
- <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
34
- {{{ end }}}
28
+ {{{ if !topics.length }}}
29
+ <div class="alert alert-warning text-center">{noItemsFoundKey}</div>
30
+ {{{ end }}}
35
31
 
36
- <div class="category">
37
- <!-- IMPORT partials/topics_list.tpl -->
38
- {{{ if config.usePagination }}}
39
- <!-- IMPORT partials/paginator.tpl -->
40
- {{{ end }}}
41
- </div>
42
- </div>
43
- </div>
32
+ <div class="category">
33
+ <!-- IMPORT partials/topics_list.tpl -->
34
+ {{{ if config.usePagination }}}
35
+ <!-- IMPORT partials/paginator.tpl -->
36
+ {{{ end }}}
44
37
  </div>
38
+
39
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -1,44 +1,37 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
- <div class="d-flex flex-column flex-md-row">
4
- <!-- IMPORT partials/account/sidebar-left.tpl -->
5
- <div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
6
- <h3 class="fw-semibold fs-5">{title}</h3>
1
+ <!-- IMPORT partials/account/header.tpl -->
7
2
 
8
- <!-- IF privateUploads -->
9
- <div class="alert alert-info text-center">[[uploads:private-uploads-info]]</div>
10
- <!-- ELSE -->
11
- <div class="alert alert-info text-center">[[uploads:public-uploads-info]]</div>
12
- <!-- ENDIF privateUploads -->
3
+ <h3 class="fw-semibold fs-5">{title}</h3>
13
4
 
14
- <!-- IF !uploads.length -->
15
- <div class="alert alert-warning text-center">[[uploads:no-uploads-found]]</div>
16
- <!-- ENDIF !uploads.length -->
5
+ <div class="alert alert-info text-center">
6
+ {{{ if privateUploads }}}[[uploads:private-uploads-info]]{{{ else }}}[[uploads:public-uploads-info]]{{{ end }}}
7
+ </div>
17
8
 
18
- <table class="table table-striped table-responsive">
19
- <thead>
20
- <tr>
21
- <th></th>
22
- <th></th>
23
- </tr>
24
- </thead>
25
- <tbody>
26
- {{{each uploads}}}
27
- <tr data-name="{uploads.name}">
28
- <td>
29
- <a class="text-break" href="{config.relative_path}{uploads.url}">{uploads.url}</a>
30
- </td>
31
- <td>
32
- <div class="btn-group ">
33
- <button class="btn btn-danger btn-sm" data-action="delete"><i class="fa fa-trash"></i></button>
34
- </div>
35
- </td>
36
- </tr>
37
- {{{end}}}
38
- </tbody>
39
- </table>
9
+ {{{ if !uploads.length }}}
10
+ <div class="alert alert-warning text-center">[[uploads:no-uploads-found]]</div>
11
+ {{{ end }}}
40
12
 
41
- <!-- IMPORT partials/paginator.tpl -->
42
- </div>
43
- </div>
44
- </div>
13
+ <table class="table table-striped table-responsive">
14
+ <thead>
15
+ <tr>
16
+ <th></th>
17
+ <th></th>
18
+ </tr>
19
+ </thead>
20
+ <tbody>
21
+ {{{ each uploads }}}
22
+ <tr data-name="{./name}">
23
+ <td>
24
+ <a class="text-break" href="{config.relative_path}{./url}">{./url}</a>
25
+ </td>
26
+ <td>
27
+ <div class="btn-group ">
28
+ <button class="btn btn-danger btn-sm" data-action="delete"><i class="fa fa-trash"></i></button>
29
+ </div>
30
+ </td>
31
+ </tr>
32
+ {{{ end }}}
33
+ </tbody>
34
+ </table>
35
+
36
+ <!-- IMPORT partials/paginator.tpl -->
37
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -4,15 +4,29 @@
4
4
  <form role="form" class="harmony-settings">
5
5
  <div class="form-check form-switch">
6
6
  <input type="checkbox" class="form-check-input" id="enableQuickReply" name="enableQuickReply" />
7
- <label for="enableQuickReply" class="form-check-label">Enable quick reply</label>
7
+ <label for="enableQuickReply" class="form-check-label">[[harmony:settings.enableQuickReply]]</label>
8
8
  </div>
9
9
  <div class="form-check form-switch">
10
10
  <input type="checkbox" class="form-check-input" id="centerHeaderElements" name="centerHeaderElements" />
11
- <label for="centerHeaderElements" class="form-check-label">Center header elements</label>
11
+ <label for="centerHeaderElements" class="form-check-label">[[harmony:settings.centerHeaderElements]]</label>
12
12
  </div>
13
13
  <div class="form-check form-switch">
14
14
  <input type="checkbox" class="form-check-input" id="stickyToolbar" name="stickyToolbar" />
15
- <label for="stickyToolbar" class="form-check-label">Sticky toolbar on topic and category pages</label>
15
+ <div for="stickyToolbar" class="form-check-label">
16
+ [[harmony:settings.stickyToolbar]]
17
+ <p class="form-text">
18
+ [[harmony:settings.stickyToolbar.help]]
19
+ </p>
20
+ </div>
21
+ </div>
22
+ <div class="form-check form-switch">
23
+ <input type="checkbox" class="form-check-input" id="autohideBottombar" name="autohideBottombar" />
24
+ <div for="autohideBottombar" class="form-check-label">
25
+ [[harmony:settings.autohideBottombar]]
26
+ <p class="form-text">
27
+ [[harmony:settings.autohideBottombar.help]]
28
+ </p>
29
+ </div>
16
30
  </div>
17
31
  </form>
18
32
  </div>
@@ -6,7 +6,7 @@
6
6
  <div class="row">
7
7
  <div class="{{{ if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
8
8
  {{{ if pagination.pages.length }}}
9
- <div><!-- IMPORT partials/category-selector.tpl --></div>
9
+ <div><!-- IMPORT partials/category/selector-dropdown-left.tpl --></div>
10
10
  {{{ end }}}
11
11
  <ul class="categories list-unstyled" itemscope itemtype="http://www.schema.org/ItemList">
12
12
  {{{ each categories }}}
@@ -1,19 +1,10 @@
1
1
  <!-- IMPORT partials/breadcrumbs.tpl -->
2
-
3
- {{{ if widgets.header.length }}}
4
- <div data-widget-area="header">
5
- {{{ each widgets.header }}}
6
- {{widgets.header.html}}
7
- {{{ end }}}
8
- </div>
9
- {{{ end }}}
10
-
11
2
  <div class="d-flex flex-column gap-2">
12
- <div class="d-flex gap-2 align-items-center mb-1 {{{ if config.centerHeaderElements }}}justify-content-center{{{ end }}}">
3
+ <div class="d-flex gap-2 align-items-center mb-1 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
13
4
  {buildCategoryIcon(@value, "40px", "rounded-1 flex-shrink-0")}
14
5
  <h2 class="fs-2 fw-semibold mb-0 text-center">{./name}</h2>
15
6
  </div>
16
- <div class="d-flex flex-wrap gap-2 {{{ if config.centerHeaderElements }}}justify-content-center{{{ end }}}">
7
+ <div class="d-flex flex-wrap gap-2 {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
17
8
  <span class="badge text-body border border-gray-300 stats text-xs">
18
9
  <span title="{totalTopicCount}" class="human-readable-number fw-bold">{totalTopicCount}</span>
19
10
  <span class="text-lowercase fw-normal">[[global:topics]]</span>
@@ -25,6 +16,15 @@
25
16
  </div>
26
17
  </div>
27
18
 
19
+ {{{ if widgets.header.length }}}
20
+ <div data-widget-area="header">
21
+ {{{ each widgets.header }}}
22
+ {{widgets.header.html}}
23
+ {{{ end }}}
24
+ </div>
25
+ {{{ end }}}
26
+
27
+
28
28
  <div class="row mt-3">
29
29
  <div class="category d-flex flex-column {{{if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
30
30
  <!-- IMPORT partials/category/subcategory.tpl -->
@@ -33,8 +33,7 @@
33
33
 
34
34
  {{{ if !topics.length }}}
35
35
  {{{ if privileges.topics:create }}}
36
- <hr class="visible-xs" />
37
- <div class="alert alert-warning" id="category-no-topics">
36
+ <div class="alert alert-info" id="category-no-topics">
38
37
  [[category:no_topics]]
39
38
  </div>
40
39
  {{{ end }}}
@@ -1,27 +1,26 @@
1
- <div class="chats-full d-flex gap-1 vh-100 py-3">
1
+ <div class="chats-full d-flex gap-1 h-100 mt-3 mt-md-0 py-md-3">
2
2
  <div class="d-flex flex-column h-100" component="chat/nav-wrapper" data-loaded="{{{ if roomId }}}1{{{ else }}}0{{{ end }}}">
3
3
  <div class="chat-search dropdown mb-2">
4
4
  <label class="text-xs text-muted">[[users:search-user-for-chat]]</label>
5
5
 
6
6
  <div class="input-group">
7
7
  <input class="form-control" type="text" component="chat/search" data-bs-toggle="dropdown" />
8
+ <ul component="chat/search/list" class="dropdown-menu">
9
+ <li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
10
+ </ul>
8
11
  <button class="btn btn-primary" type="button">
9
12
  <i class="fa fa-search"></i>
10
13
  </button>
11
14
  </div>
12
-
13
- <ul component="chat/search/list" class="dropdown-menu">
14
- <li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
15
- </ul>
16
15
  </div>
17
16
  <hr class="text-muted opacity-25 my-1">
18
- <ul component="chat/recent" class="chats-list list-unstyled overflow-auto mb-0 pe-2" data-nextstart="{nextStart}">
17
+ <div component="chat/recent" class="chats-list overflow-auto mb-0 pe-1" data-nextstart="{nextStart}">
19
18
  {{{each rooms}}}
20
19
  <!-- IMPORT partials/chats/recent_room.tpl -->
21
20
  {{{end}}}
22
- </ul>
21
+ </div>
23
22
  </div>
24
- <div class="flex-1 ms-md-2 ps-md-2 border-1 border-start-md" component="chat/main-wrapper">
23
+ <div class="flex-1 ms-md-2 ps-md-2 border-1 border-start-md h-100" component="chat/main-wrapper">
25
24
  <!-- IMPORT partials/chats/message-window.tpl -->
26
25
  </div>
27
26
  <div class="imagedrop"><div>[[topic:composer.drag_and_drop_images]]</div></div>