nodebb-theme-harmony 2.0.0-pre.3 → 2.0.0-pre.30
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/package.json +3 -3
- package/public/harmony.js +2 -5
- package/scss/common.scss +2 -1
- package/scss/header.scss +1 -1
- package/scss/modules/topics-list.scss +2 -2
- package/scss/overrides.scss +2 -0
- package/scss/topic.scss +1 -4
- package/templates/account/blocks.tpl +18 -7
- package/templates/account/consent.tpl +2 -2
- package/templates/account/info.tpl +142 -73
- package/templates/account/posts.tpl +1 -1
- package/templates/account/settings.tpl +7 -7
- package/templates/category.tpl +1 -1
- package/templates/flags/detail.tpl +2 -2
- package/templates/footer.tpl +1 -1
- package/templates/groups/list.tpl +3 -3
- package/templates/login.tpl +11 -12
- package/templates/partials/account/sidebar-left.tpl +5 -1
- package/templates/partials/breadcrumbs-json-ld.tpl +15 -25
- package/templates/partials/buttons/newTopic.tpl +1 -1
- package/templates/partials/category/filter-dropdown-content.tpl +28 -24
- package/templates/partials/category/selector-dropdown-content.tpl +23 -19
- package/templates/partials/category/sort.tpl +9 -9
- package/templates/partials/category/tools.tpl +13 -13
- package/templates/partials/category/watch.tpl +8 -8
- package/templates/partials/flags/bulk-actions.tpl +1 -0
- package/templates/partials/flags/filters.tpl +21 -18
- package/templates/partials/groups/memberlist.tpl +1 -1
- package/templates/partials/mobile-footer.tpl +3 -6
- package/templates/partials/post_bar.tpl +1 -3
- package/templates/partials/posts_list_item.tpl +1 -1
- package/templates/partials/quick-search-results.tpl +1 -1
- package/templates/partials/search-filters.tpl +1 -1
- package/templates/partials/search-results.tpl +1 -1
- package/templates/partials/sidebar/chats.tpl +1 -1
- package/templates/partials/sidebar/drafts.tpl +1 -1
- package/templates/partials/sidebar/notifications.tpl +1 -1
- package/templates/partials/sidebar/user-menu.tpl +13 -13
- package/templates/partials/sidebar-left.tpl +2 -5
- package/templates/partials/tags/filter-dropdown-content.tpl +24 -20
- package/templates/partials/topic/event.tpl +1 -1
- package/templates/partials/topic/navigator.tpl +2 -2
- package/templates/partials/topic/post-menu-list.tpl +28 -20
- package/templates/partials/topic/post-menu.tpl +3 -29
- package/templates/partials/topic/post.tpl +20 -29
- package/templates/partials/topic/reply-button.tpl +4 -2
- package/templates/partials/topic/sort.tpl +3 -3
- package/templates/partials/topic/tools.tpl +1 -5
- package/templates/partials/topic/topic-menu-list.tpl +15 -15
- package/templates/partials/topic/watch.tpl +6 -6
- package/templates/partials/topic-list-bar.tpl +4 -4
- package/templates/partials/topics_list.tpl +11 -3
- package/templates/post-queue.tpl +4 -0
- package/templates/topic.tpl +81 -88
- package/templates/users.tpl +1 -1
- package/templates/world.tpl +21 -0
|
@@ -15,44 +15,44 @@
|
|
|
15
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" role="menuitem">
|
|
16
16
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status online"></span>
|
|
17
17
|
<span class="flex-grow-1">[[global:online]]</span>
|
|
18
|
-
<i class="fa-solid fa-check text-
|
|
18
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0" aria-label="[[global:selected]]"></i>
|
|
19
19
|
</a>
|
|
20
20
|
</li>
|
|
21
21
|
<li>
|
|
22
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" role="menuitem">
|
|
23
23
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status away"></span>
|
|
24
24
|
<span class="flex-grow-1">[[global:away]]</span>
|
|
25
|
-
<i class="fa-solid fa-check text-
|
|
25
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0"><span class="visually-hidden"></span>[[global:selected]]</span></i>
|
|
26
26
|
</a>
|
|
27
27
|
</li>
|
|
28
28
|
<li>
|
|
29
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" role="menuitem">
|
|
30
30
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status dnd"></span>
|
|
31
31
|
<span class="flex-grow-1">[[global:dnd]]</span>
|
|
32
|
-
<i class="fa-solid fa-check text-
|
|
32
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0"></i>
|
|
33
33
|
</a>
|
|
34
34
|
</li>
|
|
35
35
|
<li>
|
|
36
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" role="menuitem">
|
|
37
37
|
<span component="user/status" class="flex-shrink-0 border border-white border-2 rounded-circle status offline"></span>
|
|
38
38
|
<span class="flex-grow-1">[[global:invisible]]</span>
|
|
39
|
-
<i class="fa-solid fa-check text-
|
|
39
|
+
<i class="fa-solid fa-check text-secondary flex-shrink-0"></i>
|
|
40
40
|
</a>
|
|
41
41
|
</li>
|
|
42
42
|
<li role="presentation" class="dropdown-divider"></li>
|
|
43
43
|
<li>
|
|
44
44
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/user/{user.userslug}/bookmarks" role="menuitem">
|
|
45
|
-
<i class="fa fa-fw fa-bookmark text-
|
|
45
|
+
<i class="fa fa-fw fa-bookmark text-secondary"></i> <span>[[user:bookmarks]]</span>
|
|
46
46
|
</a>
|
|
47
47
|
</li>
|
|
48
48
|
<li>
|
|
49
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" role="menuitem">
|
|
50
|
-
<i class="fa fa-fw fa-edit text-
|
|
50
|
+
<i class="fa fa-fw fa-edit text-secondary"></i> <span>[[user:edit-profile]]</span>
|
|
51
51
|
</a>
|
|
52
52
|
</li>
|
|
53
53
|
<li>
|
|
54
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" role="menuitem">
|
|
55
|
-
<i class="fa fa-fw fa-gear text-
|
|
55
|
+
<i class="fa fa-fw fa-gear text-secondary"></i> <span>[[user:settings]]</span>
|
|
56
56
|
</a>
|
|
57
57
|
</li>
|
|
58
58
|
{{{ if showModMenu }}}
|
|
@@ -60,31 +60,31 @@
|
|
|
60
60
|
<li><h6 class="dropdown-header text-xs">[[pages:moderator-tools]]</h6></li>
|
|
61
61
|
<li>
|
|
62
62
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/flags" role="menuitem">
|
|
63
|
-
<i class="fa fa-fw fa-flag text-
|
|
63
|
+
<i class="fa fa-fw fa-flag text-secondary"></i> <span>[[pages:flagged-content]]</span>
|
|
64
64
|
</a>
|
|
65
65
|
</li>
|
|
66
66
|
<li>
|
|
67
67
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/post-queue" role="menuitem">
|
|
68
|
-
<i class="fa fa-fw fa-list-alt text-
|
|
68
|
+
<i class="fa fa-fw fa-list-alt text-secondary"></i> <span>[[pages:post-queue]]</span>
|
|
69
69
|
</a>
|
|
70
70
|
</li>
|
|
71
71
|
{{{ if registrationQueueEnabled }}}
|
|
72
72
|
<li>
|
|
73
73
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/registration-queue" role="menuitem">
|
|
74
|
-
<i class="fa fa-fw fa-list-alt text-
|
|
74
|
+
<i class="fa fa-fw fa-list-alt text-secondary"></i> <span>[[pages:registration-queue]]</span>
|
|
75
75
|
</a>
|
|
76
76
|
</li>
|
|
77
77
|
{{{ end }}}
|
|
78
78
|
<li>
|
|
79
79
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/ip-blacklist" role="menuitem">
|
|
80
|
-
<i class="fa fa-fw fa-ban text-
|
|
80
|
+
<i class="fa fa-fw fa-ban text-secondary"></i> <span>[[pages:ip-blacklist]]</span>
|
|
81
81
|
</a>
|
|
82
82
|
</li>
|
|
83
83
|
{{{ else }}}
|
|
84
84
|
{{{ if postQueueEnabled }}}
|
|
85
85
|
<li>
|
|
86
86
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="{relative_path}/post-queue" role="menuitem">
|
|
87
|
-
<i class="fa fa-fw fa-list-alt text-
|
|
87
|
+
<i class="fa fa-fw fa-list-alt text-secondary"></i> <span>[[pages:post-queue]]</span>
|
|
88
88
|
</a>
|
|
89
89
|
</li>
|
|
90
90
|
{{{ end }}}
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
<input type="hidden" name="_csrf" value="{config.csrf_token}">
|
|
97
97
|
<input type="hidden" name="noscript" value="true">
|
|
98
98
|
<button type="submit" class="dropdown-item rounded-1 d-flex align-items-center gap-2">
|
|
99
|
-
<i class="fa fa-fw fa-sign-out text-
|
|
99
|
+
<i class="fa fa-fw fa-sign-out text-secondary"></i><span>[[global:logout]]</span>
|
|
100
100
|
</button>
|
|
101
101
|
</form>
|
|
102
102
|
</li>
|
|
@@ -3,8 +3,7 @@
|
|
|
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 navigation-link d-flex gap-2 justify-content-between align-items-center {{{ if ./dropdown }}}dropdown-toggle{{{ end }}}"
|
|
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 }}} {{{ if ./text }}}aria-label="{./text}"{{{ end }}}>
|
|
6
|
+
<a class="nav-link navigation-link d-flex gap-2 justify-content-between align-items-center {{{ if ./dropdown }}}dropdown-toggle{{{ end }}}" {{{ 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 }}} {{{ if ./text }}}aria-label="{./text}"{{{ end }}}>
|
|
8
7
|
<span class="d-flex gap-2 align-items-center text-nowrap truncate-open">
|
|
9
8
|
<span class="position-relative">
|
|
10
9
|
{{{ if ./iconClass }}}
|
|
@@ -12,9 +11,7 @@
|
|
|
12
11
|
<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
12
|
{{{ end }}}
|
|
14
13
|
</span>
|
|
15
|
-
{{{ if ./text }}}
|
|
16
|
-
<span class="nav-text small visible-open fw-semibold text-truncate">{./text}</span>
|
|
17
|
-
{{{ end }}}
|
|
14
|
+
{{{ if ./text }}}<span class="nav-text small visible-open fw-semibold text-truncate">{./text}</span>{{{ end }}}
|
|
18
15
|
</span>
|
|
19
16
|
<span component="navigation/count" class="visible-open badge rounded-1 bg-primary {{{ if !./content }}}hidden{{{ end }}}">{./content}</span>
|
|
20
17
|
</a>
|
|
@@ -9,26 +9,30 @@
|
|
|
9
9
|
<span class="visible-md-inline visible-lg-inline fw-semibold">[[tags:all-tags]]</span>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
</button>
|
|
12
|
+
|
|
12
13
|
<div component="tag/filter/search" class="hidden position-absolute top-0">
|
|
13
14
|
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
14
15
|
</div>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
</
|
|
16
|
+
|
|
17
|
+
<div class="dropdown-menu p-1">
|
|
18
|
+
<ul component="tag/filter/list" class="list-unstyled mb-0 text-sm overflow-auto ghost-scrollbar" role="menu" style="max-height: 500px;" role="menu">
|
|
19
|
+
<li role="presentation" data-tag="">
|
|
20
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#">
|
|
21
|
+
<span class="flex-grow-1">[[tags:all-tags]]</span>
|
|
22
|
+
<i component="tag/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{if selectedTag }}}invisible{{{ end }}}"></i>
|
|
23
|
+
</a>
|
|
24
|
+
</li>
|
|
25
|
+
{{{ each tagItems }}}
|
|
26
|
+
<li role="presentation" data-tag="{./valueEscaped}">
|
|
27
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#">
|
|
28
|
+
<span component="tag-markup" class="flex-grow-1">
|
|
29
|
+
<div class="d-inline-flex align-items-center gap-1">
|
|
30
|
+
{./valueEscaped}
|
|
31
|
+
</div>
|
|
32
|
+
</span>
|
|
33
|
+
<i component="tag/select/icon" class="flex-shrink-0 fa fa-fw fa-check {{{ if !./selected }}}invisible{{{ end }}}"></i>
|
|
34
|
+
</a>
|
|
35
|
+
</li>
|
|
36
|
+
{{{ end }}}
|
|
37
|
+
</ul>
|
|
38
|
+
</div>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<span class="timeline-text small d-flex align-items-center gap-1 flex-wrap">
|
|
6
6
|
{./text}
|
|
7
7
|
</span>
|
|
8
|
-
{{{ if privileges.isAdminOrMod }}}
|
|
8
|
+
{{{ if (privileges.isAdminOrMod && ./id) }}}
|
|
9
9
|
<span component="topic/event/delete" data-topic-event-id="{./id}" data-topic-event-type="{./type}" class="timeline-text pointer" title="[[topic:delete-event]]"><i class="fa fa-trash"></i></span>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
</li>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="d-flex justify-content-end sticky-top mt-4" style="top:6rem;z-index:1;">
|
|
3
3
|
<div class="ps-1 ps-md-0 d-inline-block">
|
|
4
4
|
<div class="scroller-content d-flex gap-2 flex-column align-items-start">
|
|
5
|
-
<
|
|
5
|
+
<button class="pagetop btn-ghost-sm ff-secondary d-inline-flex border-0" style="padding: 4px;"><i class="fa fa-chevron-up"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./timestampISO}"></span></button>
|
|
6
6
|
<div class="scroller-container position-relative">
|
|
7
7
|
<div class="scroller-thumb d-flex gap-2 text-nowrap position-relative" style="height: 40px;">
|
|
8
8
|
<div class="scroller-thumb-icon bg-primary rounded d-inline-block" style="width:9px; height: 40px;"></div>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
|
-
<
|
|
21
|
+
<button class="pagebottom btn-ghost-sm ff-secondary d-inline-flex border-0" style="padding: 4px;"><i class="fa fa-chevron-down"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./lastposttimeISO}"></span></button>
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
24
24
|
</div>
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{{{ if posts.display_moderator_tools }}}
|
|
2
2
|
<li>
|
|
3
3
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/edit" role="menuitem" href="#">
|
|
4
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
4
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-pencil"></i></span> [[topic:edit]]
|
|
5
5
|
</a>
|
|
6
6
|
</li>
|
|
7
7
|
<li {{{ if posts.deleted }}}hidden{{{ end }}}>
|
|
8
8
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/delete" role="menuitem" href="#" class="{{{ if posts.deleted }}}hidden{{{ end }}}">
|
|
9
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
9
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-trash-o"></i></span> [[topic:delete]]
|
|
10
10
|
</a>
|
|
11
11
|
</li>
|
|
12
12
|
<li {{{ if !posts.deleted }}}hidden{{{ end }}}>
|
|
13
13
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/restore" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
|
|
14
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
14
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:restore]]
|
|
15
15
|
</a>
|
|
16
16
|
</li>
|
|
17
17
|
{{{ if posts.display_purge_tools }}}
|
|
18
18
|
<li {{{ if !posts.deleted }}}hidden{{{ end }}}>
|
|
19
19
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/purge" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
|
|
20
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
20
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-eraser"></i></span> [[topic:purge]]
|
|
21
21
|
</a>
|
|
22
22
|
</li>
|
|
23
23
|
{{{ end }}}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
{{{ if posts.display_move_tools }}}
|
|
26
26
|
<li>
|
|
27
27
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/move" role="menuitem" href="#">
|
|
28
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
28
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-arrows"></i></span> [[topic:move]]
|
|
29
29
|
</a>
|
|
30
30
|
</li>
|
|
31
31
|
{{{ end }}}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
{{{ if posts.display_change_owner_tools }}}
|
|
34
34
|
<li>
|
|
35
35
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/change-owner" role="menuitem" href="#">
|
|
36
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
36
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-user"></i></span> [[topic:change-owner]]
|
|
37
37
|
</a>
|
|
38
38
|
</li>
|
|
39
39
|
{{{ end }}}
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
{{{ if posts.ip }}}
|
|
42
42
|
<li>
|
|
43
43
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/copy-ip" role="menuitem" href="#" data-clipboard-text="{posts.ip}">
|
|
44
|
-
<span class="menu-icon" ><i class="fa fa-fw text-
|
|
44
|
+
<span class="menu-icon" ><i class="fa fa-fw text-secondary fa-copy"></i></span> [[topic:copy-ip]] {posts.ip}
|
|
45
45
|
</a>
|
|
46
46
|
</li>
|
|
47
47
|
{{{ if posts.display_ip_ban }}}
|
|
48
48
|
<li>
|
|
49
49
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/ban-ip" role="menuitem" href="#" data-ip="{posts.ip}">
|
|
50
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
50
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-ban"></i></span> [[topic:ban-ip]] {posts.ip}
|
|
51
51
|
</a>
|
|
52
52
|
</li>
|
|
53
53
|
{{{ end }}}
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
{{{ each posts.tools }}}
|
|
58
58
|
<li {{{ if ./disabled }}}class="disabled" {{{ end }}}>
|
|
59
59
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" {{{ if ./action}}}component="{./action}"{{{ end }}} role="menuitem" href="{{{ if ./href }}}{./href}{{{ else }}}#{{{ end }}}">
|
|
60
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
60
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary {./icon}"></i></span> {{./html}}
|
|
61
61
|
</a>
|
|
62
62
|
</li>
|
|
63
63
|
{{{ end }}}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
{{{ if posts.display_history}}}
|
|
67
67
|
<li>
|
|
68
68
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/view-history" role="menuitem" href="#">
|
|
69
|
-
<span class="menu-icon"><i class="fa fa-fw text-
|
|
69
|
+
<span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:view-history]]
|
|
70
70
|
</a>
|
|
71
71
|
</li>
|
|
72
72
|
{{{ end }}}
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
<li>
|
|
76
76
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/bookmark" role="menuitem" href="#" data-bookmarked="{posts.bookmarked}">
|
|
77
77
|
<span class="menu-icon">
|
|
78
|
-
<i component="post/bookmark/on" class="fa fa-fw text-
|
|
79
|
-
<i component="post/bookmark/off" class="fa fa-fw text-
|
|
78
|
+
<i component="post/bookmark/on" class="fa fa-fw text-secondary fa-bookmark {{{ if !posts.bookmarked }}}hidden{{{ end }}}"></i>
|
|
79
|
+
<i component="post/bookmark/off" class="fa fa-fw text-secondary fa-bookmark-o {{{ if posts.bookmarked }}}hidden{{{ end }}}"></i>
|
|
80
80
|
</span>
|
|
81
81
|
<span class="bookmark-text">[[topic:bookmark]]</span>
|
|
82
82
|
<span component="post/bookmark-count" class="bookmarkCount badge bg-secondary" data-bookmarks="{posts.bookmarks}">{posts.bookmarks}</span>
|
|
@@ -86,17 +86,25 @@
|
|
|
86
86
|
|
|
87
87
|
<li>
|
|
88
88
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#" data-clipboard-text="{posts.absolute_url}">
|
|
89
|
-
<i class="fa fa-fw text-
|
|
89
|
+
<i class="fa fa-fw text-secondary fa-link"></i> [[topic:copy-permalink]]
|
|
90
90
|
</a>
|
|
91
91
|
</li>
|
|
92
92
|
|
|
93
|
+
{{{ if posts.display_original_url }}}
|
|
94
|
+
<li>
|
|
95
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{{{ if posts.url }}}{posts.url}{{{ else }}}{posts.pid}{{{ end }}}">
|
|
96
|
+
<i class="fa fa-fw text-secondary fa-external-link"></i> [[topic:go-to-original]]
|
|
97
|
+
</a>
|
|
98
|
+
</li>
|
|
99
|
+
{{{ end }}}
|
|
100
|
+
|
|
93
101
|
{{{ if postSharing.length }}}
|
|
94
102
|
{{{ if config.loggedIn }}}<li class="dropdown-divider"></li>{{{ end }}}
|
|
95
103
|
<li class="dropdown-header">[[topic:share-this-post]]</li>
|
|
96
104
|
{{{ end }}}
|
|
97
105
|
<li class="d-flex gap-2 px-3">
|
|
98
106
|
{{{ each postSharing }}}
|
|
99
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center px-1 py-2 w-auto" role="menuitem" component="share/{./id}" href="#" title="{./name}"><i class="fa-fw text-
|
|
107
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center px-1 py-2 w-auto" role="menuitem" component="share/{./id}" href="#" title="{./name}"><i class="fa-fw text-secondary {./class}"></i></a>
|
|
100
108
|
{{{ end }}}
|
|
101
109
|
</li>
|
|
102
110
|
{{{ end }}}
|
|
@@ -105,15 +113,15 @@
|
|
|
105
113
|
<li class="dropdown-divider"></li>
|
|
106
114
|
|
|
107
115
|
<li {{{ if posts.flags.flagged }}}hidden{{{ end }}}>
|
|
108
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
116
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-post]]</a>
|
|
109
117
|
</li>
|
|
110
|
-
<li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-
|
|
111
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/already-flagged" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
118
|
+
<li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-secondary">
|
|
119
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/already-flagged" role="menuitem" href="#" data-flag-id="{posts.flagId}"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:already-flagged]]</a>
|
|
112
120
|
</li>
|
|
113
121
|
|
|
114
122
|
{{{ if (!posts.selfPost && posts.uid) }}}
|
|
115
123
|
<li>
|
|
116
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
124
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-user]]</a>
|
|
117
125
|
</li>
|
|
118
126
|
{{{ end }}}
|
|
119
127
|
{{{ end }}}
|
|
@@ -121,11 +129,11 @@
|
|
|
121
129
|
{{{ if posts.display_moderator_tools }}}
|
|
122
130
|
{{{ if posts.flags.exists }}}
|
|
123
131
|
<li>
|
|
124
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw text-
|
|
132
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw text-secondary fa-exclamation-circle"></i> [[topic:view-flag-report]]</a>
|
|
125
133
|
</li>
|
|
126
134
|
{{{ if (posts.flags.state == "open") }}}
|
|
127
135
|
<li>
|
|
128
|
-
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw text-
|
|
136
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-check"></i> [[topic:resolve-flag]]</a>
|
|
129
137
|
</li>
|
|
130
138
|
{{{ end }}}
|
|
131
139
|
{{{ end }}}
|
|
@@ -1,30 +1,4 @@
|
|
|
1
|
-
<span component="post/tools" class="dropdown
|
|
2
|
-
<a class="btn-ghost-sm ff-secondary dropdown-toggle
|
|
3
|
-
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu">
|
|
4
|
-
<li class="dropdown-item placeholder-wave">
|
|
5
|
-
<div class="placeholder" style="width: 20px;"></div>
|
|
6
|
-
<div class="placeholder col-3"></div>
|
|
7
|
-
</li>
|
|
8
|
-
<li class="dropdown-item placeholder-wave">
|
|
9
|
-
<div class="placeholder" style="width: 20px;"></div>
|
|
10
|
-
<div class="placeholder col-5"></div>
|
|
11
|
-
</li>
|
|
12
|
-
<li class="dropdown-item placeholder-wave">
|
|
13
|
-
<div class="placeholder" style="width: 20px;"></div>
|
|
14
|
-
<div class="placeholder col-9"></div>
|
|
15
|
-
</li>
|
|
16
|
-
<li class="dropdown-item placeholder-wave">
|
|
17
|
-
<div class="placeholder" style="width: 20px;"></div>
|
|
18
|
-
<div class="placeholder col-7"></div>
|
|
19
|
-
</li>
|
|
20
|
-
<li class="dropdown-item placeholder-wave">
|
|
21
|
-
<div class="placeholder" style="width: 20px;"></div>
|
|
22
|
-
<div class="placeholder col-10"></div>
|
|
23
|
-
</li>
|
|
24
|
-
<li class="dropdown-divider"></li>
|
|
25
|
-
<li class="dropdown-item placeholder-wave">
|
|
26
|
-
<div class="placeholder" style="width: 20px;"></div>
|
|
27
|
-
<div class="placeholder col-10"></div>
|
|
28
|
-
</li>
|
|
29
|
-
</ul>
|
|
1
|
+
<span component="post/tools" class="dropdown bottom-sheet {{{ if !./display_post_menu }}}hidden{{{ end }}}">
|
|
2
|
+
<a class="btn-ghost-sm ff-secondary dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[topic:post-tools]]"><i class="fa fa-fw fa-ellipsis-v text-primary"></i></a>
|
|
3
|
+
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu"></ul>
|
|
30
4
|
</span>
|
|
@@ -5,30 +5,26 @@
|
|
|
5
5
|
{{{ end }}}
|
|
6
6
|
</div>
|
|
7
7
|
{{{ end }}}
|
|
8
|
-
|
|
9
8
|
<div class="d-flex align-items-start gap-3">
|
|
10
|
-
<div class="
|
|
11
|
-
<a class="d-inline-block position-relative text-decoration-none" href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}">
|
|
9
|
+
<div class="bg-body d-none d-sm-block rounded-circle" style="outline: 2px solid var(--bs-body-bg);">
|
|
10
|
+
<a class="d-inline-block position-relative text-decoration-none" href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" aria-label="[[aria:user-avatar-for, {./user.username}]]">
|
|
12
11
|
{buildAvatar(posts.user, "48px", true, "", "user/picture")}
|
|
13
12
|
<span component="user/status" class="position-absolute translate-middle-y border border-white border-2 rounded-circle status {posts.user.status}"><span class="visually-hidden">[[global:{posts.user.status}]]</span></span>
|
|
14
13
|
</a>
|
|
15
14
|
</div>
|
|
16
|
-
|
|
17
|
-
<div class="post-container d-flex flex-grow-1 flex-column w-100" style="min-width: 0;">
|
|
15
|
+
<div class="post-container d-flex flex-grow-1 flex-column w-100" style="min-width:0;">
|
|
18
16
|
<div class="d-flex align-items-center gap-1 flex-wrap w-100 post-header mt-1" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
|
19
17
|
<meta itemprop="name" content="{./user.username}">
|
|
20
18
|
{{{ if ./user.userslug }}}<meta itemprop="url" content="{config.relative_path}/user/{./user.userslug}">{{{ end }}}
|
|
21
19
|
|
|
22
|
-
<div class="
|
|
20
|
+
<div class="bg-body d-sm-none">
|
|
23
21
|
<a class="d-inline-block position-relative text-decoration-none" href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}">
|
|
24
22
|
{buildAvatar(posts.user, "20px", true, "", "user/picture")}
|
|
25
23
|
<span component="user/status" class="position-absolute translate-middle-y border border-white border-2 rounded-circle status {posts.user.status}"><span class="visually-hidden">[[global:{posts.user.status}]]</span></span>
|
|
26
24
|
</a>
|
|
27
25
|
</div>
|
|
28
26
|
|
|
29
|
-
<
|
|
30
|
-
<a class="fw-bold" href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" data-username="{posts.user.username}" data-uid="{posts.user.uid}">{posts.user.displayname}</a>
|
|
31
|
-
</span>
|
|
27
|
+
<a class="fw-bold text-nowrap" href="{{{ if ./user.userslug }}}{config.relative_path}/user/{./user.userslug}{{{ else }}}#{{{ end }}}" data-username="{posts.user.username}" data-uid="{posts.user.uid}">{posts.user.displayname}</a>
|
|
32
28
|
|
|
33
29
|
{{{ each posts.user.selectedGroups }}}
|
|
34
30
|
{{{ if posts.user.selectedGroups.slug }}}
|
|
@@ -41,31 +37,25 @@
|
|
|
41
37
|
{{{ end }}}
|
|
42
38
|
|
|
43
39
|
<div class="d-flex gap-1 align-items-center">
|
|
44
|
-
<span class="text-muted">
|
|
45
|
-
{{{ if posts.toPid }}}
|
|
46
|
-
{generateRepliedTo(@value, config.timeagoCutoff)}
|
|
47
|
-
{{{ else }}}
|
|
48
|
-
{generateWrote(@value, config.timeagoCutoff)}
|
|
49
|
-
{{{ end }}}
|
|
50
|
-
</span>
|
|
40
|
+
<span class="text-muted">{generateWroteReplied(@value, config.timeagoCutoff)}</span>
|
|
51
41
|
|
|
52
42
|
<i component="post/edit-indicator" class="fa fa-edit text-muted{{{ if privileges.posts:history }}} pointer{{{ end }}} edit-icon {{{ if !posts.editor.username }}}hidden{{{ end }}}" title="[[global:edited-timestamp, {isoTimeToLocaleString(./editedISO, config.userLang)}]]"></i>
|
|
53
43
|
<span data-editor="{posts.editor.userslug}" component="post/editor" class="visually-hidden">[[global:last-edited-by, {posts.editor.username}]] <span class="timeago" title="{isoTimeToLocaleString(posts.editedISO, config.userLang)}"></span></span>
|
|
54
44
|
</div>
|
|
55
45
|
|
|
46
|
+
{{{ if posts.user.custom_profile_info.length }}}
|
|
56
47
|
<div>
|
|
57
48
|
<span>
|
|
58
|
-
{{{ if posts.user.custom_profile_info.length }}}
|
|
59
49
|
|
|
|
60
50
|
{{{ each posts.user.custom_profile_info }}}
|
|
61
51
|
{posts.user.custom_profile_info.content}
|
|
62
52
|
{{{ end }}}
|
|
63
|
-
{{{ end }}}
|
|
64
53
|
</span>
|
|
65
54
|
</div>
|
|
55
|
+
{{{ end }}}
|
|
66
56
|
<div class="d-flex align-items-center gap-1 flex-grow-1 justify-content-end">
|
|
67
57
|
<span class="bookmarked opacity-0 text-primary"><i class="fa fa-bookmark-o"></i></span>
|
|
68
|
-
<a href="{
|
|
58
|
+
<a href="{config.relative_path}/post/{encodeURIComponent(./pid)}" class="post-index text-muted d-none d-md-inline">#{increment(./index, "1")}</a>
|
|
69
59
|
</div>
|
|
70
60
|
</div>
|
|
71
61
|
|
|
@@ -82,8 +72,8 @@
|
|
|
82
72
|
|
|
83
73
|
<div class="d-flex">
|
|
84
74
|
{{{ if !hideReplies }}}
|
|
85
|
-
<a component="post/reply-count" data-target-component="post/replies/container" href="#" class="d-flex gap-2 align-items-center mt-2 btn-ghost ff-secondary border rounded-1 p-1
|
|
86
|
-
<span component="post/reply-count/avatars" class="
|
|
75
|
+
<a component="post/reply-count" data-target-component="post/replies/container" href="#" class="d-flex gap-2 align-items-center mt-2 btn-ghost ff-secondary border rounded-1 p-1 text-muted text-decoration-none text-xs {{{ if (!./replies || shouldHideReplyContainer(@value)) }}}hidden{{{ end }}}">
|
|
76
|
+
<span component="post/reply-count/avatars" class="d-flex gap-1 {{{ if posts.replies.hasMore }}}hasMore{{{ end }}}">
|
|
87
77
|
{{{each posts.replies.users}}}
|
|
88
78
|
<span>{buildAvatar(posts.replies.users, "20px", true, "avatar-tooltip")}</span>
|
|
89
79
|
{{{end}}}
|
|
@@ -96,8 +86,6 @@
|
|
|
96
86
|
<span class="ms-2 replies-last hidden-xs fw-semibold">[[topic:last-reply-time]] <span class="timeago" title="{posts.replies.timestampISO}"></span></span>
|
|
97
87
|
|
|
98
88
|
<i class="fa fa-fw fa-chevron-down" component="post/replies/open"></i>
|
|
99
|
-
<i class="fa fa-fw fa-chevron-up hidden" component="post/replies/close"></i>
|
|
100
|
-
<i class="fa fa-fw fa-spin fa-spinner hidden" component="post/replies/loading"></i>
|
|
101
89
|
</a>
|
|
102
90
|
{{{ end }}}
|
|
103
91
|
</div>
|
|
@@ -106,21 +94,25 @@
|
|
|
106
94
|
|
|
107
95
|
<div component="post/actions" class="d-flex justify-content-end gap-1 post-tools">
|
|
108
96
|
<!-- IMPORT partials/topic/reactions.tpl -->
|
|
109
|
-
<a component="post/reply" href="#" class="btn-ghost-sm
|
|
110
|
-
<a component="post/quote" href="#" class="btn-ghost-sm
|
|
97
|
+
<a component="post/reply" href="#" class="btn-ghost-sm {{{ if !privileges.topics:reply }}}hidden{{{ end }}}" title="[[topic:reply]]"><i class="fa fa-fw fa-reply text-primary"></i></a>
|
|
98
|
+
<a component="post/quote" href="#" class="btn-ghost-sm {{{ if !privileges.topics:reply }}}hidden{{{ end }}}" title="[[topic:quote]]"><i class="fa fa-fw fa-quote-right text-primary"></i></a>
|
|
99
|
+
|
|
100
|
+
{{{ if ./announces }}}
|
|
101
|
+
<a component="post/announce-count" href="#" class="btn-ghost-sm" title="[[activitypub:announcers]]"><i class="fa fa-share-alt text-primary"></i> {./announces}</a>
|
|
102
|
+
{{{ end }}}
|
|
111
103
|
|
|
112
104
|
{{{ if !reputation:disabled }}}
|
|
113
105
|
<div class="d-flex votes align-items-center">
|
|
114
|
-
<a component="post/upvote" href="#" class="btn-ghost-sm
|
|
106
|
+
<a component="post/upvote" href="#" class="btn-ghost-sm{{{ if posts.upvoted }}} upvoted{{{ end }}}" title="[[topic:upvote-post]]">
|
|
115
107
|
<i class="fa fa-fw fa-chevron-up text-primary"></i>
|
|
116
108
|
</a>
|
|
117
109
|
|
|
118
110
|
<meta itemprop="upvoteCount" content="{posts.upvotes}">
|
|
119
111
|
<meta itemprop="downvoteCount" content="{posts.downvotes}">
|
|
120
|
-
<a href="#" class="
|
|
112
|
+
<a href="#" class="px-2 mx-1 btn-ghost-sm" component="post/vote-count" data-votes="{posts.votes}" title="[[global:voters]]">{posts.votes}</a>
|
|
121
113
|
|
|
122
114
|
{{{ if !downvote:disabled }}}
|
|
123
|
-
<a component="post/downvote" href="#" class="btn-ghost-sm
|
|
115
|
+
<a component="post/downvote" href="#" class="btn-ghost-sm{{{ if posts.downvoted }}} downvoted{{{ end }}}" title="[[topic:downvote-post]]">
|
|
124
116
|
<i class="fa fa-fw fa-chevron-down text-primary"></i>
|
|
125
117
|
</a>
|
|
126
118
|
{{{ end }}}
|
|
@@ -130,7 +122,6 @@
|
|
|
130
122
|
<!-- IMPORT partials/topic/post-menu.tpl -->
|
|
131
123
|
</div>
|
|
132
124
|
</div>
|
|
133
|
-
|
|
134
125
|
{{{ if (!./index && widgets.mainpost-footer.length) }}}
|
|
135
126
|
<div data-widget-area="mainpost-footer">
|
|
136
127
|
{{{ each widgets.mainpost-footer }}}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
{{{ if privileges.topics:reply }}}
|
|
2
|
+
<div component="topic/reply/container" class="btn-group">
|
|
3
|
+
<a href="{config.relative_path}/compose?tid={tid}" class="d-flex align-items-center btn btn-sm btn-primary px-3 fw-semibold" component="topic/reply" data-ajaxify="false" role="button"><i class="fa fa-reply d-sm-block d-md-none"></i><span class="d-none d-md-block"> [[topic:reply]]</span></a>
|
|
3
4
|
<button type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[topic:reply-options]]">
|
|
4
5
|
<span class="caret"></span>
|
|
5
6
|
</button>
|
|
@@ -7,6 +8,7 @@
|
|
|
7
8
|
<li><a class="dropdown-item rounded-1" href="#" component="topic/reply-as-topic" role="menuitem">[[topic:reply-as-topic]]</a></li>
|
|
8
9
|
</ul>
|
|
9
10
|
</div>
|
|
11
|
+
{{{ end }}}
|
|
10
12
|
|
|
11
13
|
{{{ if loggedIn }}}
|
|
12
14
|
{{{ if !privileges.topics:reply }}}
|
|
@@ -8,19 +8,19 @@
|
|
|
8
8
|
<li>
|
|
9
9
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="oldest_to_newest" data-sort="oldest_to_newest" role="menuitem">
|
|
10
10
|
<span class="flex-grow-1">[[topic:oldest-to-newest]]</span>
|
|
11
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
11
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
12
12
|
</a>
|
|
13
13
|
</li>
|
|
14
14
|
<li>
|
|
15
15
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="newest_to_oldest" data-sort="newest_to_oldest" role="menuitem">
|
|
16
16
|
<span class="flex-grow-1">[[topic:newest-to-oldest]]</span>
|
|
17
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
17
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
18
18
|
</a>
|
|
19
19
|
</li>
|
|
20
20
|
<li>
|
|
21
21
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" href="#" class="most_votes" data-sort="most_votes" role="menuitem">
|
|
22
22
|
<span class="flex-grow-1">[[topic:most-votes]]</span>
|
|
23
|
-
<i class="flex-shrink-0 fa fa-fw"></i>
|
|
23
|
+
<i class="flex-shrink-0 fa fa-fw text-secondary"></i>
|
|
24
24
|
</a>
|
|
25
25
|
</li>
|
|
26
26
|
</ul>
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
<i class="fa fa-fw fa-gear text-primary"></i>
|
|
5
5
|
<span class="d-none d-md-inline fw-semibold">[[topic:thread-tools.title]]</span>
|
|
6
6
|
</button>
|
|
7
|
-
<ul class="dropdown-menu p-1 text-sm" role="menu">
|
|
8
|
-
<li class="placeholder-wave"><a class="dropdown-item d-flex gap-2" href="#"><div class="placeholder bg-secondary rounded-1" style="width: 1em;"></div><div class="placeholder bg-secondary rounded-1 col-8"></div></a></li>
|
|
9
|
-
<li class="placeholder-wave"><a class="dropdown-item d-flex gap-2" href="#"><div class="placeholder bg-secondary rounded-1" style="width: 1em;"></div><div class="placeholder bg-secondary rounded-1 col-8"></div></a></li>
|
|
10
|
-
<li class="placeholder-wave"><a class="dropdown-item d-flex gap-2" href="#"><div class="placeholder bg-secondary rounded-1" style="width: 1em;"></div><div class="placeholder bg-secondary rounded-1 col-8"></div></a></li>
|
|
11
|
-
</ul>
|
|
7
|
+
<ul class="dropdown-menu p-1 text-sm" role="menu"></ul>
|
|
12
8
|
</div>
|
|
13
9
|
{{{ end }}}
|