nodebb-theme-harmony 1.0.0-beta.3 → 1.0.0-beta.31
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.
- package/languages/en-GB/harmony.json +1 -0
- package/library.js +10 -0
- package/package.json +1 -1
- package/public/harmony.js +50 -23
- package/scss/chats.scss +7 -2
- package/scss/common.scss +36 -4
- package/scss/harmony.scss +2 -0
- package/scss/mixins.scss +7 -3
- package/scss/modules/composer.scss +0 -4
- package/scss/modules/cover.scss +1 -11
- package/scss/modules/paginator.scss +24 -0
- package/scss/overrides.scss +2 -0
- package/scss/search.scss +8 -0
- package/scss/sidebar.scss +27 -2
- package/scss/topic.scss +22 -12
- package/templates/account/blocks.tpl +35 -41
- package/templates/account/categories.tpl +23 -30
- package/templates/account/consent.tpl +66 -10
- package/templates/account/edit/password.tpl +25 -30
- package/templates/account/edit/username.tpl +21 -26
- package/templates/account/edit.tpl +109 -116
- package/templates/account/followers.tpl +12 -19
- package/templates/account/following.tpl +12 -18
- package/templates/account/groups.tpl +12 -17
- package/templates/account/info.tpl +181 -204
- package/templates/account/posts.tpl +31 -36
- package/templates/account/profile.tpl +66 -73
- package/templates/account/sessions.tpl +8 -30
- package/templates/account/settings.tpl +193 -198
- package/templates/account/theme.tpl +20 -27
- package/templates/account/topics.tpl +33 -38
- package/templates/account/uploads.tpl +35 -40
- package/templates/categories.tpl +1 -1
- package/templates/category.tpl +10 -11
- package/templates/chats.tpl +1 -1
- package/templates/flags/detail.tpl +0 -1
- package/templates/flags/list.tpl +1 -1
- package/templates/groups/details.tpl +20 -17
- package/templates/groups/members.tpl +0 -2
- package/templates/partials/account/footer.tpl +3 -0
- package/templates/partials/account/header.tpl +78 -81
- package/templates/partials/account/session-list.tpl +18 -0
- package/templates/partials/categories/item.tpl +11 -14
- package/templates/partials/categories/lastpost.tpl +2 -2
- package/templates/partials/{category-filter-content.tpl → category/filter-dropdown-content.tpl} +6 -4
- package/templates/partials/{category-selector-content.tpl → category/selector-dropdown-content.tpl} +1 -1
- package/templates/partials/category/subcategory.tpl +1 -1
- package/templates/partials/category/tags.tpl +0 -2
- package/templates/partials/category/watch.tpl +28 -4
- package/templates/partials/chats/message-window.tpl +3 -2
- package/templates/partials/chats/message.tpl +1 -1
- package/templates/partials/cookie-consent.tpl +5 -5
- package/templates/partials/flags/filters.tpl +1 -1
- package/templates/partials/groups/admin.tpl +1 -1
- package/templates/partials/groups/badge.tpl +1 -1
- package/templates/partials/groups/sidebar-left.tpl +1 -1
- package/templates/partials/mobile-footer.tpl +70 -62
- package/templates/partials/paginator.tpl +9 -9
- package/templates/partials/post_bar.tpl +5 -4
- package/templates/partials/posts_list_item.tpl +5 -5
- package/templates/partials/quick-search-results.tpl +1 -1
- package/templates/partials/search-filters.tpl +184 -0
- package/templates/partials/search-results.tpl +28 -32
- package/templates/partials/sidebar/chats.tpl +6 -3
- package/templates/partials/sidebar/drafts.tpl +5 -5
- package/templates/partials/sidebar/logged-in-menu.tpl +5 -5
- package/templates/partials/sidebar/notifications.tpl +4 -4
- package/templates/partials/sidebar/search-mobile.tpl +1 -1
- package/templates/partials/sidebar/search.tpl +1 -1
- package/templates/partials/sidebar/user-menu.tpl +1 -1
- package/templates/partials/sidebar-left.tpl +4 -1
- package/templates/partials/skin-switcher.tpl +2 -2
- package/templates/partials/tags_list.tpl +6 -4
- package/templates/partials/topic/browsing-users.tpl +0 -2
- package/templates/partials/topic/event.tpl +1 -1
- package/templates/partials/topic/navigation-post.tpl +5 -9
- package/templates/partials/topic/navigator-mobile.tpl +43 -0
- package/templates/partials/topic/post-editor.tpl +0 -2
- package/templates/partials/topic/post-menu-list.tpl +0 -2
- package/templates/partials/topic/post.tpl +19 -3
- package/templates/partials/topic/quickreply.tpl +3 -3
- package/templates/partials/topic/topic-menu-list.tpl +0 -2
- package/templates/partials/topic/watch.tpl +28 -4
- package/templates/partials/topic-list-bar.tpl +6 -6
- package/templates/partials/topics_list.tpl +46 -45
- package/templates/partials/users/filter-dropdown-content.tpl +20 -0
- package/templates/popular.tpl +1 -1
- package/templates/post-queue.tpl +112 -0
- package/templates/recent.tpl +1 -1
- package/templates/search.tpl +39 -177
- package/templates/top.tpl +1 -1
- package/templates/topic.tpl +2 -2
- package/templates/unread.tpl +1 -1
- package/templates/modules/usercard.tpl +0 -39
- package/templates/partials/acceptTos.tpl +0 -11
- package/templates/partials/category-filter-right.tpl +0 -5
- package/templates/partials/category-filter.tpl +0 -3
- package/templates/partials/category-selector-right.tpl +0 -5
- package/templates/partials/category-selector.tpl +0 -3
- package/templates/partials/slideout-menu.tpl +0 -6
package/templates/partials/{category-filter-content.tpl → category/filter-dropdown-content.tpl}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<button type="button" class="btn-ghost-sm d-flex gap-2 align-items-baseline dropdown-toggle" data-bs-toggle="dropdown">
|
|
2
2
|
{{{ if selectedCategory }}}
|
|
3
3
|
<span class="category-item">
|
|
4
|
-
{buildCategoryIcon(selectedCategory, "
|
|
4
|
+
{buildCategoryIcon(selectedCategory, "18px", "rounded-circle")}
|
|
5
5
|
<span class="visible-md-inline visible-lg-inline fw-semibold">{selectedCategory.name}</span>
|
|
6
6
|
</span>
|
|
7
7
|
{{{ else }}}
|
|
@@ -9,18 +9,20 @@
|
|
|
9
9
|
<span class="visible-md-inline visible-lg-inline fw-semibold">[[unread:all_categories]]</span>{{{ end }}}
|
|
10
10
|
</button>
|
|
11
11
|
<div component="category-selector-search" class="hidden position-absolute">
|
|
12
|
-
<input type="text" class="form-control" autocomplete="off">
|
|
12
|
+
<input type="text" class="form-control form-control-sm" autocomplete="off">
|
|
13
13
|
</div>
|
|
14
14
|
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
|
|
15
|
-
<li role="presentation" class="category" data-
|
|
16
|
-
<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>
|
|
15
|
+
<li role="presentation" class="category" data-cid="all">
|
|
16
|
+
<a class="dropdown-item" role="menu-item" href="{{{ if allCategoriesUrl }}}{config.relative_path}/{allCategoriesUrl}{{{ else }}}#{{{ end }}}"><i component="category/select/icon" class="fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i> [[unread:all_categories]]</a>
|
|
17
17
|
</li>
|
|
18
18
|
{{{each categoryItems}}}
|
|
19
19
|
<li role="presentation" class="category {{{ if ../disabledClass }}}disabled{{{ end }}}" data-cid="{../cid}" data-parent-cid="{../parentCid}" data-name="{../name}">
|
|
20
20
|
<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>
|
|
21
21
|
<span component="category-markup" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">
|
|
22
22
|
<div class="category-item d-inline-block">
|
|
23
|
+
{{{ if ./icon }}}
|
|
23
24
|
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
|
25
|
+
{{{ end }}}
|
|
24
26
|
{./name}
|
|
25
27
|
</div>
|
|
26
28
|
</span>
|
package/templates/partials/{category-selector-content.tpl → category/selector-dropdown-content.tpl}
RENAMED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</span>
|
|
13
13
|
</button>
|
|
14
14
|
<div component="category-selector-search" class="hidden position-absolute">
|
|
15
|
-
<input type="text" class="form-control" autocomplete="off">
|
|
15
|
+
<input type="text" class="form-control form-control-sm" autocomplete="off">
|
|
16
16
|
</div>
|
|
17
17
|
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
|
|
18
18
|
<li component="category/no-matches" role="presentation" class="category hidden">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{{ if children.length }}}
|
|
2
2
|
<div class="subcategory">
|
|
3
3
|
{{{ if hasMoreSubCategories }}}
|
|
4
|
-
<div class="mb-2"><!-- IMPORT partials/category-
|
|
4
|
+
<div class="mb-2"><!-- IMPORT partials/category/selector-dropdown-left.tpl --></div>
|
|
5
5
|
{{{ else }}}
|
|
6
6
|
<h3 class="fs-6 fw-semibold">[[category:subcategories]]</h3>
|
|
7
7
|
{{{ end }}}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
-
|
|
3
1
|
{{{ each tags }}}
|
|
4
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>
|
|
5
3
|
{{{ end }}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{{{ if config.loggedIn }}}
|
|
2
|
-
<div class="btn-group
|
|
2
|
+
<div class="btn-group bottom-sheet" component="topic/watch">
|
|
3
3
|
<button class="btn-ghost-sm d-flex gap-2 align-items-baseline dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
4
4
|
<span component="category/watching/menu" {{{ if !./isWatched }}}class="hidden"{{{ end }}}><i class="fa fa-fw fa-inbox text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold"> [[category:watching]]</span></span>
|
|
5
5
|
|
|
@@ -9,11 +9,35 @@
|
|
|
9
9
|
</button>
|
|
10
10
|
|
|
11
11
|
<ul class="dropdown-menu">
|
|
12
|
-
<li
|
|
12
|
+
<li>
|
|
13
|
+
<a class="dropdown-item d-flex" href="#" component="category/watching" data-state="watching">
|
|
14
|
+
<span><i component="category/watching/check" class="fa fa-fw {{{ if ./isWatched }}}fa-check{{{ end }}}"></i></span>
|
|
15
|
+
<div class="d-flex flex-column">
|
|
16
|
+
<span><i class="fa fa-fw fa-inbox"></i> [[category:watching]]</span>
|
|
17
|
+
<p class="help-text text-muted"><small>[[category:watching.description]]</small></p>
|
|
18
|
+
</div>
|
|
19
|
+
</a>
|
|
20
|
+
</li>
|
|
13
21
|
|
|
14
|
-
<li
|
|
22
|
+
<li>
|
|
23
|
+
<a class="dropdown-item d-flex" href="#" component="category/notwatching" data-state="notwatching">
|
|
24
|
+
<span><i component="category/notwatching/check" class="fa fa-fw {{{ if ./isNotWatched }}}fa-check{{{ end }}}"></i></span>
|
|
25
|
+
<div class="d-flex flex-column">
|
|
26
|
+
<span><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]</span>
|
|
27
|
+
<p class="help-text text-muted"><small>[[category:not-watching.description]]</small></p>
|
|
28
|
+
</div>
|
|
29
|
+
</a>
|
|
30
|
+
</li>
|
|
15
31
|
|
|
16
|
-
<li
|
|
32
|
+
<li>
|
|
33
|
+
<a class="dropdown-item d-flex" href="#" component="category/ignoring" data-state="ignoring">
|
|
34
|
+
<span><i component="category/ignoring/check" class="fa fa-fw {{{ if ./isIgnored }}}fa-check{{{ end }}}"></i></span>
|
|
35
|
+
<div class="d-flex flex-column">
|
|
36
|
+
<span><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]</span>
|
|
37
|
+
<p class="help-text text-muted"><small>[[category:ignoring.description]]</small></p>
|
|
38
|
+
</div>
|
|
39
|
+
</a>
|
|
40
|
+
</li>
|
|
17
41
|
</ul>
|
|
18
42
|
</div>
|
|
19
43
|
{{{ end }}}
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
{{{ if roomId }}}
|
|
8
8
|
<div component="chat/messages" class="expanded-chat d-flex flex-column h-100" data-roomid="{roomId}">
|
|
9
|
-
<div component="chat/header" class="d-flex align-items-center px-3 gap-
|
|
10
|
-
<
|
|
9
|
+
<div component="chat/header" class="d-flex align-items-center px-3 gap-2">
|
|
10
|
+
<a href="#" data-action="close" role="button" class="d-flex d-md-none btn btn-outline align-text-top"><i class="fa fa-chevron-left"></i></a>
|
|
11
|
+
<h5 class="members flex-1 fw-semibold tracking-tight mb-0">
|
|
11
12
|
{./chatWithMessage}
|
|
12
13
|
</h5>
|
|
13
14
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
{{{ end }}}
|
|
15
15
|
</div>
|
|
16
16
|
<div class="message-body-wrapper hover-parent">
|
|
17
|
-
<div component="chat/message/body" class="message-body ps-0 py-0 overflow-auto">
|
|
17
|
+
<div component="chat/message/body" class="message-body ps-0 py-0 overflow-auto text-break">
|
|
18
18
|
{messages.content}
|
|
19
19
|
</div>
|
|
20
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
<div class="d-flex justify-content-center position-fixed start-0 bottom-0 w-100 mb-5 mb-md-0">
|
|
2
|
+
<div class="cookie-consent text-bg-info w-50 p-3 rounded d-flex gap-2 mb-5 mb-md-3 justify-content-between align-items-center">
|
|
3
|
+
<span>{message} <a class="fw-bold" target="_blank" rel="noopener" href="{link_url}">{link}</a></span>
|
|
4
|
+
<button class="btn btn-primary text-nowrap">{dismiss}</button>
|
|
5
|
+
</div>
|
|
6
6
|
</div>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<div class="mb-3">
|
|
31
31
|
<label class="form-label" for="filter-cid">[[flags:filter-cid]]</label>
|
|
32
32
|
<div class="input-group">
|
|
33
|
-
<!-- IMPORT partials/category-
|
|
33
|
+
<!-- IMPORT partials/category/filter-dropdown-left.tpl -->
|
|
34
34
|
</div>
|
|
35
35
|
</div>
|
|
36
36
|
<div class="mb-3">
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
<label class="form-label" for="memberPostCids">[[groups:details.member-post-cids]]</label>
|
|
83
83
|
<div class="d-flex gap-1">
|
|
84
84
|
<div class="member-post-cids-selector">
|
|
85
|
-
<!-- IMPORT partials/category-
|
|
85
|
+
<!-- IMPORT partials/category/selector-dropdown-left.tpl -->
|
|
86
86
|
</div>
|
|
87
87
|
<input id="memberPostCids" type="text" class="form-control" value="{group.memberPostCids}">
|
|
88
88
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<a href="{config.relative_path}/groups/{./slug}" class="badge rounded-1 text-uppercase text-truncate text-decoration-none" style="max-width: 150px;color:{./textColor};background-color: {./labelColor};"><i class="fa {{{ if ./icon }}}{./icon}{{{ if ./userTitle}}} me-1{{{ end }}}{{{else}}}hidden{{{ end }}}"></i><span class="badge-text">{{{ if ./userTitle }}}{./userTitle}{{{ end }}}</span></a>
|
|
1
|
+
<a href="{config.relative_path}/groups/{./slug}" class="badge rounded-1 text-uppercase text-truncate text-decoration-none" style="max-width: 150px;color:{./textColor};background-color: {./labelColor};"><i class="fa {{{ if ./icon }}}{./icon}{{{ if ./userTitle}}} me-1{{{ end }}}{{{else}}}hidden{{{ end }}}"></i><span class="badge-text align-text-bottom">{{{ if ./userTitle }}}{./userTitle}{{{ end }}}</span></a>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div class="flex-0 pe-2 border-end-md text-sm mb-3 flex-basis-md-200">
|
|
2
|
-
<div class="nav sticky-top d-flex flex-row flex-md-column flex-wrap gap-1" style="z-index: 1;">
|
|
2
|
+
<div class="nav sticky-md-top d-flex flex-row flex-md-column flex-wrap gap-1" style="top: 1rem; z-index: 1;">
|
|
3
3
|
<button data-bs-toggle="tab" data-bs-target="#groups-posts" class="btn-ghost fw-semibold {{{ if template.groups/details }}}active{{{ end }}}">
|
|
4
4
|
<div class="flex-1">[[global:posts]]</div>
|
|
5
5
|
</button>
|
|
@@ -1,70 +1,78 @@
|
|
|
1
|
-
<div class="
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
<div class="d-flex flex-column d-md-none fixed-bottom ff-secondary gap-1 align-items-center">
|
|
2
|
+
|
|
3
|
+
<!-- IMPORT partials/topic/navigator-mobile.tpl -->
|
|
4
|
+
|
|
5
|
+
<div class="bottombar p-2 text-dark bg-light d-flex justify-content-between align-items-center w-100">
|
|
6
|
+
<div class="">
|
|
7
|
+
<a href="#" role="button" class="nav-link nav-btn d-flex justify-content-between align-items-center position-relative" data-bs-toggle="dropdown">
|
|
8
|
+
<span class="position-relative">
|
|
9
|
+
<i class="fa fa-fw fa-lg fa-bars"></i>
|
|
10
|
+
<span component="unread/count" data-unread-url="{unreadCount.unreadUrl}" class="position-absolute top-0 start-100 translate-middle badge rounded-1 bg-primary {{{ if !unreadCount.mobileUnread }}}hidden{{{ end }}}">{unreadCount.mobileUnread}</span>
|
|
11
|
+
</span>
|
|
12
|
+
</a>
|
|
13
|
+
<ul class="navigation-dropdown dropdown-menu">
|
|
14
|
+
{{{ each navigation }}}
|
|
15
|
+
<!-- IF function.displayMenuItem, @index -->
|
|
16
|
+
<li class="nav-item {./class}{{{ if ./dropdown }}} dropend{{{ end }}}" title="{./title}">
|
|
17
|
+
<a class="nav-link nav-btn navigation-link px-3 py-2 {{{ if navigation.dropdown }}}dropdown-toggle{{{ end }}}"
|
|
18
|
+
{{{ if ./dropdown }}} href="#" role="button" data-bs-toggle="collapse" data-bs-target="#collapse-target-{@index}" onclick="event.stopPropagation();" {{{ else }}} href="{./route}"{{{ end }}} {{{ if ./id }}}id="{./id}"{{{ end }}}{{{ if ./targetBlank }}} target="_blank"{{{ end }}}>
|
|
19
|
+
<span class="d-inline-flex justify-content-between align-items-center w-100">
|
|
20
|
+
<span class="text-nowrap truncate-open">
|
|
21
|
+
{{{ if ./iconClass }}}
|
|
22
|
+
<i class="fa fa-fw {./iconClass}" data-content="{./content}"></i>
|
|
23
|
+
{{{ end }}}
|
|
24
|
+
{{{ if navigation.text }}}
|
|
25
|
+
<span class="nav-text visible-open px-2 fw-semibold">{navigation.text}</span>
|
|
26
|
+
{{{ end }}}
|
|
27
|
+
</span>
|
|
28
|
+
<span component="navigation/count" class="visible-open badge rounded-1 bg-primary {{{ if !./content }}}hidden{{{ end }}}">{./content}</span>
|
|
20
29
|
</span>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
</
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
</ul>
|
|
35
|
-
</div>
|
|
30
|
+
</a>
|
|
31
|
+
{{{ if navigation.dropdown }}}
|
|
32
|
+
<div class="ps-3">
|
|
33
|
+
<ul id="collapse-target-{@index}" class="collapse list-unstyled ps-3">
|
|
34
|
+
{navigation.dropdownContent}
|
|
35
|
+
</ul>
|
|
36
|
+
</div>
|
|
37
|
+
{{{ end }}}
|
|
38
|
+
</li>
|
|
39
|
+
<!-- ENDIF function.displayMenuItem -->
|
|
40
|
+
{{{end}}}
|
|
41
|
+
</ul>
|
|
42
|
+
</div>
|
|
36
43
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
<div class="">
|
|
45
|
+
{{{ if config.loggedIn }}}
|
|
46
|
+
<ul id="logged-in-menu" class="list-unstyled d-flex align-items-center w-100 gap-3 mb-0">
|
|
47
|
+
{{{ if config.searchEnabled }}}
|
|
48
|
+
<li component="sidebar/search" class="nav-item m-0 search">
|
|
49
|
+
<!-- IMPORT partials/sidebar/search-mobile.tpl -->
|
|
50
|
+
</li>
|
|
51
|
+
{{{ end }}}
|
|
45
52
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
53
|
+
<li component="notifications" class="nav-item m-0 notifications">
|
|
54
|
+
<!-- IMPORT partials/sidebar/notifications.tpl -->
|
|
55
|
+
</li>
|
|
49
56
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
{{{ if canChat }}}
|
|
58
|
+
<li class="nav-item m-0 chats">
|
|
59
|
+
<!-- IMPORT partials/sidebar/chats.tpl -->
|
|
60
|
+
</li>
|
|
61
|
+
{{{ end }}}
|
|
55
62
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
63
|
+
<li component="sidebar/drafts" class="hidden nav-item m-0 drafts">
|
|
64
|
+
<!-- IMPORT partials/sidebar/drafts.tpl -->
|
|
65
|
+
</li>
|
|
59
66
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
<li id="user_label" class="nav-item m-0 py-2 usermenu">
|
|
68
|
+
<!-- IMPORT partials/sidebar/user-menu.tpl -->
|
|
69
|
+
</li>
|
|
70
|
+
</ul>
|
|
71
|
+
{{{ else }}}
|
|
72
|
+
<ul id="logged-out-menu" class="list-unstyled d-flex w-100 gap-3 mb-0 logged-out-menu">
|
|
73
|
+
<!-- IMPORT partials/sidebar/logged-out-menu.tpl -->
|
|
74
|
+
</ul>
|
|
75
|
+
{{{ end }}}
|
|
76
|
+
</div>
|
|
69
77
|
</div>
|
|
70
78
|
</div>
|
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
<div component="pagination" class="pagination-container mt-3{{{ if !pagination.pages.length }}} hidden{{{ end }}}">
|
|
2
2
|
<ul class="pagination pagination-sm gap-1 hidden-xs hidden-sm justify-content-center">
|
|
3
3
|
<li class="page-item previous float-start{{{ if !pagination.prev.active }}} disabled{{{ end }}}">
|
|
4
|
-
<a class="page-link rounded fw-secondary
|
|
4
|
+
<a class="page-link rounded fw-secondary px-3" href="?{pagination.prev.qs}" data-page="{pagination.prev.page}"><i class="fa fa-chevron-left"></i> </a>
|
|
5
5
|
</li>
|
|
6
6
|
|
|
7
7
|
{{{each pagination.pages}}}
|
|
8
8
|
{{{ if pagination.pages.separator }}}
|
|
9
9
|
<li component="pagination/select-page" class="page-item page select-page">
|
|
10
|
-
<a class="page-link rounded fw-secondary
|
|
10
|
+
<a class="page-link rounded fw-secondary px-3" href="#"><i class="fa fa-ellipsis-h"></i></a>
|
|
11
11
|
</li>
|
|
12
12
|
{{{ else }}}
|
|
13
13
|
<li class="page-item page{{{ if pagination.pages.active }}} active{{{ end }}}" >
|
|
14
|
-
<a class="page-link rounded fw-secondary
|
|
14
|
+
<a class="page-link rounded fw-secondary px-3" href="?{pagination.pages.qs}" data-page="{pagination.pages.page}">{pagination.pages.page}</a>
|
|
15
15
|
</li>
|
|
16
16
|
{{{ end }}}
|
|
17
17
|
{{{end}}}
|
|
18
18
|
|
|
19
19
|
<li class="page-item next float-end {{{ if !pagination.next.active }}} disabled{{{ end }}}">
|
|
20
|
-
<a class="page-link rounded fw-secondary
|
|
20
|
+
<a class="page-link rounded fw-secondary px-3" href="?{pagination.next.qs}" data-page="{pagination.next.page}"> <i class="fa fa-chevron-right"></i></a>
|
|
21
21
|
</li>
|
|
22
22
|
</ul>
|
|
23
23
|
|
|
24
24
|
<ul class="pagination pagination-sm hidden-md hidden-lg justify-content-center">
|
|
25
25
|
<li class="page-item first{{{ if !pagination.prev.active }}} disabled{{{ end }}}">
|
|
26
|
-
<a class="page-link fw-secondary
|
|
26
|
+
<a class="page-link fw-secondary href="?{pagination.first.qs}" data-page="1"><i class="fa fa-fast-backward"></i> </a>
|
|
27
27
|
</li>
|
|
28
28
|
|
|
29
29
|
<li class="page-item previous{{{ if !pagination.prev.active }}} disabled{{{ end }}}">
|
|
30
|
-
<a class="page-link fw-secondary
|
|
30
|
+
<a class="page-link fw-secondary href="?{pagination.prev.qs}" data-page="{pagination.prev.page}"><i class="fa fa-chevron-left"></i> </a>
|
|
31
31
|
</li>
|
|
32
32
|
|
|
33
33
|
<li component="pagination/select-page" class="page-item page select-page">
|
|
34
|
-
<a class="page-link fw-secondary
|
|
34
|
+
<a class="page-link fw-secondary href="#">{pagination.currentPage} / {pagination.pageCount}</a>
|
|
35
35
|
</li>
|
|
36
36
|
|
|
37
37
|
<li class="page-item next{{{ if !pagination.next.active }}} disabled{{{ end }}}">
|
|
38
|
-
<a class="page-link fw-secondary
|
|
38
|
+
<a class="page-link fw-secondary href="?{pagination.next.qs}" data-page="{pagination.next.page}"> <i class="fa fa-chevron-right"></i></a>
|
|
39
39
|
</li>
|
|
40
40
|
|
|
41
41
|
<li class="page-item last{{{ if !pagination.next.active }}} disabled{{{ end }}}">
|
|
42
|
-
<a class="page-link fw-secondary
|
|
42
|
+
<a class="page-link fw-secondary href="?{pagination.last.qs}" data-page="{pagination.pageCount}"><i class="fa fa-fast-forward"></i> </a>
|
|
43
43
|
</li>
|
|
44
44
|
</ul>
|
|
45
45
|
</div>
|
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
<a class="btn-ghost-sm d-none d-lg-flex align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item"><i class="fa fa-rss text-primary"></i></a>
|
|
17
17
|
{{{ end }}}
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
</
|
|
19
|
+
{{{ if browsingUsers }}}
|
|
20
|
+
<div class="hidden-xs">
|
|
21
|
+
<!-- IMPORT partials/topic/browsing-users.tpl -->
|
|
22
|
+
</div>
|
|
23
|
+
{{{ end }}}
|
|
23
24
|
</ul>
|
|
24
25
|
<!-- IMPORT partials/topic/reply-button.tpl -->
|
|
25
26
|
</div>
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
<hr/>
|
|
2
|
-
<a class="topic-title fw-semibold fs-5 text-reset" href="{config.relative_path}/post/{./pid}">
|
|
2
|
+
<a class="d-inline-block topic-title fw-semibold fs-5 mb-3 text-reset text-break" href="{config.relative_path}/post/{./pid}">
|
|
3
3
|
{{{ if !./isMainPost }}}RE: {{{ end }}}{./topic.title}
|
|
4
4
|
</a>
|
|
5
5
|
<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}">
|
|
6
6
|
<div class="post-body d-flex flex-column gap-1">
|
|
7
7
|
<div class="d-flex gap-3 post-info">
|
|
8
8
|
<div class="post-author d-flex gap-1">
|
|
9
|
-
<a class="lh-1" href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "16px", true, "not-responsive")}</a>
|
|
9
|
+
<a class="lh-1 text-decoration-none" href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "16px", true, "not-responsive")}</a>
|
|
10
10
|
<a class="fw-semibold text-sm" href="{config.relative_path}/user/{./user.userslug}">{../user.displayname}</a>
|
|
11
11
|
</div>
|
|
12
|
-
<span class="timeago text-sm text-muted" title="{
|
|
12
|
+
<span class="timeago text-sm text-muted" title="{./timestampISO}"></span>
|
|
13
13
|
</div>
|
|
14
14
|
|
|
15
|
-
<div component="post/content" class="content text-sm">
|
|
16
|
-
{
|
|
15
|
+
<div component="post/content" class="content text-sm text-break">
|
|
16
|
+
{./content}
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
19
|
</li>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
|
|
12
|
-
<ul id="quick-search-results" class="quick-search-results list-unstyled mb-0 p-0 overflow-auto" style="max-width:400px; max-height: 500px;">
|
|
12
|
+
<ul id="quick-search-results" class="quick-search-results list-unstyled mb-0 p-0 overflow-auto overscroll-behavior-contain" style="max-width: 400px; max-height: 500px;">
|
|
13
13
|
<li role="separator" class="dropdown-divider d-none d-md-block"></li>
|
|
14
14
|
{{{ each posts }}}
|
|
15
15
|
<li data-tid="{posts.topic.tid}" data-pid="{posts.pid}" class="d-flex flex-column gap-1">
|