nodebb-theme-harmony 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/.eslintrc +3 -3
  2. package/README.md +22 -22
  3. package/lib/controllers.js +29 -29
  4. package/library.js +183 -183
  5. package/package.json +48 -48
  6. package/plugin.json +24 -24
  7. package/public/.eslintrc +3 -3
  8. package/public/admin.js +15 -15
  9. package/public/harmony.js +287 -287
  10. package/public/settings.js +31 -31
  11. package/renovate.json +6 -6
  12. package/scss/account.scss +27 -27
  13. package/scss/category.scss +3 -3
  14. package/scss/chats.scss +11 -11
  15. package/scss/common.scss +122 -122
  16. package/scss/fonts.scss +19 -19
  17. package/scss/groups.scss +22 -22
  18. package/scss/harmony.scss +24 -24
  19. package/scss/header.scss +15 -15
  20. package/scss/mixins.scss +183 -183
  21. package/scss/modals.scss +6 -6
  22. package/scss/modules/breadcrumbs.scss +15 -15
  23. package/scss/modules/cover.scss +102 -102
  24. package/scss/modules/filters.scss +7 -7
  25. package/scss/modules/nprogress.scss +80 -80
  26. package/scss/modules/paginator.scss +23 -23
  27. package/scss/modules/tags.scss +5 -5
  28. package/scss/modules/topic-navigator.scss +52 -52
  29. package/scss/modules/topics-list.scss +40 -40
  30. package/scss/modules/user-menu.scss +10 -10
  31. package/scss/overrides.scss +65 -65
  32. package/scss/sidebar.scss +188 -188
  33. package/scss/skins.scss +58 -58
  34. package/scss/status.scss +24 -24
  35. package/scss/topic.scss +130 -130
  36. package/templates/account/blocks.tpl +51 -51
  37. package/templates/account/categories.tpl +63 -63
  38. package/templates/account/consent.tpl +73 -73
  39. package/templates/account/edit/password.tpl +34 -34
  40. package/templates/account/edit/username.tpl +29 -29
  41. package/templates/account/edit.tpl +137 -137
  42. package/templates/account/followers.tpl +14 -14
  43. package/templates/account/following.tpl +15 -15
  44. package/templates/account/groups.tpl +15 -15
  45. package/templates/account/info.tpl +270 -270
  46. package/templates/account/posts.tpl +35 -35
  47. package/templates/account/profile.tpl +92 -92
  48. package/templates/account/sessions.tpl +8 -8
  49. package/templates/account/settings.tpl +236 -236
  50. package/templates/account/shares.tpl +19 -19
  51. package/templates/account/tags.tpl +12 -12
  52. package/templates/account/theme.tpl +63 -63
  53. package/templates/account/topics.tpl +44 -44
  54. package/templates/account/uploads.tpl +37 -37
  55. package/templates/admin/plugins/harmony.tpl +57 -57
  56. package/templates/categories.tpl +29 -29
  57. package/templates/category.tpl +72 -72
  58. package/templates/footer.tpl +17 -17
  59. package/templates/groups/details.tpl +86 -86
  60. package/templates/groups/list.tpl +58 -58
  61. package/templates/groups/members.tpl +9 -9
  62. package/templates/header.tpl +45 -45
  63. package/templates/notifications.tpl +32 -32
  64. package/templates/partials/account/admin-menu.tpl +36 -36
  65. package/templates/partials/account/category-item.tpl +22 -22
  66. package/templates/partials/account/footer.tpl +2 -2
  67. package/templates/partials/account/header.tpl +98 -98
  68. package/templates/partials/account/session-list.tpl +18 -18
  69. package/templates/partials/account/sidebar-left.tpl +116 -116
  70. package/templates/partials/breadcrumbs-json-ld.tpl +15 -15
  71. package/templates/partials/breadcrumbs.tpl +12 -12
  72. package/templates/partials/buttons/newTopic.tpl +22 -22
  73. package/templates/partials/categories/item.tpl +56 -56
  74. package/templates/partials/categories/lastpost.tpl +24 -24
  75. package/templates/partials/categories/link.tpl +4 -4
  76. package/templates/partials/category/subcategory.tpl +18 -18
  77. package/templates/partials/category/tags.tpl +3 -3
  78. package/templates/partials/cookie-consent.tpl +6 -6
  79. package/templates/partials/groups/admin.tpl +95 -95
  80. package/templates/partials/groups/invited.tpl +32 -32
  81. package/templates/partials/groups/list.tpl +15 -15
  82. package/templates/partials/groups/memberlist.tpl +46 -46
  83. package/templates/partials/groups/pending.tpl +29 -29
  84. package/templates/partials/groups/sidebar-left.tpl +27 -27
  85. package/templates/partials/header/brand.tpl +27 -27
  86. package/templates/partials/mobile-footer.tpl +95 -95
  87. package/templates/partials/notifications_list.tpl +44 -44
  88. package/templates/partials/paginator.tpl +46 -46
  89. package/templates/partials/post_bar.tpl +27 -27
  90. package/templates/partials/posts_list.tpl +7 -7
  91. package/templates/partials/posts_list_item.tpl +19 -19
  92. package/templates/partials/quick-search-results.tpl +46 -46
  93. package/templates/partials/search-filters.tpl +183 -183
  94. package/templates/partials/search-results.tpl +54 -54
  95. package/templates/partials/sidebar/chats.tpl +45 -45
  96. package/templates/partials/sidebar/drafts.tpl +63 -63
  97. package/templates/partials/sidebar/logged-in-menu.tpl +22 -22
  98. package/templates/partials/sidebar/logged-out-menu.tpl +44 -44
  99. package/templates/partials/sidebar/notifications.tpl +49 -49
  100. package/templates/partials/sidebar/search-mobile.tpl +28 -28
  101. package/templates/partials/sidebar/search.tpl +30 -30
  102. package/templates/partials/sidebar/user-menu.tpl +103 -103
  103. package/templates/partials/sidebar-left.tpl +39 -39
  104. package/templates/partials/sidebar-right.tpl +16 -16
  105. package/templates/partials/skin-switcher.tpl +50 -50
  106. package/templates/partials/tags_list.tpl +7 -7
  107. package/templates/partials/toast.tpl +19 -19
  108. package/templates/partials/topic/event.tpl +12 -12
  109. package/templates/partials/topic/navigation-post.tpl +9 -9
  110. package/templates/partials/topic/navigator-mobile.tpl +61 -61
  111. package/templates/partials/topic/navigator.tpl +26 -26
  112. package/templates/partials/topic/necro-post.tpl +5 -5
  113. package/templates/partials/topic/post-menu-list.tpl +156 -156
  114. package/templates/partials/topic/post-menu.tpl +4 -4
  115. package/templates/partials/topic/post-placeholder.tpl +14 -14
  116. package/templates/partials/topic/post.tpl +146 -146
  117. package/templates/partials/topic/quickreply.tpl +28 -28
  118. package/templates/partials/topic/reply-button.tpl +26 -26
  119. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  120. package/templates/partials/topic/sort.tpl +27 -27
  121. package/templates/partials/topic/stats.tpl +14 -14
  122. package/templates/partials/topic/thumbs.tpl +4 -4
  123. package/templates/partials/topic/tools.tpl +8 -8
  124. package/templates/partials/topic/topic-menu-list.tpl +73 -73
  125. package/templates/partials/topic/watch.tpl +59 -59
  126. package/templates/partials/topic-filters.tpl +15 -15
  127. package/templates/partials/topic-list-bar.tpl +54 -54
  128. package/templates/partials/topic-terms.tpl +15 -15
  129. package/templates/partials/topics_list.tpl +131 -131
  130. package/templates/partials/users/item.tpl +39 -39
  131. package/templates/partials/users_list.tpl +4 -4
  132. package/templates/partials/users_list_menu.tpl +14 -14
  133. package/templates/popular.tpl +34 -34
  134. package/templates/post-queue.tpl +211 -211
  135. package/templates/recent.tpl +42 -42
  136. package/templates/search.tpl +46 -46
  137. package/templates/tag.tpl +34 -34
  138. package/templates/tags.tpl +49 -49
  139. package/templates/top.tpl +34 -34
  140. package/templates/topic.tpl +123 -123
  141. package/templates/unread.tpl +31 -31
  142. package/templates/users.tpl +39 -39
  143. package/templates/world.tpl +66 -66
  144. package/theme.json +6 -6
