nodebb-theme-harmony 1.0.0 → 1.0.1
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/README.md +12 -1
- package/languages/en-GB/harmony.json +6 -1
- package/library.js +56 -25
- package/package.json +1 -1
- package/plugin.json +0 -1
- package/public/harmony.js +165 -41
- package/public/settings.js +1 -0
- package/screenshots/categories.png +0 -0
- package/screenshots/recent.png +0 -0
- package/screenshots/topic.png +0 -0
- package/scss/account.scss +1 -1
- package/scss/chats.scss +81 -26
- package/scss/common.scss +84 -10
- package/scss/flags.scss +5 -0
- package/scss/groups.scss +2 -2
- package/scss/harmony.scss +3 -0
- package/scss/mixins.scss +7 -3
- package/scss/modals.scss +5 -3
- package/scss/modules/bottom-sheet.scss +1 -1
- package/scss/modules/composer.scss +0 -4
- package/scss/modules/cover.scss +1 -11
- package/scss/modules/filters.scss +8 -0
- package/scss/modules/paginator.scss +24 -0
- package/scss/modules/tags.scss +2 -2
- package/scss/modules/topic-navigator.scss +18 -42
- package/scss/modules/topics-list.scss +32 -17
- package/scss/modules/user-menu.scss +6 -0
- package/scss/overrides.scss +4 -1
- package/scss/sidebar.scss +61 -8
- package/scss/topic.scss +36 -13
- package/templates/account/blocks.tpl +35 -40
- package/templates/account/categories.tpl +47 -29
- 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 +105 -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 +178 -206
- package/templates/account/posts.tpl +31 -36
- package/templates/account/profile.tpl +82 -72
- package/templates/account/sessions.tpl +8 -30
- package/templates/account/settings.tpl +222 -203
- package/templates/account/theme.tpl +39 -25
- package/templates/account/topics.tpl +36 -38
- package/templates/account/uploads.tpl +33 -40
- package/templates/admin/plugins/harmony.tpl +21 -3
- package/templates/categories.tpl +3 -6
- package/templates/category.tpl +13 -14
- package/templates/chats.tpl +9 -10
- package/templates/flags/detail.tpl +160 -193
- package/templates/flags/list.tpl +3 -70
- package/templates/footer.tpl +2 -2
- package/templates/groups/details.tpl +22 -19
- package/templates/groups/list.tpl +1 -1
- package/templates/groups/members.tpl +0 -2
- package/templates/header.tpl +2 -2
- package/templates/login.tpl +4 -4
- package/templates/notifications.tpl +5 -5
- package/templates/partials/account/admin-menu.tpl +9 -9
- package/templates/partials/account/category-item.tpl +14 -17
- 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/account/sidebar-left.tpl +31 -25
- package/templates/partials/breadcrumbs.tpl +6 -6
- package/templates/partials/buttons/newTopic.tpl +1 -1
- package/templates/partials/categories/item.tpl +31 -27
- package/templates/partials/categories/lastpost.tpl +7 -7
- package/templates/partials/category/filter-dropdown-content.tpl +37 -0
- package/templates/partials/{category-selector-content.tpl → category/selector-dropdown-content.tpl} +7 -7
- package/templates/partials/category/sort.tpl +22 -7
- package/templates/partials/category/subcategory.tpl +2 -3
- package/templates/partials/category/tags.tpl +0 -2
- package/templates/partials/category/tools.tpl +28 -25
- package/templates/partials/category/watch.tpl +39 -6
- package/templates/partials/chats/dropdown.tpl +4 -1
- package/templates/partials/chats/message-window.tpl +12 -8
- package/templates/partials/chats/message.tpl +8 -10
- package/templates/partials/chats/options.tpl +14 -6
- package/templates/partials/chats/recent_room.tpl +41 -32
- package/templates/partials/cookie-consent.tpl +5 -5
- package/templates/partials/flags/bulk-actions.tpl +9 -0
- package/templates/partials/flags/filters.tpl +165 -78
- package/templates/partials/flags/results.tpl +38 -0
- package/templates/partials/groups/admin.tpl +4 -4
- package/templates/partials/groups/badge.tpl +1 -1
- package/templates/partials/groups/invited.tpl +1 -1
- package/templates/partials/groups/list.tpl +2 -2
- package/templates/partials/groups/memberlist.tpl +2 -2
- package/templates/partials/groups/sidebar-left.tpl +10 -10
- package/templates/partials/header/brand.tpl +9 -2
- package/templates/partials/mobile-footer.tpl +69 -61
- package/templates/partials/notifications_list.tpl +11 -8
- package/templates/partials/paginator.tpl +11 -9
- package/templates/partials/post_bar.tpl +26 -24
- package/templates/partials/posts_list_item.tpl +5 -5
- package/templates/partials/quick-search-results.tpl +3 -3
- package/templates/partials/search-filters.tpl +184 -0
- package/templates/partials/search-results.tpl +28 -35
- package/templates/partials/sidebar/chats.tpl +26 -34
- package/templates/partials/sidebar/drafts.tpl +45 -34
- package/templates/partials/sidebar/logged-in-menu.tpl +5 -5
- package/templates/partials/sidebar/logged-out-menu.tpl +1 -1
- package/templates/partials/sidebar/notifications.tpl +30 -9
- package/templates/partials/sidebar/search-mobile.tpl +1 -1
- package/templates/partials/sidebar/search.tpl +1 -1
- package/templates/partials/sidebar/user-menu.tpl +38 -29
- package/templates/partials/sidebar-left.tpl +14 -11
- package/templates/partials/sidebar-right.tpl +1 -3
- package/templates/partials/skin-switcher.tpl +3 -3
- package/templates/partials/tags/filter-dropdown-content.tpl +34 -0
- package/templates/partials/tags_list.tpl +4 -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 +62 -0
- package/templates/partials/topic/navigator.tpl +23 -17
- package/templates/partials/topic/post-editor.tpl +0 -2
- package/templates/partials/topic/post-menu-list.tpl +60 -62
- package/templates/partials/topic/post-menu.tpl +16 -11
- package/templates/partials/topic/post.tpl +45 -27
- package/templates/partials/topic/quickreply.tpl +8 -8
- package/templates/partials/topic/reply-button.tpl +7 -7
- package/templates/partials/topic/sort.tpl +17 -5
- package/templates/partials/topic/tools.tpl +2 -2
- package/templates/partials/topic/topic-menu-list.tpl +22 -24
- package/templates/partials/topic/watch.tpl +42 -9
- package/templates/partials/topic-filters.tpl +6 -3
- package/templates/partials/topic-list-bar.tpl +50 -46
- package/templates/partials/topic-terms.tpl +6 -3
- package/templates/partials/topics_list.tpl +88 -93
- package/templates/partials/userFilter-placeholders.tpl +5 -0
- package/templates/partials/users/filter-dropdown-content.tpl +23 -0
- package/templates/partials/users/item.tpl +25 -27
- package/templates/partials/users_list.tpl +1 -1
- package/templates/popular.tpl +3 -1
- package/templates/post-queue.tpl +166 -0
- package/templates/recent.tpl +3 -2
- package/templates/register.tpl +4 -4
- package/templates/search.tpl +39 -177
- package/templates/tags.tpl +3 -3
- package/templates/top.tpl +3 -1
- package/templates/topic.tpl +74 -68
- package/templates/unread.tpl +3 -1
- package/templates/users.tpl +7 -3
- package/templates/modules/usercard.tpl +0 -39
- package/templates/partials/acceptTos.tpl +0 -11
- package/templates/partials/category-filter-content.tpl +0 -30
- 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
|
@@ -1,41 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
{{{ if matchCount }}}
|
|
2
|
+
<div class="card card-header text-xs px-2 py-1 fw-semibold border-0 align-self-start">[[search:results_matching, {matchCount}, {search_query}, {time}]] </div>
|
|
3
|
+
{{{ else }}}
|
|
4
|
+
{{{ if search_query }}}
|
|
5
|
+
<div class="badge text-bg-warning align-self-start">[[search:no-matches]]</div>
|
|
6
|
+
{{{ end }}}
|
|
7
|
+
{{{ end }}}
|
|
8
|
+
|
|
9
|
+
<div id="results" class="search-results" data-search-query="{search_query}">
|
|
10
|
+
{{{ if showAsPosts }}}
|
|
11
|
+
{{{ if posts.length }}}
|
|
12
|
+
<!-- IMPORT partials/posts_list.tpl -->
|
|
9
13
|
{{{ end }}}
|
|
10
14
|
{{{ end }}}
|
|
11
15
|
|
|
12
|
-
{{{
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
{{{ if showAsTopics }}}
|
|
17
|
+
{{{ each posts }}}
|
|
18
|
+
<hr/>
|
|
19
|
+
<div class="topic-row mb-3">
|
|
20
|
+
<a class="topic-title fw-semibold fs-5 text-reset text-break" href="{config.relative_path}/post/{./pid}">
|
|
21
|
+
{{{ if !./isMainPost }}}RE: {{{ end }}}{./topic.title}
|
|
22
|
+
</a>
|
|
23
|
+
<div class="post-body d-flex flex-column gap-1">
|
|
24
|
+
<div class="d-flex gap-3 post-info">
|
|
25
|
+
<div class="post-author d-flex gap-1">
|
|
26
|
+
<a class="lh-1 text-decoration-none" href="{config.relative_path}/user/{./user.userslug}">{buildAvatar(./user, "16px", true, "not-responsive")}</a>
|
|
27
|
+
<a class="fw-semibold text-sm" href="{config.relative_path}/user/{./user.userslug}">{../user.displayname}</a>
|
|
28
|
+
</div>
|
|
29
|
+
<span class="timeago text-sm text-muted" title="{./timestampISO}"></span>
|
|
24
30
|
</div>
|
|
25
|
-
{{{ end }}}
|
|
26
|
-
|
|
27
|
-
<small class="post-info float-end">
|
|
28
|
-
<a href="{config.relative_path}/category/{./category.slug}">
|
|
29
|
-
<div class="category-item d-inline-block">
|
|
30
|
-
{buildCategoryIcon(./category, "24px", "rounded-circle")}
|
|
31
|
-
{./category.name}
|
|
32
|
-
</div>
|
|
33
|
-
</a> •
|
|
34
|
-
<span class="timeago" title="{./timestampISO}"></span>
|
|
35
|
-
</small>
|
|
36
31
|
</div>
|
|
37
32
|
</div>
|
|
38
|
-
{{{end}}}
|
|
33
|
+
{{{ end }}}
|
|
34
|
+
{{{ end }}}
|
|
39
35
|
|
|
40
36
|
{{{ if users.length }}}
|
|
41
37
|
<!-- IMPORT partials/users_list.tpl -->
|
|
@@ -48,9 +44,6 @@
|
|
|
48
44
|
{{{ if categories.length }}}
|
|
49
45
|
<ul class="categories list-unstyled">
|
|
50
46
|
{{{each categories}}}
|
|
51
|
-
{{{ if !@first }}}
|
|
52
|
-
<hr class="text-muted opacity-25"/>
|
|
53
|
-
{{{ end }}}
|
|
54
47
|
<!-- IMPORT partials/categories/item.tpl -->
|
|
55
48
|
{{{end}}}
|
|
56
49
|
</ul>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn d-flex gap-2 justify-content-between align-items-center position-relative"
|
|
1
|
+
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn d-flex gap-2 justify-content-between align-items-center position-relative" component="chat/dropdown">
|
|
2
2
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
3
3
|
<span class="position-relative">
|
|
4
4
|
<i component="chat/icon" class="fa fa-fw {{{ if unreadCount.chat}}}fa-comment{{{ else }}}fa-comment-o{{{ end }}} unread-count" data-content="{unreadCount.chat}"></i>
|
|
@@ -10,44 +10,36 @@
|
|
|
10
10
|
</a>
|
|
11
11
|
<ul class="chats-dropdown dropdown-menu p-1 shadow">
|
|
12
12
|
<li>
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
<div class="
|
|
16
|
-
<div class="
|
|
13
|
+
<div component="chat/list" class="list-container chats-list overscroll-behavior-contain p-0 pe-1 ff-base">
|
|
14
|
+
<div class="rounded-1">
|
|
15
|
+
<div class="d-flex gap-1 justify-content-between">
|
|
16
|
+
<div class="dropdown-item p-2 d-flex gap-2 placeholder-wave">
|
|
17
|
+
<div class="main-avatar">
|
|
18
|
+
<div class="placeholder" style="width: 32px; height: 32px;"></div>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="d-flex flex-grow-1 flex-column w-100">
|
|
21
|
+
<div class="text-xs"><div class="placeholder col-3"></div></div>
|
|
22
|
+
<div class="text-sm"><div class="placeholder col-11"></div></div>
|
|
23
|
+
<div class="text-xs"><div class="placeholder col-4"></div></div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div>
|
|
27
|
+
<button class="mark-read btn-ghost-sm" style="width: 1.5rem; height: 1.5rem;">
|
|
28
|
+
<i class="unread fa fa-2xs fa-circle text-primary"></i>
|
|
29
|
+
</button>
|
|
30
|
+
</div>
|
|
17
31
|
</div>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<div class="text-sm placeholder col-11"> </div>
|
|
21
|
-
<div class="text-xs placeholder col-4"> </div>
|
|
22
|
-
</div>
|
|
23
|
-
</li>
|
|
24
|
-
<li class="dropdown-item rounded-1 p-2 d-flex gap-2 placeholder-wave">
|
|
25
|
-
<div class="main-avatar">
|
|
26
|
-
<div class="placeholder" style="width: 32px; height: 32px;"></div>
|
|
27
|
-
</div>
|
|
28
|
-
<div class="d-flex flex-grow-1 flex-column w-100">
|
|
29
|
-
<div class="text-xs placeholder col-3"> </div>
|
|
30
|
-
<div class="text-sm placeholder col-11"> </div>
|
|
31
|
-
<div class="text-xs placeholder col-4"> </div>
|
|
32
|
-
</div>
|
|
33
|
-
</li>
|
|
34
|
-
<li class="dropdown-item rounded-1 p-2 d-flex gap-2 placeholder-wave">
|
|
35
|
-
<div class="main-avatar">
|
|
36
|
-
<div class="placeholder" style="width: 32px; height: 32px;"></div>
|
|
37
|
-
</div>
|
|
38
|
-
<div class="d-flex flex-grow-1 flex-column w-100">
|
|
39
|
-
<div class="text-xs placeholder col-3"> </div>
|
|
40
|
-
<div class="text-sm placeholder col-11"> </div>
|
|
41
|
-
<div class="text-xs placeholder col-4"> </div>
|
|
42
|
-
</div>
|
|
43
|
-
</li>
|
|
44
|
-
</ul>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
45
34
|
</li>
|
|
46
35
|
<li class="dropdown-divider"></li>
|
|
47
|
-
<li
|
|
36
|
+
<li>
|
|
48
37
|
<div class="d-flex justify-content-center gap-1 flex-wrap">
|
|
49
38
|
<a component="chats/mark-all-read" role="button" href="#" class="btn btn-sm btn-light mark-all-read flex-fill text-nowrap text-truncate ff-secondary"><i class="fa fa-check-double"></i> [[modules:chat.mark_all_read]]</a>
|
|
50
|
-
|
|
39
|
+
<!-- on md and up see all chats button goes to last room -->
|
|
40
|
+
<a class="d-none d-md-inline btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/user/{user.userslug}/chats{{{ if user.lastRoomId }}}/{user.lastRoomId}{{{ end }}}"><i class="fa fa-list"></i> [[modules:chat.see_all]]</a>
|
|
41
|
+
<!-- on xs&sm the see all chats button goes to the list of chats -->
|
|
42
|
+
<a class="d-inline d-md-none btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/user/{user.userslug}/chats"><i class="fa fa-list"></i> [[modules:chat.see_all]]</a>
|
|
51
43
|
</div>
|
|
52
44
|
</li>
|
|
53
45
|
</ul>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn d-flex gap-2 justify-content-between align-items-center position-relative"
|
|
1
|
+
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn d-flex gap-2 justify-content-between align-items-center position-relative">
|
|
2
2
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
3
3
|
<span class="position-relative">
|
|
4
4
|
<i component="drafts/icon" class="fa fa-fw fa-pen-to-square unread-count"></i>
|
|
@@ -10,43 +10,54 @@
|
|
|
10
10
|
</a>
|
|
11
11
|
<ul class="drafts-dropdown dropdown-menu p-1 shadow">
|
|
12
12
|
<li>
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
13
|
+
<div component="drafts/list" class="list-container draft-list list-unstyled d-flex flex-column overscroll-behavior-contain gap-1 pe-1">
|
|
14
|
+
<div class="dropdown-item rounded-1 p-2 d-flex gap-2 placeholder-wave">
|
|
15
|
+
<div class="d-flex flex-grow-1 flex-column w-100">
|
|
16
|
+
<div class="text-xs placeholder col-3"> </div>
|
|
17
|
+
<div class="text-sm placeholder col-11"> </div>
|
|
18
|
+
<div class="text-xs placeholder col-4"> </div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="hidden no-drafts text-center p-4 d-flex flex-column">
|
|
22
|
+
<div class="p-4"><i class="fa-solid fa-wind fs-2 text-muted"></i></div>
|
|
23
|
+
<div class="text-xs fw-semibold text-muted">[[modules:composer.no-drafts]]</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="draft-item-container">
|
|
26
|
+
{{{ each drafts }}}
|
|
27
|
+
{{{ if !@first}}}
|
|
28
|
+
<hr class="my-1"/>
|
|
29
|
+
{{{ end }}}
|
|
30
|
+
<div data-save-id="{./save_id}">
|
|
31
|
+
<div class="d-flex gap-1 justify-content-between ff-base">
|
|
32
|
+
<div class="dropdown-item rounded-1 p-2 d-flex flex-column gap-2 pointer" component="drafts/open" data-save-id="{./save_id}">
|
|
33
|
+
{{{ if (./action == "topics.post") }}}
|
|
34
|
+
{{{ if ./title}}}
|
|
35
|
+
<div class="text text-xs fw-semibold line-clamp-2 text-break">{./title}</div>
|
|
36
|
+
{{{ end }}}
|
|
37
|
+
{{{ end }}}
|
|
28
38
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
39
|
+
{{{ if (./action == "posts.reply") }}}
|
|
40
|
+
<div class="text text-xs fw-semibold line-clamp-2 text-break">[[topic:composer.replying_to, "{./title}"]]</div>
|
|
41
|
+
{{{ end }}}
|
|
32
42
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
{{{ if (./action == "posts.edit") }}}
|
|
44
|
+
<div class="text text-xs fw-semibold line-clamp-2">[[topic:composer.editing]]</div>
|
|
45
|
+
{{{ end }}}
|
|
36
46
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
{{{ if ./text }}}
|
|
48
|
+
<div class="text text-sm line-clamp-3 text-break">{./text}</div>
|
|
49
|
+
{{{ end }}}
|
|
50
|
+
<div class="timeago text-xs text-muted" title="{./timestampISO}"></div>
|
|
51
|
+
</div>
|
|
52
|
+
<div>
|
|
53
|
+
<button component="drafts/delete" data-save-id="{./save_id}" class="btn btn-light btn-sm">
|
|
54
|
+
<i class="unread fa fa-xs fa-trash text-secondary"></i>
|
|
55
|
+
</button>
|
|
56
|
+
</div>
|
|
46
57
|
</div>
|
|
47
58
|
</div>
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
</
|
|
59
|
+
{{{ end }}}
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
51
62
|
</li>
|
|
52
63
|
</ul>
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
<li id="user_label" class="nav-item mx-2 dropstart usermenu" title="
|
|
1
|
+
<li id="user_label" class="nav-item mx-2 dropstart usermenu" title="{user.username}">
|
|
2
2
|
<!-- IMPORT partials/sidebar/user-menu.tpl -->
|
|
3
3
|
</li>
|
|
4
4
|
|
|
5
5
|
{{{ if config.searchEnabled }}}
|
|
6
|
-
<li component="sidebar/search" class="nav-item mx-2 search dropstart position-relative">
|
|
6
|
+
<li component="sidebar/search" class="nav-item mx-2 search dropstart position-relative" title="[[global:header.search]]">
|
|
7
7
|
<!-- IMPORT partials/sidebar/search.tpl -->
|
|
8
8
|
</li>
|
|
9
9
|
{{{ end }}}
|
|
10
10
|
|
|
11
|
-
<li component="notifications" class="nav-item mx-2 notifications dropstart">
|
|
11
|
+
<li component="notifications" class="nav-item mx-2 notifications dropstart" title="[[global:header.notifications]]">
|
|
12
12
|
<!-- IMPORT partials/sidebar/notifications.tpl -->
|
|
13
13
|
</li>
|
|
14
14
|
|
|
15
15
|
{{{ if canChat }}}
|
|
16
|
-
<li class="nav-item mx-2 chats dropstart">
|
|
16
|
+
<li class="nav-item mx-2 chats dropstart" title="[[global:header.chats]]">
|
|
17
17
|
<!-- IMPORT partials/sidebar/chats.tpl -->
|
|
18
18
|
</li>
|
|
19
19
|
{{{ end }}}
|
|
20
20
|
|
|
21
|
-
<li component="sidebar/drafts" class="nav-item mx-2 drafts dropstart">
|
|
21
|
+
<li component="sidebar/drafts" class="nav-item mx-2 drafts dropstart" title="[[global:header.drafts]]">
|
|
22
22
|
<!-- IMPORT partials/sidebar/drafts.tpl -->
|
|
23
23
|
</li>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
<li class="nav-item mx-2" title="[[global:login]]">
|
|
2
|
+
<li class="nav-item mx-2 order-last order-md-first" title="[[global:login]]">
|
|
3
3
|
<a class="nav-link nav-btn" href="{relative_path}/login">
|
|
4
4
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
5
5
|
<span class="position-relative">
|
|
@@ -1,25 +1,46 @@
|
|
|
1
|
-
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn d-flex gap-2 justify-content-between align-items-center position-relative"
|
|
1
|
+
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn d-flex gap-2 justify-content-between align-items-center position-relative">
|
|
2
2
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
3
3
|
<span class="position-relative">
|
|
4
4
|
<i component="notifications/icon" class="fa fa-fw {{{ if unreadCount.notification}}}fa-bell{{{ else }}}fa-bell-o{{{ end }}} unread-count" data-content="{unreadCount.notification}"></i>
|
|
5
5
|
<span component="notifications/count" class="visible-closed position-absolute top-0 start-100 translate-middle badge rounded-1 bg-primary {{{ if !unreadCount.notification }}}hidden{{{ end }}}">{unreadCount.notification}</span>
|
|
6
6
|
</span>
|
|
7
|
-
<span class="nav-text small visible-open fw-semibold">[[global:header.notifications]]</span>
|
|
7
|
+
<span class="nav-text small visible-open fw-semibold truncate-text">[[global:header.notifications]]</span>
|
|
8
8
|
</span>
|
|
9
9
|
<span component="notifications/count" class="visible-open badge rounded-1 bg-primary {{{ if !unreadCount.notification }}}hidden{{{ end }}}">{unreadCount.notification}</span>
|
|
10
10
|
</a>
|
|
11
|
-
<ul class="notifications-dropdown dropdown-menu p-
|
|
11
|
+
<ul class="notifications-dropdown dropdown-menu p-1 shadow">
|
|
12
12
|
<li>
|
|
13
|
-
<ul component="notifications/list" class="notification-list list-unstyled">
|
|
14
|
-
<li class="mb-2
|
|
15
|
-
<div class="
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
<ul component="notifications/list" class="list-container notification-list list-unstyled overscroll-behavior-contain pe-1 ff-base">
|
|
14
|
+
<li class="mb-2 p-1">
|
|
15
|
+
<div class="d-flex gap-1 justify-content-between">
|
|
16
|
+
<div class="d-flex gap-2 flex-grow-1 placeholder-wave">
|
|
17
|
+
<div class="placeholder" style="width: 32px; height: 32px;"></div>
|
|
18
|
+
<div class="flex-grow-1">
|
|
19
|
+
<div class="d-flex flex-column">
|
|
20
|
+
<div class="text-sm">
|
|
21
|
+
<span class="placeholder placeholder-sm col-4"></span>
|
|
22
|
+
<span class="placeholder placeholder-sm col-6"></span>
|
|
23
|
+
<span class="placeholder placeholder-sm col-7"></span>
|
|
24
|
+
<span class="placeholder placeholder-sm col-2"></span>
|
|
25
|
+
<span class="placeholder placeholder-sm col-5"></span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="text-xs">
|
|
28
|
+
<div class="placeholder placeholder-xs col-6"></div>
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
<div>
|
|
34
|
+
<button class="mark-read btn-ghost-sm" style="width: 1.5rem; height: 1.5rem;">
|
|
35
|
+
<i class="unread fa fa-2xs fa-circle text-primary"></i>
|
|
36
|
+
</button>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
18
39
|
</li>
|
|
19
40
|
</ul>
|
|
20
41
|
</li>
|
|
21
42
|
<li class="dropdown-divider"></li>
|
|
22
|
-
<li
|
|
43
|
+
<li>
|
|
23
44
|
<div class="d-flex justify-content-center gap-1 flex-wrap">
|
|
24
45
|
<a role="button" href="#" class="btn btn-sm btn-light mark-all-read flex-fill text-nowrap text-truncate ff-secondary"><i class="fa fa-check-double"></i> [[notifications:mark_all_read]]</a>
|
|
25
46
|
<a class="btn btn-sm btn-primary flex-fill text-nowrap text-truncate ff-secondary" href="{relative_path}/notifications"><i class="fa fa-list"></i> [[notifications:see_all]]</a>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<div class="quick-search-results-container"></div>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
|
-
<div class="d-flex gap-1 input-container
|
|
18
|
+
<div class="d-flex gap-1 input-container">
|
|
19
19
|
<input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="">
|
|
20
20
|
|
|
21
21
|
<div class="nav-btn d-flex justify-content-center align-items-center advanced-search-link">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<a component="search/button" id="search-button" href="#" role="button" class="nav-link nav-btn d-flex gap-2 align-items-center text-truncate" data-bs-toggle="dropdown"
|
|
1
|
+
<a component="search/button" id="search-button" href="#" role="button" class="nav-link nav-btn d-flex gap-2 align-items-center text-truncate" data-bs-toggle="dropdown">
|
|
2
2
|
<span>
|
|
3
3
|
<i class="fa fa-search fa-fw"></i>
|
|
4
4
|
</span>
|
|
@@ -2,73 +2,82 @@
|
|
|
2
2
|
{buildAvatar(user, "20px", true)}
|
|
3
3
|
<span id="user-header-name" class="nav-text small visible-open fw-semibold">{user.username}</span>
|
|
4
4
|
</label>
|
|
5
|
-
<ul id="user-control-list" component="header/usercontrol" class="dropdown-menu shadow p-1 text-sm" aria-labelledby="user_dropdown">
|
|
5
|
+
<ul id="user-control-list" component="header/usercontrol" class="overscroll-behavior-contain user-dropdown dropdown-menu shadow p-1 text-sm ff-base" aria-labelledby="user_dropdown">
|
|
6
6
|
<li>
|
|
7
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-
|
|
8
|
-
<
|
|
7
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="header/profilelink" href="{relative_path}/user/{user.userslug}">
|
|
8
|
+
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status {user.status}"><span class="visually-hidden">[[global:{user.status}]]</span></span>
|
|
9
9
|
<span class="fw-semibold" component="header/username">{user.username}</span>
|
|
10
10
|
</a>
|
|
11
11
|
</li>
|
|
12
12
|
<li role="presentation" class="dropdown-divider"></li>
|
|
13
13
|
<li><h6 class="dropdown-header text-xs">[[global:status]]</h6></li>
|
|
14
14
|
<li>
|
|
15
|
-
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-
|
|
16
|
-
<
|
|
17
|
-
<span
|
|
15
|
+
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.online }}}selected{{{ end }}}" data-status="online">
|
|
16
|
+
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status online"><span class="visually-hidden">[[global:online]]</span></span>
|
|
17
|
+
<span class="flex-grow-1">[[global:online]]</span>
|
|
18
|
+
<i class="fa-solid fa-check text-muted flex-shrink-0"></i>
|
|
18
19
|
</a>
|
|
19
20
|
</li>
|
|
20
21
|
<li>
|
|
21
|
-
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-
|
|
22
|
-
<
|
|
23
|
-
<span
|
|
22
|
+
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.away }}}selected{{{ end }}}" data-status="away">
|
|
23
|
+
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status away"><span class="visually-hidden">[[global:away]]</span></span>
|
|
24
|
+
<span class="flex-grow-1">[[global:away]]</span>
|
|
25
|
+
<i class="fa-solid fa-check text-muted flex-shrink-0"></i>
|
|
24
26
|
</a>
|
|
25
27
|
</li>
|
|
26
28
|
<li>
|
|
27
|
-
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-
|
|
28
|
-
<
|
|
29
|
-
<span
|
|
29
|
+
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.dnd }}}selected{{{ end }}}" data-status="dnd">
|
|
30
|
+
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status dnd"><span class="visually-hidden">[[global:dnd]]</span></span>
|
|
31
|
+
<span class="flex-grow-1">[[global:dnd]]</span>
|
|
32
|
+
<i class="fa-solid fa-check text-muted flex-shrink-0"></i>
|
|
30
33
|
</a>
|
|
31
34
|
</li>
|
|
32
35
|
<li>
|
|
33
|
-
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-
|
|
34
|
-
<
|
|
35
|
-
<span
|
|
36
|
+
<a href="#" class="dropdown-item rounded-1 user-status d-flex align-items-center gap-2 {{{ if user.offline }}}selected{{{ end }}}" data-status="offline">
|
|
37
|
+
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status offline"><span class="visually-hidden">[[global:invisible]]</span></span>
|
|
38
|
+
<span class="flex-grow-1">[[global:invisible]]</span>
|
|
39
|
+
<i class="fa-solid fa-check text-muted flex-shrink-0"></i>
|
|
36
40
|
</a>
|
|
37
41
|
</li>
|
|
38
42
|
<li role="presentation" class="dropdown-divider"></li>
|
|
39
43
|
<li>
|
|
40
|
-
<a class="dropdown-item rounded-1
|
|
41
|
-
<i class="fa fa-fw fa-
|
|
44
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/user/{user.userslug}/bookmarks">
|
|
45
|
+
<i class="fa fa-fw fa-bookmark text-muted"></i> <span>[[user:bookmarks]]</span>
|
|
42
46
|
</a>
|
|
43
47
|
</li>
|
|
44
48
|
<li>
|
|
45
|
-
<a class="dropdown-item rounded-1" component="header/profilelink/
|
|
46
|
-
<i class="fa fa-fw fa-
|
|
49
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="header/profilelink/edit" href="{relative_path}/user/{user.userslug}/edit">
|
|
50
|
+
<i class="fa fa-fw fa-edit text-muted"></i> <span>[[user:edit-profile]]</span>
|
|
51
|
+
</a>
|
|
52
|
+
</li>
|
|
53
|
+
<li>
|
|
54
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="header/profilelink/settings" href="{relative_path}/user/{user.userslug}/settings">
|
|
55
|
+
<i class="fa fa-fw fa-gear text-muted"></i> <span>[[user:settings]]</span>
|
|
47
56
|
</a>
|
|
48
57
|
</li>
|
|
49
58
|
{{{ if showModMenu }}}
|
|
50
59
|
<li role="presentation" class="dropdown-divider"></li>
|
|
51
60
|
<li><h6 class="dropdown-header text-xs">[[pages:moderator-tools]]</h6></li>
|
|
52
61
|
<li>
|
|
53
|
-
<a class="dropdown-item rounded-1" href="{relative_path}/flags">
|
|
54
|
-
<i class="fa fa-fw fa-flag"></i> <span>[[pages:flagged-content]]</span>
|
|
62
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/flags">
|
|
63
|
+
<i class="fa fa-fw fa-flag text-muted"></i> <span>[[pages:flagged-content]]</span>
|
|
55
64
|
</a>
|
|
56
65
|
</li>
|
|
57
66
|
<li>
|
|
58
|
-
<a class="dropdown-item rounded-1" href="{relative_path}/post-queue">
|
|
59
|
-
<i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
|
|
67
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/post-queue">
|
|
68
|
+
<i class="fa fa-fw fa-list-alt text-muted"></i> <span>[[pages:post-queue]]</span>
|
|
60
69
|
</a>
|
|
61
70
|
</li>
|
|
62
71
|
<li>
|
|
63
|
-
<a class="dropdown-item rounded-1" href="{relative_path}/ip-blacklist">
|
|
64
|
-
<i class="fa fa-fw fa-ban"></i> <span>[[pages:ip-blacklist]]</span>
|
|
72
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/ip-blacklist">
|
|
73
|
+
<i class="fa fa-fw fa-ban text-muted"></i> <span>[[pages:ip-blacklist]]</span>
|
|
65
74
|
</a>
|
|
66
75
|
</li>
|
|
67
76
|
{{{ else }}}
|
|
68
77
|
{{{ if postQueueEnabled }}}
|
|
69
78
|
<li>
|
|
70
|
-
<a class="dropdown-item rounded-1" href="{relative_path}/post-queue">
|
|
71
|
-
<i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
|
|
79
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/post-queue">
|
|
80
|
+
<i class="fa fa-fw fa-list-alt text-muted"></i> <span>[[pages:post-queue]]</span>
|
|
72
81
|
</a>
|
|
73
82
|
</li>
|
|
74
83
|
{{{ end }}}
|
|
@@ -79,8 +88,8 @@
|
|
|
79
88
|
<form method="post" action="{relative_path}/logout">
|
|
80
89
|
<input type="hidden" name="_csrf" value="{config.csrf_token}">
|
|
81
90
|
<input type="hidden" name="noscript" value="true">
|
|
82
|
-
<button type="submit" class="dropdown-item rounded-1">
|
|
83
|
-
<i class="fa fa-fw fa-sign-out"></i><span>
|
|
91
|
+
<button type="submit" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
92
|
+
<i class="fa fa-fw fa-sign-out text-muted"></i><span>[[global:logout]]</span>
|
|
84
93
|
</button>
|
|
85
94
|
</form>
|
|
86
95
|
</li>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<nav class="{{{ if config.openSidebars}}}open{{{ end }}} text-dark bg-light sidebar sidebar-left start-0 border-end vh-100 d-none d-
|
|
1
|
+
<nav class="{{{ if config.theme.openSidebars}}}open{{{ end }}} text-dark bg-light sidebar sidebar-left start-0 border-end vh-100 d-none d-lg-flex flex-column justify-content-between sticky-top">
|
|
2
2
|
<ul id="main-nav" class="list-unstyled d-flex flex-column w-100 gap-2 mt-2">
|
|
3
3
|
{{{ each navigation }}}
|
|
4
|
-
|
|
4
|
+
{{{ if displayMenuItem(@root, @index) }}}
|
|
5
5
|
<li class="nav-item mx-2 {./class}{{{ if ./dropdown }}} dropend{{{ end }}}" title="{./title}">
|
|
6
|
-
<a class="nav-link nav-btn navigation-link d-flex gap-2 justify-content-between align-items-center {{{ if
|
|
6
|
+
<a class="nav-link nav-btn navigation-link d-flex gap-2 justify-content-between align-items-center {{{ if ./dropdown }}}dropdown-toggle{{{ end }}}"
|
|
7
7
|
{{{ if ./dropdown }}} href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" {{{ else }}} href="{./route}"{{{ end }}} {{{ if ./id }}}id="{./id}"{{{ end }}}{{{ if ./targetBlank }}} target="_blank"{{{ end }}}>
|
|
8
8
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
9
9
|
<span class="position-relative">
|
|
@@ -12,25 +12,28 @@
|
|
|
12
12
|
<span component="navigation/count" class="visible-closed position-absolute top-0 start-100 translate-middle badge rounded-1 bg-primary {{{ if !./content }}}hidden{{{ end }}}">{./content}</span>
|
|
13
13
|
{{{ end }}}
|
|
14
14
|
</span>
|
|
15
|
-
{{{ if
|
|
16
|
-
<span class="nav-text small visible-open fw-semibold text-truncate">{
|
|
15
|
+
{{{ if ./text }}}
|
|
16
|
+
<span class="nav-text small visible-open fw-semibold text-truncate">{./text}</span>
|
|
17
17
|
{{{ end }}}
|
|
18
18
|
</span>
|
|
19
19
|
<span component="navigation/count" class="visible-open badge rounded-1 bg-primary {{{ if !./content }}}hidden{{{ end }}}">{./content}</span>
|
|
20
20
|
</a>
|
|
21
|
-
{{{ if
|
|
22
|
-
<ul class="dropdown-menu shadow">
|
|
23
|
-
{
|
|
21
|
+
{{{ if ./dropdown }}}
|
|
22
|
+
<ul class="dropdown-menu p-1 shadow">
|
|
23
|
+
{./dropdownContent}
|
|
24
24
|
</ul>
|
|
25
25
|
{{{ end }}}
|
|
26
26
|
</li>
|
|
27
|
-
|
|
28
|
-
{{{end}}}
|
|
27
|
+
{{{ end }}}
|
|
28
|
+
{{{ end }}}
|
|
29
29
|
</ul>
|
|
30
30
|
<div class="w-100">
|
|
31
|
+
{{{ if !config.disableCustomUserSkins }}}
|
|
31
32
|
<!-- IMPORT partials/skin-switcher.tpl -->
|
|
33
|
+
{{{ end }}}
|
|
34
|
+
|
|
32
35
|
<div class="sidebar-toggle m-2 d-none d-lg-block">
|
|
33
|
-
<a href="#" role="button" component="sidebar/toggle" class="nav-btn d-flex gap-2 align-items-center p-2 pointer nav-link w-100 text-nowrap">
|
|
36
|
+
<a href="#" role="button" component="sidebar/toggle" class="nav-btn d-flex gap-2 align-items-center p-2 pointer nav-link w-100 text-nowrap" title="[[harmony:expand]]">
|
|
34
37
|
<i class="fa fa-fw fa-angles-right"></i>
|
|
35
38
|
<i class="fa fa-fw fa-angles-left"></i>
|
|
36
39
|
<span class="nav-text visible-open fw-semibold small lh-1">[[harmony:collapse]]</span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<nav class="{{{ if config.openSidebars}}}open{{{ end }}} text-dark bg-light sidebar sidebar-right end-0 border-start vh-100 d-none d-
|
|
1
|
+
<nav class="{{{ if config.theme.openSidebars}}}open{{{ end }}} text-dark bg-light sidebar sidebar-right end-0 border-start vh-100 d-none d-lg-flex flex-column sticky-top">
|
|
2
2
|
{{{ if config.loggedIn }}}
|
|
3
3
|
<ul id="logged-in-menu" class="list-unstyled d-flex flex-column w-100 gap-2 mt-2">
|
|
4
4
|
<!-- IMPORT partials/sidebar/logged-in-menu.tpl -->
|
|
@@ -9,8 +9,6 @@
|
|
|
9
9
|
</ul>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
|
|
12
|
-
<!-- IMPORT partials/topic/navigator.tpl -->
|
|
13
|
-
|
|
14
12
|
<div class="visible-open small text-secondary mt-auto" data-widget-area="sidebar-footer">
|
|
15
13
|
{{{each widgets.sidebar-footer}}}
|
|
16
14
|
{{./html}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<div class="dropend m-2" component="skinSwitcher">
|
|
2
|
-
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn position-relative"
|
|
1
|
+
<div class="dropend m-2" component="skinSwitcher" title="[[harmony:skins]]">
|
|
2
|
+
<a data-bs-toggle="dropdown" href="#" role="button" class="nav-link nav-btn position-relative">
|
|
3
3
|
<span class="justify-content-between w-100">
|
|
4
4
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
5
5
|
<span>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
</span>
|
|
11
11
|
</a>
|
|
12
12
|
|
|
13
|
-
<ul class="dropdown-menu overflow-auto">
|
|
13
|
+
<ul class="dropdown-menu p-1 text-sm overflow-auto">
|
|
14
14
|
<div class="d-flex px-2">
|
|
15
15
|
<div>
|
|
16
16
|
<li class="dropdown-header">Light</li>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<button type="button" class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown">
|
|
2
|
+
{{{ if selectedTag }}}
|
|
3
|
+
<span class="d-inline-flex align-items-center gap-1">
|
|
4
|
+
<i class="fa fa-fw fa-tags link-primary"></i>
|
|
5
|
+
<span class="visible-md-inline visible-lg-inline fw-semibold">{selectedTag.label}</span>
|
|
6
|
+
</span>
|
|
7
|
+
{{{ else }}}
|
|
8
|
+
<i class="fa fa-fw fa-tags link-primary"></i>
|
|
9
|
+
<span class="visible-md-inline visible-lg-inline fw-semibold">[[tags:all-tags]]</span>
|
|
10
|
+
{{{ end }}}
|
|
11
|
+
</button>
|
|
12
|
+
<div component="tag/filter/search" class="hidden position-absolute top-0">
|
|
13
|
+
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
14
|
+
</div>
|
|
15
|
+
<ul component="tag/filter/list" class="dropdown-menu p-1 text-sm overflow-auto" role="menu" style="max-height: 500px;">
|
|
16
|
+
<li role="presentation" data-tag="">
|
|
17
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menu-item" href="#">
|
|
18
|
+
<span class="flex-grow-1">[[tags:all-tags]]</span>
|
|
19
|
+
<i component="tag/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{if selectedTag }}}invisible{{{ end }}}"></i>
|
|
20
|
+
</a>
|
|
21
|
+
</li>
|
|
22
|
+
{{{ each tagItems }}}
|
|
23
|
+
<li role="presentation" data-tag="{./valueEscaped}">
|
|
24
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menu-item" href="#">
|
|
25
|
+
<span component="tag-markup" class="flex-grow-1">
|
|
26
|
+
<div class="d-inline-flex align-items-center gap-1">
|
|
27
|
+
{./valueEscaped}
|
|
28
|
+
</div>
|
|
29
|
+
</span>
|
|
30
|
+
<i component="tag/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{ if !./selected }}}invisible{{{ end }}}"></i>
|
|
31
|
+
</a>
|
|
32
|
+
</li>
|
|
33
|
+
{{{ end }}}
|
|
34
|
+
</ul>
|