nodebb-theme-harmony 1.1.94 → 1.1.96
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 +20 -6
- package/templates/account/categories.tpl +9 -1
- package/templates/account/settings.tpl +1 -1
- package/templates/partials/category/watch.tpl +17 -2
- package/templates/partials/chats/message.tpl +43 -15
- package/templates/partials/chats/pinned-messages-list.tpl +2 -2
package/package.json
CHANGED
package/scss/chats.scss
CHANGED
|
@@ -61,12 +61,26 @@ 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"]) {
|
|
74
|
+
opacity: 1;
|
|
75
|
+
}
|
|
76
|
+
[data-action="restore"], [data-action="unpin"] {
|
|
77
|
+
display: none;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
&:hover {
|
|
81
|
+
.controls {
|
|
82
|
+
opacity: 1;
|
|
83
|
+
}
|
|
70
84
|
}
|
|
71
85
|
}
|
|
72
86
|
}
|
|
@@ -77,7 +91,7 @@ body.page-user-chats {
|
|
|
77
91
|
}
|
|
78
92
|
|
|
79
93
|
[data-action="restore"] {
|
|
80
|
-
display:
|
|
94
|
+
display: block;
|
|
81
95
|
}
|
|
82
96
|
}
|
|
83
97
|
|
|
@@ -92,7 +106,7 @@ body.page-user-chats {
|
|
|
92
106
|
}
|
|
93
107
|
|
|
94
108
|
[data-action="unpin"] {
|
|
95
|
-
display:
|
|
109
|
+
display: block;
|
|
96
110
|
}
|
|
97
111
|
}
|
|
98
112
|
}
|
|
@@ -13,12 +13,20 @@
|
|
|
13
13
|
<ul class="dropdown-menu p-1 text-sm dropdown-menu-end">
|
|
14
14
|
<li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/watching" data-state="watching">
|
|
15
15
|
<div class="d-flex align-items-center gap-2">
|
|
16
|
-
<i class="flex-shrink-0 fa fa-fw fa-
|
|
16
|
+
<i class="flex-shrink-0 fa fa-fw fa-bell-o"></i>
|
|
17
17
|
<span class="flex-grow-1 fw-semibold">[[category:watching]]</span>
|
|
18
18
|
</div>
|
|
19
19
|
<div class="help-text text-muted text-xs">[[category:watching.description]]</div>
|
|
20
20
|
</a>
|
|
21
21
|
</li>
|
|
22
|
+
<li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/tracking" data-state="tracking">
|
|
23
|
+
<div class="d-flex align-items-center gap-2">
|
|
24
|
+
<i class="flex-shrink-0 fa fa-fw fa-inbox"></i>
|
|
25
|
+
<span class="flex-grow-1 fw-semibold">[[category:tracking]]</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="help-text text-muted text-xs">[[category:tracking.description]]</div>
|
|
28
|
+
</a>
|
|
29
|
+
</li>
|
|
22
30
|
<li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/notwatching" data-state="notwatching">
|
|
23
31
|
<div class="d-flex align-items-center gap-2">
|
|
24
32
|
<i class="flex-shrink-0 fa fa-fw fa-clock-o"></i>
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
<div class="mb-2">
|
|
191
191
|
<label class="form-label">[[user:default-category-watch-state]]</label>
|
|
192
192
|
<select class="form-select form-select-sm" data-property="categoryWatchState">
|
|
193
|
-
<option value="
|
|
193
|
+
<option value="tracking" {{{ if categoryWatchState.tracking }}}selected{{{ end }}}>[[category:tracking]]</option>
|
|
194
194
|
<option value="notwatching" {{{ if categoryWatchState.notwatching }}}selected{{{ end }}}>[[category:not-watching]]</option>
|
|
195
195
|
<option value="ignoring" {{{ if categoryWatchState.ignoring }}}selected{{{ end }}}>[[category:ignoring]]</option>
|
|
196
196
|
</select>
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
{{{ if config.loggedIn }}}
|
|
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
|
-
<span component="category/watching/menu" {{{ if !./isWatched }}}class="hidden"{{{ end }}}><i class="fa fa-fw fa-
|
|
4
|
+
<span component="category/watching/menu" {{{ if !./isWatched }}}class="hidden"{{{ end }}}><i class="fa fa-fw fa-bell-o text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold"> [[category:watching]]</span></span>
|
|
5
|
+
|
|
6
|
+
<span component="category/tracking/menu" {{{ if !./isTracked }}}class="hidden"{{{ end }}}><i class="fa fa-fw fa-inbox text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold"> [[category:tracking]]</span></span>
|
|
5
7
|
|
|
6
8
|
<span component="category/notwatching/menu" {{{ if !./isNotWatched }}}class="hidden"{{{ end }}}><i class="fa fa-fw fa-clock-o text-primary"></i><span class="visible-md-inline visible-lg-inline fw-semibold"> [[category:not-watching]]</span></span>
|
|
7
9
|
|
|
@@ -13,7 +15,7 @@
|
|
|
13
15
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="category/watching" data-state="watching">
|
|
14
16
|
<div class="flex-grow-1 d-flex flex-column">
|
|
15
17
|
<span class="d-flex align-items-center gap-2">
|
|
16
|
-
<i class="flex-shrink-0 fa fa-fw text-muted fa-
|
|
18
|
+
<i class="flex-shrink-0 fa fa-fw text-muted fa-bell-o"></i>
|
|
17
19
|
<span class="flex-grow-1 fw-semibold">[[category:watching]]</span>
|
|
18
20
|
</span>
|
|
19
21
|
<div class="help-text text-muted text-xs">[[category:watching.description]]</div>
|
|
@@ -22,6 +24,19 @@
|
|
|
22
24
|
</a>
|
|
23
25
|
</li>
|
|
24
26
|
|
|
27
|
+
<li>
|
|
28
|
+
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="category/tracking" data-state="tracking">
|
|
29
|
+
<div class="flex-grow-1 d-flex flex-column">
|
|
30
|
+
<span class="d-flex align-items-center gap-2">
|
|
31
|
+
<i class="flex-shrink-0 fa fa-fw text-muted fa-inbox"></i>
|
|
32
|
+
<span class="flex-grow-1 fw-semibold">[[category:tracking]]</span>
|
|
33
|
+
</span>
|
|
34
|
+
<div class="help-text text-muted text-xs">[[category:tracking.description]]</div>
|
|
35
|
+
</div>
|
|
36
|
+
<span class="flex-shrink-0"><i component="category/tracking/check" class="fa fa-fw {{{ if ./isTracked }}}fa-check{{{ end }}}"></i></span>
|
|
37
|
+
</a>
|
|
38
|
+
</li>
|
|
39
|
+
|
|
25
40
|
<li>
|
|
26
41
|
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2 p-2" href="#" component="category/notwatching" data-state="notwatching">
|
|
27
42
|
<div class="flex-grow-1 d-flex flex-column">
|
|
@@ -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 }}}
|