@@ -1,47 +1,47 @@
1
- <nav component="pagination" class="pagination-container mt-3{{{ if !pagination.pages.length }}} hidden{{{ end }}}" aria-label="[[global:pagination]]">
2
- <ul class="pagination pagination-sm gap-1 hidden-xs hidden-sm justify-content-center">
3
- <li class="page-item previous {{{ if !pagination.prev.active }}} disabled{{{ end }}}">
4
- <a class="page-link rounded fw-secondary px-3" href="?{pagination.prev.qs}" data-page="{pagination.prev.page}" aria-label="[[global:pagination.previouspage]]"><i class="fa fa-chevron-left"></i> </a>
5
- </li>
6
-
7
- {{{each pagination.pages}}}
8
- {{{ if ./separator }}}
9
- <li component="pagination/select-page" class="page-item page select-page">
10
- <a class="page-link rounded fw-secondary px-3" href="#" aria-label="[[global:pagination.go-to-page]]"><i class="fa fa-ellipsis-h"></i></a>
11
- </li>
12
- {{{ else }}}
13
- <li class="page-item page{{{ if ./active }}} active{{{ end }}}" >
14
- <a class="page-link rounded fw-secondary px-3" href="?{./qs}" data-page="{./page}" aria-label="[[global:pagination.page-x, {./page}]]">{./page}</a>
15
- </li>
16
- {{{ end }}}
17
- {{{end}}}
18
-
19
- <li class="page-item next {{{ if !pagination.next.active }}} disabled{{{ end }}}">
20
- <a class="page-link rounded fw-secondary px-3" href="?{pagination.next.qs}" data-page="{pagination.next.page}" aria-label="[[global:pagination.nextpage]]"> <i class="fa fa-chevron-right"></i></a>
21
- </li>
22
- </ul>
23
-
24
- {{{ if !template.topic }}}
25
- <ul class="pagination pagination-sm hidden-md hidden-lg justify-content-center">
26
- <li class="page-item first{{{ if !pagination.prev.active }}} disabled{{{ end }}}">
27
- <a class="page-link fw-secondary" href="?{pagination.first.qs}" data-page="1" aria-label="[[global:pagination.firstpage]]"><i class="fa fa-fast-backward"></i> </a>
28
- </li>
29
-
30
- <li class="page-item previous{{{ if !pagination.prev.active }}} disabled{{{ end }}}">
31
- <a class="page-link fw-secondary" href="?{pagination.prev.qs}" data-page="{pagination.prev.page}" aria-label="[[global:pagination.previouspage]]"><i class="fa fa-chevron-left"></i> </a>
32
- </li>
33
-
34
- <li component="pagination/select-page" class="page-item page select-page">
35
- <a class="page-link fw-secondary" href="#" aria-label="[[global:pagination.go-to-page]]">{pagination.currentPage} / {pagination.pageCount}</a>
36
- </li>
37
-
38
- <li class="page-item next{{{ if !pagination.next.active }}} disabled{{{ end }}}">
39
- <a class="page-link fw-secondary" href="?{pagination.next.qs}" data-page="{pagination.next.page}" aria-label="[[global:pagination.nextpage]]"> <i class="fa fa-chevron-right"></i></a>
40
- </li>
41
-
42
- <li class="page-item last{{{ if !pagination.next.active }}} disabled{{{ end }}}">
43
- <a class="page-link fw-secondary" href="?{pagination.last.qs}" data-page="{pagination.pageCount}" aria-label="[[global:pagination.lastpage]]"><i class="fa fa-fast-forward"></i> </a>
44
- </li>
45
- </ul>
46
- {{{ end }}}
1
+ <nav component="pagination" class="pagination-container mt-3{{{ if !pagination.pages.length }}} hidden{{{ end }}}" aria-label="[[global:pagination]]">
2
+ <ul class="pagination pagination-sm gap-1 hidden-xs hidden-sm justify-content-center">
3
+ <li class="page-item previous {{{ if !pagination.prev.active }}} disabled{{{ end }}}">
4
+ <a class="page-link rounded fw-secondary px-3" href="?{pagination.prev.qs}" data-page="{pagination.prev.page}" aria-label="[[global:pagination.previouspage]]"><i class="fa fa-chevron-left"></i> </a>
5
+ </li>
6
+
7
+ {{{each pagination.pages}}}
8
+ {{{ if ./separator }}}
9
+ <li component="pagination/select-page" class="page-item page select-page">
10
+ <a class="page-link rounded fw-secondary px-3" href="#" aria-label="[[global:pagination.go-to-page]]"><i class="fa fa-ellipsis-h"></i></a>
11
+ </li>
12
+ {{{ else }}}
13
+ <li class="page-item page{{{ if ./active }}} active{{{ end }}}" >
14
+ <a class="page-link rounded fw-secondary px-3" href="?{./qs}" data-page="{./page}" aria-label="[[global:pagination.page-x, {./page}]]">{./page}</a>
15
+ </li>
16
+ {{{ end }}}
17
+ {{{end}}}
18
+
19
+ <li class="page-item next {{{ if !pagination.next.active }}} disabled{{{ end }}}">
20
+ <a class="page-link rounded fw-secondary px-3" href="?{pagination.next.qs}" data-page="{pagination.next.page}" aria-label="[[global:pagination.nextpage]]"> <i class="fa fa-chevron-right"></i></a>
21
+ </li>
22
+ </ul>
23
+
24
+ {{{ if !template.topic }}}
25
+ <ul class="pagination pagination-sm hidden-md hidden-lg justify-content-center">
26
+ <li class="page-item first{{{ if !pagination.prev.active }}} disabled{{{ end }}}">
27
+ <a class="page-link fw-secondary" href="?{pagination.first.qs}" data-page="1" aria-label="[[global:pagination.firstpage]]"><i class="fa fa-fast-backward"></i> </a>
28
+ </li>
29
+
30
+ <li class="page-item previous{{{ if !pagination.prev.active }}} disabled{{{ end }}}">
31
+ <a class="page-link fw-secondary" href="?{pagination.prev.qs}" data-page="{pagination.prev.page}" aria-label="[[global:pagination.previouspage]]"><i class="fa fa-chevron-left"></i> </a>
32
+ </li>
33
+
34
+ <li component="pagination/select-page" class="page-item page select-page">
35
+ <a class="page-link fw-secondary" href="#" aria-label="[[global:pagination.go-to-page]]">{pagination.currentPage} / {pagination.pageCount}</a>
36
+ </li>
37
+
38
+ <li class="page-item next{{{ if !pagination.next.active }}} disabled{{{ end }}}">
39
+ <a class="page-link fw-secondary" href="?{pagination.next.qs}" data-page="{pagination.next.page}" aria-label="[[global:pagination.nextpage]]"> <i class="fa fa-chevron-right"></i></a>
40
+ </li>
41
+
42
+ <li class="page-item last{{{ if !pagination.next.active }}} disabled{{{ end }}}">
43
+ <a class="page-link fw-secondary" href="?{pagination.last.qs}" data-page="{pagination.pageCount}" aria-label="[[global:pagination.lastpage]]"><i class="fa fa-fast-forward"></i> </a>
44
+ </li>
45
+ </ul>
46
+ {{{ end }}}
47
47
  </nav>
