nodebb-theme-harmony 1.1.40 → 1.1.42

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-theme-harmony",
3
- "version": "1.1.40",
3
+ "version": "1.1.42",
4
4
  "nbbpm": {
5
5
  "compatibility": "^3.3.0"
6
6
  },
package/public/harmony.js CHANGED
@@ -152,6 +152,9 @@ $(document).ready(function () {
152
152
  }
153
153
  draftItems.reverse().forEach((draft) => {
154
154
  if (draft) {
155
+ if (draft.title) {
156
+ draft.title = utils.escapeHTML(String(draft.title));
157
+ }
155
158
  draft.text = utils.escapeHTML(
156
159
  draft.text
157
160
  ).replace(/(?:\r\n|\r|\n)/g, '<br>');
@@ -2,9 +2,9 @@
2
2
  <div class="modal-dialog">
3
3
  <div class="modal-content" component="chat/message/window">
4
4
  <div class="modal-header d-flex gap-4 justify-content-between">
5
- <div class="fs-6 flex-grow-1" component="chat/room/name" data-icon="{icon}">{{{ if ./roomName }}}<i class="fa {icon} text-muted"></i> {roomName}{{{ else }}}{./chatWithMessage}{{{ end}}}</div>
5
+ <div class="fs-6 flex-grow-1 fw-semibold tracking-tight text-truncate text-nowrap" component="chat/room/name" data-icon="{icon}">{{{ if ./roomName }}}<i class="fa {icon} text-muted"></i> {roomName}{{{ else }}}{./chatWithMessage}{{{ end}}}</div>
6
6
  <div class="d-flex gap-1 align-items-center">
7
- <button type="button" class="btn-ghost-sm d-none d-md-flex" data-action="maximize">
7
+ <button type="button" class="btn-ghost-sm d-none d-md-flex" data-action="maximize" title="[[modules:chat.maximize]]" data-bs-toggle="tooltip" data-bs-placement="bottom">
8
8
  <i class="fa fa-fw fa-expand text-muted"></i>
9
9
  </button>
10
10
 
@@ -3,13 +3,13 @@
3
3
  <div component="chat/composer/replying-to-text"></div> <button component="chat/composer/replying-to-cancel" class="btn-ghost-sm px-2 py-1"><i class="fa fa-times"></i></button>
4
4
  </div>
5
5
  <div class="w-100 flex-grow-1 flex-nowrap position-relative d-flex rounded-2 border border-secondary p-1 align-items-end">
6
- <button component="chat/upload/button" class="btn-ghost-sm px-2" type="button"><i class="fa fa-fw fa-upload"></i></button>
6
+ <button component="chat/upload/button" class="btn-ghost-sm px-2" type="button" title="[[global:upload]]" data-bs-toggle="tooltip"><i class="fa fa-fw fa-upload"></i></button>
7
7
  <div class="flex-grow-1 align-self-center">
8
8
  <textarea component="chat/input" placeholder="[[modules:chat.placeholder.mobile]]" class="bg-transparent text-body form-control chat-input mousetrap rounded-0 border-0 shadow-none ps-1 py-0" style="min-height: 1.5rem;height:0;max-height:30vh;resize:none;"></textarea>
9
9
  </div>
10
10
  <div class="d-flex gap-1">
11
11
  <div component="chat/message/remaining" class="text-xs text-muted me-1 align-self-center">{maximumChatMessageLength}</div>
12
- <button class="btn-ghost-sm px-2" type="button" data-action="send"><i class="fa fa-fw fa-paper-plane text-primary"></i></button>
12
+ <button class="btn-ghost-sm px-2" type="button" data-action="send" title="[[modules:chat.send]]" data-bs-toggle="tooltip"><i class="fa fa-fw fa-paper-plane text-primary"></i></button>
13
13
  </div>
14
14
  </div>
15
15
  <form class="hidden" component="chat/upload" method="post" enctype="multipart/form-data">
@@ -38,11 +38,11 @@
38
38
  <div component="chat/message/controls" class="position-relative">
39
39
  <div class="btn-group border shadow-sm controls position-absolute bg-body hover-d-block end-0" style="bottom:1rem;">
40
40
  <!-- IMPORT partials/chats/add-reaction.tpl -->
41
- <button class="btn btn-sm btn-link" data-action="reply"><i class="fa fa-reply"></i></button>
41
+ <button class="btn btn-sm btn-link" data-action="reply" title="[[topic:reply]]"><i class="fa fa-reply"></i></button>
42
42
  {{{ if (isAdminOrGlobalMod || (!config.disableChatMessageEditing && messages.self)) }}}
43
- <button class="btn btn-sm btn-link" data-action="edit"><i class="fa fa-pencil"></i></button>
44
- <button class="btn btn-sm btn-link" data-action="delete"><i class="fa fa-trash"></i></button>
45
- <button class="btn btn-sm btn-link" data-action="restore"><i class="fa fa-repeat"></i></button>
43
+ <button class="btn btn-sm btn-link" data-action="edit" title="[[topic:edit]]"><i class="fa fa-pencil"></i></button>
44
+ <button class="btn btn-sm btn-link" data-action="delete" title="[[topic:delete]]"><i class="fa fa-trash"></i></button>
45
+ <button class="btn btn-sm btn-link" data-action="restore" title="[[topic:restore]]"><i class="fa fa-repeat"></i></button>
46
46
  {{{ end }}}
47
47
  {{{ if isAdminOrGlobalMod }}}
48
48
  <button class="btn btn-sm btn-link chat-ip-button" title="[[modules:chat.show-ip]]"><i class="fa fa-info-circle"></i></button>