nodebb-theme-harmony 1.1.95 → 1.1.97
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 +1 -1
- package/scss/chats.scss +21 -26
- package/templates/partials/category/filter-dropdown-content.tpl +1 -1
- package/templates/partials/chats/message.tpl +43 -15
- package/templates/partials/chats/pinned-messages-list.tpl +2 -2
- package/templates/partials/tags/filter-dropdown-content.tpl +2 -2
- package/templates/partials/tags/watch.tpl +2 -2
- package/templates/partials/topic/tools.tpl +1 -1
- package/templates/partials/topic/watch.tpl +3 -3
- package/templates/partials/topic-filters.tpl +1 -1
package/package.json
CHANGED
package/scss/chats.scss
CHANGED
|
@@ -61,38 +61,33 @@ body.page-user-chats {
|
|
|
61
61
|
|
|
62
62
|
.expanded-chat {
|
|
63
63
|
.chat-content {
|
|
64
|
-
|
|
64
|
+
.message-body {
|
|
65
|
+
@include fix-lists;
|
|
66
|
+
}
|
|
65
67
|
|
|
66
68
|
.chat-message {
|
|
67
|
-
.message-body-wrapper
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
.message-body-wrapper {
|
|
70
|
+
.controls {
|
|
71
|
+
opacity: 0;
|
|
72
|
+
transition: $transition-fade;
|
|
73
|
+
&:has([aria-expanded="true"]) { opacity: 1; }
|
|
74
|
+
[data-action="restore"], [data-action="unpin"] { display: none; }
|
|
70
75
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
.chat-message.deleted {
|
|
74
|
-
.message-body-wrapper .controls {
|
|
75
|
-
[data-action] {
|
|
76
|
-
display: none;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
[data-action="restore"] {
|
|
80
|
-
display: inline;
|
|
76
|
+
&:hover {
|
|
77
|
+
.controls { opacity: 1; }
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
.chat-message.pinned {
|
|
89
|
-
.message-body-wrapper .controls {
|
|
90
|
-
[data-action="pin"] {
|
|
91
|
-
display: none;
|
|
80
|
+
&.deleted {
|
|
81
|
+
.message-body { opacity: 0.3; }
|
|
82
|
+
.message-body-wrapper .controls {
|
|
83
|
+
[data-action] { display: none; }
|
|
84
|
+
[data-action="restore"] { display: block; }
|
|
92
85
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
86
|
+
}
|
|
87
|
+
&.pinned {
|
|
88
|
+
.message-body-wrapper .controls {
|
|
89
|
+
[data-action="pin"] { display: none; }
|
|
90
|
+
[data-action="unpin"] { display: block;}
|
|
96
91
|
}
|
|
97
92
|
}
|
|
98
93
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<span class="visible-md-inline visible-lg-inline fw-semibold">{selectedCategory.name}</span>
|
|
6
6
|
</span>
|
|
7
7
|
{{{ else }}}
|
|
8
|
-
<i class="fa fa-fw fa-list
|
|
8
|
+
<i class="fa fa-fw fa-list text-primary"></i>
|
|
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">
|
|
@@ -17,28 +17,56 @@
|
|
|
17
17
|
|
|
18
18
|
<div component="chat/message/edited" class="text-muted ms-auto {{{ if !messages.edited }}}hidden{{{ end }}}" title="[[global:edited-timestamp, {messages.editedISO}]]"><i class="fa fa-edit"></i></span></div>
|
|
19
19
|
</div>
|
|
20
|
-
<div class="message-body-wrapper
|
|
20
|
+
<div class="message-body-wrapper">
|
|
21
21
|
<div component="chat/message/body" class="message-body ps-0 py-0 overflow-auto text-break">
|
|
22
22
|
{messages.content}
|
|
23
23
|
</div>
|
|
24
24
|
<!-- IMPORT partials/chats/reactions.tpl -->
|
|
25
25
|
<div component="chat/message/controls" class="position-relative">
|
|
26
|
-
<div class="btn-group border shadow-sm controls position-absolute bg-body
|
|
26
|
+
<div class="btn-group border shadow-sm controls position-absolute bg-body end-0" style="bottom:1rem;">
|
|
27
27
|
<!-- IMPORT partials/chats/add-reaction.tpl -->
|
|
28
28
|
<button class="btn btn-sm btn-link" data-action="reply" title="[[topic:reply]]"><i class="fa fa-reply"></i></button>
|
|
29
|
-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
|
|
30
|
+
<div class="btn-group d-inline-block">
|
|
31
|
+
<button class="btn btn-sm btn-link dropdown-toggle" data-bs-toggle="dropdown"><i class="fa fa-ellipsis" type="button"></i></button>
|
|
32
|
+
<ul class="dropdown-menu dropdown-menu-end p-1 text-sm list-unstyled">
|
|
33
|
+
{{{ if (isAdminOrGlobalMod || (!config.disableChatMessageEditing && messages.self)) }}}
|
|
34
|
+
<li>
|
|
35
|
+
<a href="#" class="dropdown-item rounded-1" data-action="edit"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-pencil text-muted"></i> [[topic:edit]]</span></a>
|
|
36
|
+
</li>
|
|
37
|
+
<li>
|
|
38
|
+
<a href="#" class="dropdown-item rounded-1" data-action="delete"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-trash text-muted"></i> [[topic:delete]]</span></a>
|
|
39
|
+
</li>
|
|
40
|
+
<li>
|
|
41
|
+
<a href="#" class="dropdown-item rounded-1" data-action="restore"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-repeat text-muted"></i> [[topic:restore]]</span></a>
|
|
42
|
+
</li>
|
|
43
|
+
{{{ end }}}
|
|
44
|
+
|
|
45
|
+
{{{ if (isAdminOrGlobalMod || isOwner )}}}
|
|
46
|
+
<li>
|
|
47
|
+
<a href="#" class="dropdown-item rounded-1" data-action="pin"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-thumbtack text-muted"></i> [[modules:chat.pin-message]]</span></a>
|
|
48
|
+
</li>
|
|
49
|
+
<li>
|
|
50
|
+
<a href="#" class="dropdown-item rounded-1" data-action="unpin"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-thumbtack fa-rotate-90 text-muted"></i> [[modules:chat.unpin-message]]</span></a>
|
|
51
|
+
</li>
|
|
52
|
+
<li class="dropdown-divider"></li>
|
|
53
|
+
{{{ end }}}
|
|
54
|
+
|
|
55
|
+
{{{ if isAdminOrGlobalMod }}}
|
|
56
|
+
<li>
|
|
57
|
+
<a href="#" class="dropdown-item rounded-1 chat-ip-button"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-info-circle text-muted"></i> [[modules:chat.show-ip]]</span></a>
|
|
58
|
+
</li>
|
|
59
|
+
{{{ end }}}
|
|
60
|
+
|
|
61
|
+
<li>
|
|
62
|
+
<a href="#" class="dropdown-item rounded-1" data-action="copy-text" data-mid="{messages.mid}"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-copy text-muted"></i> [[modules:chat.copy-text]]</span></a>
|
|
63
|
+
</li>
|
|
64
|
+
|
|
65
|
+
<li>
|
|
66
|
+
<a href="#" class="dropdown-item rounded-1" data-action="copy-link" data-mid="{messages.mid}"><span class="d-inline-flex align-items-center gap-2"><i class="fa fa-fw fa-link text-muted"></i> [[modules:chat.copy-link]]</span></a>
|
|
67
|
+
</li>
|
|
68
|
+
</ul>
|
|
69
|
+
</div>
|
|
42
70
|
</div>
|
|
43
71
|
</div>
|
|
44
72
|
</div>
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
<span class="chat-timestamp text-muted timeago" title="{messages.timestampISO}"></span>
|
|
13
13
|
<div component="chat/message/edited" class="text-muted ms-auto {{{ if !messages.edited }}}hidden{{{ end }}}" title="[[global:edited-timestamp, {messages.editedISO}]]"><i class="fa fa-edit"></i></span></div>
|
|
14
14
|
</div>
|
|
15
|
-
<div class="message-body-wrapper
|
|
15
|
+
<div class="message-body-wrapper">
|
|
16
16
|
<div component="chat/message/body" class="message-body ps-0 py-0 overflow-auto text-break">
|
|
17
17
|
{messages.content}
|
|
18
18
|
</div>
|
|
19
19
|
<div component="chat/message/controls" class="position-relative">
|
|
20
|
-
<div class="btn-group border shadow-sm controls position-absolute bg-body
|
|
20
|
+
<div class="btn-group border shadow-sm controls position-absolute bg-body end-0" style="bottom:1rem;">
|
|
21
21
|
{{{ if (isAdminOrGlobalMod || (!config.disableChatMessageEditing && messages.self)) }}}
|
|
22
22
|
<button class="btn btn-sm btn-link" data-action="edit" title="[[topic:edit]]"><i class="fa fa-pencil"></i></button>
|
|
23
23
|
{{{ end }}}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<button type="button" class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown">
|
|
2
2
|
{{{ if selectedTag }}}
|
|
3
3
|
<span class="d-inline-flex align-items-center gap-1">
|
|
4
|
-
<i class="fa fa-fw fa-tags
|
|
4
|
+
<i class="fa fa-fw fa-tags text-primary"></i>
|
|
5
5
|
<span class="visible-md-inline visible-lg-inline fw-semibold">{selectedTag.label}</span>
|
|
6
6
|
</span>
|
|
7
7
|
{{{ else }}}
|
|
8
|
-
<i class="fa fa-fw fa-tags
|
|
8
|
+
<i class="fa fa-fw fa-tags text-primary"></i>
|
|
9
9
|
<span class="visible-md-inline visible-lg-inline fw-semibold">[[tags:all-tags]]</span>
|
|
10
10
|
{{{ end }}}
|
|
11
11
|
</button>
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
<div class="btn-group bottom-sheet" component="tag/watch">
|
|
3
3
|
<button class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
4
4
|
<span component="tag/following/menu" class="d-flex gap-2 align-items-center{{{ if !isFollowing }}} hidden{{{ end }}}">
|
|
5
|
-
<i class="flex-shrink-0 fa fa-fw fa-bell-o
|
|
5
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-o text-primary"></i>
|
|
6
6
|
<span class="d-none d-md-inline fw-semibold">[[tags:watching]]</span>
|
|
7
7
|
</span>
|
|
8
8
|
|
|
9
9
|
<span component="tag/not-following/menu" class="d-flex gap-2 align-items-center{{{ if isFollowing}}} hidden{{{ end }}}">
|
|
10
|
-
<i class="flex-shrink-0 fa fa-fw fa-bell-slash-o
|
|
10
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-slash-o text-primary"></i>
|
|
11
11
|
<span class="d-none d-md-inline fw-semibold">[[tags:not-watching]]</span>
|
|
12
12
|
</span>
|
|
13
13
|
</button>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{{ if privileges.view_thread_tools }}}
|
|
2
2
|
<div class="btn-group thread-tools bottom-sheet">
|
|
3
3
|
<button class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
4
|
-
<i class="fa fa-fw fa-gear
|
|
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
7
|
<ul class="dropdown-menu p-1 text-sm">
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
<div class="btn-group bottom-sheet" component="topic/watch">
|
|
3
3
|
<button class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown" type="button">
|
|
4
4
|
<span component="topic/following/menu" class="d-flex gap-2 align-items-center{{{ if !isFollowing }}} hidden{{{ end }}}">
|
|
5
|
-
<i class="flex-shrink-0 fa fa-fw fa-bell-o
|
|
5
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-o text-primary"></i>
|
|
6
6
|
<span class="d-none d-md-inline fw-semibold">[[topic:watching]]</span>
|
|
7
7
|
</span>
|
|
8
8
|
|
|
9
9
|
<span component="topic/not-following/menu" class="d-flex gap-2 align-items-center{{{ if !isNotFollowing}}} hidden{{{ end }}}">
|
|
10
|
-
<i class="flex-shrink-0 fa fa-fw fa-bell-slash-o
|
|
10
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-slash-o text-primary"></i>
|
|
11
11
|
<span class="d-none d-md-inline fw-semibold">[[topic:not-watching]]</span>
|
|
12
12
|
</span>
|
|
13
13
|
|
|
14
14
|
<span component="topic/ignoring/menu" class="d-flex gap-2 align-items-center{{{ if !isIgnoring }}} hidden{{{ end }}}">
|
|
15
|
-
<i class="flex-shrink-0 fa fa-fw fa-eye-slash
|
|
15
|
+
<i class="flex-shrink-0 fa fa-fw fa-eye-slash text-primary"></i>
|
|
16
16
|
<span class="d-none d-md-inline fw-semibold">[[topic:ignoring]]</span>
|
|
17
17
|
</span>
|
|
18
18
|
</button>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="btn-group bottom-sheet{{{ if !filters.length }}} hidden{{{ end }}}">
|
|
2
2
|
<button type="button" class="btn-ghost-sm d-flex gap-2 dropdown-toggle" data-bs-toggle="dropdown">
|
|
3
|
-
<i class="fa fa-fw fa-filter
|
|
3
|
+
<i class="fa fa-fw fa-filter text-primary"></i>
|
|
4
4
|
<span class="visible-md-inline visible-lg-inline fw-semibold">{selectedFilter.name}</span>
|
|
5
5
|
</button>
|
|
6
6
|
<ul class="dropdown-menu p-1 text-sm" role="menu">
|