@@ -1,27 +1,27 @@
1
- <div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}}">
2
- <nav class="d-flex flex-nowrap my-2 p-0 border-0 rounded topic-main-buttons">
3
- <div class="d-flex flex-row p-2 text-bg-light border rounded w-100 align-items-center">
4
- <div class="d-flex me-auto mb-0 gap-2 align-items-center flex-wrap">
5
- {{{ if loggedIn }}}
6
- <button component="topic/mark-unread" class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center">
7
- <i class="fa fa-fw fa-inbox text-primary"></i>
8
- <span class="d-none d-md-inline fw-semibold">[[topic:mark-unread]]</span>
9
- </button>
10
- {{{ end }}}
11
-
12
- <!-- IMPORT partials/topic/watch.tpl -->
13
- <!-- IMPORT partials/topic/sort.tpl -->
14
- <!-- IMPORT partials/topic/tools.tpl -->
15
-
16
- {{{ if (!feeds:disableRSS && rssFeedUrl) }}}
17
- <a class="btn btn-ghost btn-sm d-none d-lg-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
18
- {{{ end }}}
19
-
20
- {{{ if browsingUsers }}}
21
- <div class="hidden-xs"><!-- IMPORT partials/topic/browsing-users.tpl --></div>
22
- {{{ end }}}
23
- </div>
24
- <!-- IMPORT partials/topic/reply-button.tpl -->
25
- </div>
26
- </nav>
27
- </div>
1
+ <div class="{{{ if config.theme.stickyToolbar }}}sticky-tools{{{ end }}}">
2
+ <nav class="d-flex flex-nowrap my-2 p-0 border-0 rounded topic-main-buttons">
3
+ <div class="d-flex flex-row p-2 text-bg-light border rounded w-100 align-items-center">
4
+ <div class="d-flex me-auto mb-0 gap-2 align-items-center flex-wrap">
5
+ {{{ if loggedIn }}}
6
+ <button component="topic/mark-unread" class="btn btn-ghost btn-sm ff-secondary d-flex gap-2 align-items-center">
7
+ <i class="fa fa-fw fa-inbox text-primary"></i>
8
+ <span class="d-none d-md-inline fw-semibold">[[topic:mark-unread]]</span>
9
+ </button>
10
+ {{{ end }}}
11
+
12
+ <!-- IMPORT partials/topic/watch.tpl -->
13
+ <!-- IMPORT partials/topic/sort.tpl -->
14
+ <!-- IMPORT partials/topic/tools.tpl -->
15
+
16
+ {{{ if (!feeds:disableRSS && rssFeedUrl) }}}
17
+ <a class="btn btn-ghost btn-sm d-none d-lg-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" title="[[global:rss-feed]]"><i class="fa fa-rss text-primary"></i></a>
18
+ {{{ end }}}
19
+
20
+ {{{ if browsingUsers }}}
21
+ <div class="hidden-xs"><!-- IMPORT partials/topic/browsing-users.tpl --></div>
22
+ {{{ end }}}
23
+ </div>
24
+ <!-- IMPORT partials/topic/reply-button.tpl -->
25
+ </div>
26
+ </nav>
27
+ </div>
@@ -1,8 +1,8 @@
1
- <ul component="posts" class="posts-list list-unstyled" data-nextstart="{nextStart}">
2
- {{{ each posts }}}
3
- <!-- IMPORT partials/posts_list_item.tpl -->
4
- {{{ end }}}
5
- </ul>
6
- <div component="posts/loading" class="loading-indicator text-center hidden">
7
- <i class="fa fa-refresh fa-spin"></i>
1
+ <ul component="posts" class="posts-list list-unstyled" data-nextstart="{nextStart}">
2
+ {{{ each posts }}}
3
+ <!-- IMPORT partials/posts_list_item.tpl -->
4
+ {{{ end }}}
5
+ </ul>
6
+ <div component="posts/loading" class="loading-indicator text-center hidden">
7
+ <i class="fa fa-refresh fa-spin"></i>
8
8
  </div>
@@ -1,20 +1,20 @@
1
- <li component="post" class="posts-list-item {{{ if ./deleted }}} deleted{{{ else }}}{{{ if ./topic.deleted }}} deleted{{{ end }}}{{{ end }}}{{{ if ./topic.scheduled }}} scheduled{{{ end }}}" data-pid="{./pid}" data-uid="{./uid}">
2
- <hr/>
3
- <a class="topic-title fw-semibold fs-5 mb-2 text-reset text-break d-block" href="{config.relative_path}/post/{encodeURIComponent(./pid)}">
4
- {{{ if ./isMainPost }}}<i class="fa fa-book text-muted" title="[[topic:topic]]"></i> {{{ end }}}{./topic.title}
5
- </a>
6
-
7
- <div class="post-body d-flex flex-column gap-1">
8
- <div class="d-flex gap-3 post-info text-sm align-items-center">
9
- <div class="post-author d-flex align-items-center gap-1">
10
- <a class="lh-1 text-decoration-none" href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "16px", true, "not-responsive")}</a>
11
- <a class="lh-1 fw-semibold" href="{config.relative_path}/user/{./user.userslug}">{../user.displayname}</a>
12
- </div>
13
- <span class="timeago text-muted lh-1" title="{./timestampISO}"></span>
14
- </div>
15
-
16
- <div component="post/content" class="content text-sm text-break">
17
- {./content}
18
- </div>
19
- </div>
1
+ <li component="post" class="posts-list-item {{{ if ./deleted }}} deleted{{{ else }}}{{{ if ./topic.deleted }}} deleted{{{ end }}}{{{ end }}}{{{ if ./topic.scheduled }}} scheduled{{{ end }}}" data-pid="{./pid}" data-uid="{./uid}">
2
+ <hr/>
3
+ <a class="topic-title fw-semibold fs-5 mb-2 text-reset text-break d-block" href="{config.relative_path}/post/{encodeURIComponent(./pid)}">
4
+ {{{ if ./isMainPost }}}<i class="fa fa-book text-muted" title="[[topic:topic]]"></i> {{{ end }}}{./topic.title}
5
+ </a>
6
+
7
+ <div class="post-body d-flex flex-column gap-1">
8
+ <div class="d-flex gap-3 post-info text-sm align-items-center">
9
+ <div class="post-author d-flex align-items-center gap-1">
10
+ <a class="lh-1 text-decoration-none" href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "16px", true, "not-responsive")}</a>
11
+ <a class="lh-1 fw-semibold" href="{config.relative_path}/user/{./user.userslug}">{../user.displayname}</a>
12
+ </div>
13
+ <span class="timeago text-muted lh-1" title="{./timestampISO}"></span>
14
+ </div>
15
+
16
+ <div component="post/content" class="content text-sm text-break">
17
+ {./content}
18
+ </div>
19
+ </div>
20
20
  </li>
@@ -1,47 +1,47 @@
1
- {{{ if multiplePages }}}
2
- <div class="show-more-container">
3
- <div class="text-center d-block d-md-none">
4
- <a href="{url}" class="btn btn-sm btn-primary">
5
- [[search:see-more-results, {matchCount}]]
6
- </a>
7
- </div>
8
- <li role="separator" class="dropdown-divider d-block d-md-none"></li>
9
- </div>
10
- {{{ end }}}
11
-
12
- <ul id="quick-search-results" class="quick-search-results list-unstyled mb-0 p-0 pe-1 overflow-auto overscroll-behavior-contain ff-base ghost-scrollbar" style="max-width: {dropdown.maxWidth}; max-height: {dropdown.maxHeight};">
13
- <li role="separator" class="dropdown-divider d-none d-md-block"></li>
14
- {{{ each posts }}}
15
- <li data-tid="{posts.topic.tid}" data-pid="{posts.pid}" class="d-flex flex-column gap-1">
16
- <a href="{config.relative_path}/post/{encodeURIComponent(posts.pid)}"
17
- class="btn btn-ghost btn-sm ff-secondary rounded-1 text-start text-reset d-block text-truncate px-2 py-1">
18
- <span class="quick-search-title fw-semibold text-sm">{posts.topic.title}</span>
19
- <br/>
20
- <p class="snippet text-xs text-break text-wrap mb-0">
21
- {posts.snippet}
22
- </p>
23
- </a>
24
- <div class="d-flex gap-2 post-info px-2 text-xs">
25
- <div class="category-item d-inline-block ff-secondary">
26
- {function.buildCategoryLabel, posts.category, "span"}
27
- </div>
28
- <span class="timeago text-muted" title="{posts.timestampISO}"></span>
29
- </div>
30
- </li>
31
- <li role="separator" class="dropdown-divider"></li>
32
- {{{ end }}}
33
-
34
- </ul>
35
-
36
- {{{ if multiplePages }}}
37
- <div class="text-center mt-2 d-none d-md-block">
38
- <a href="{url}" class="btn btn-sm btn-primary">
39
- [[search:see-more-results, {matchCount}]]
40
- </a>
41
- </div>
42
- {{{ end }}}
43
-
44
- {{{if !posts.length}}}
45
- <div class="text-center no-results py-2 py-md-0">[[search:no-matches]]</li>
46
- <li role="separator" class="dropdown-divider d-block d-md-none"></li>
1
+ {{{ if multiplePages }}}
2
+ <div class="show-more-container">
3
+ <div class="text-center d-block d-md-none">
4
+ <a href="{url}" class="btn btn-sm btn-primary">
5
+ [[search:see-more-results, {matchCount}]]
6
+ </a>
7
+ </div>
8
+ <li role="separator" class="dropdown-divider d-block d-md-none"></li>
9
+ </div>
10
+ {{{ end }}}
11
+
12
+ <ul id="quick-search-results" class="quick-search-results list-unstyled mb-0 p-0 pe-1 overflow-auto overscroll-behavior-contain ff-base ghost-scrollbar" style="max-width: {dropdown.maxWidth}; max-height: {dropdown.maxHeight};">
13
+ <li role="separator" class="dropdown-divider d-none d-md-block"></li>
14
+ {{{ each posts }}}
15
+ <li data-tid="{posts.topic.tid}" data-pid="{posts.pid}" class="d-flex flex-column gap-1">
16
+ <a href="{config.relative_path}/post/{encodeURIComponent(posts.pid)}"
17
+ class="btn btn-ghost btn-sm ff-secondary rounded-1 text-start text-reset d-block text-truncate px-2 py-1">
18
+ <span class="quick-search-title fw-semibold text-sm">{posts.topic.title}</span>
19
+ <br/>
20
+ <p class="snippet text-xs text-break text-wrap mb-0">
21
+ {posts.snippet}
22
+ </p>
23
+ </a>
24
+ <div class="d-flex gap-2 post-info px-2 text-xs">
25
+ <div class="category-item d-inline-block ff-secondary">
26
+ {function.buildCategoryLabel, posts.category, "span"}
27
+ </div>
28
+ <span class="timeago text-muted" title="{posts.timestampISO}"></span>
29
+ </div>
30
+ </li>
31
+ <li role="separator" class="dropdown-divider"></li>
32
+ {{{ end }}}
33
+
34
+ </ul>
35
+
36
+ {{{ if multiplePages }}}
37
+ <div class="text-center mt-2 d-none d-md-block">
38
+ <a href="{url}" class="btn btn-sm btn-primary">
39
+ [[search:see-more-results, {matchCount}]]
40
+ </a>
41
+ </div>
42
+ {{{ end }}}
43
+
44
+ {{{if !posts.length}}}
45
+ <div class="text-center no-results py-2 py-md-0">[[search:no-matches]]</li>
46
+ <li role="separator" class="dropdown-divider d-block d-md-none"></li>
47
47
  {{{end}}}