diff --git a/plugins/plugins/core/components/ChatPage.js b/plugins/plugins/core/components/ChatPage.js index 9cb100cd..c996d325 100644 --- a/plugins/plugins/core/components/ChatPage.js +++ b/plugins/plugins/core/components/ChatPage.js @@ -1,52 +1,56 @@ -import { LitElement, html, css } from 'lit'; -import { animate } from '@lit-labs/motion'; -import { Epml } from '../../../epml.js'; -import { use, get, translate, registerTranslateConfig } from 'lit-translate'; +import { LitElement, html, css } from 'lit' +import { animate } from '@lit-labs/motion' +import { Epml } from '../../../epml.js' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' import { generateHTML } from '@tiptap/core' +import { unsafeHTML } from 'lit/directives/unsafe-html.js' +import { Editor, Extension } from '@tiptap/core' +import { escape } from 'html-escaper' +import { inputKeyCodes } from '../../utils/keyCodes.js' +import { replaceMessagesEdited } from '../../utils/replace-messages-edited.js' +import { publishData } from '../../utils/publish-image.js' +import { EmojiPicker } from 'emoji-picker-js' + +import * as zip from '@zip.js/zip.js' + +import localForage from 'localforage' import StarterKit from '@tiptap/starter-kit' -import Underline from '@tiptap/extension-underline'; +import Underline from '@tiptap/extension-underline' import Placeholder from '@tiptap/extension-placeholder' import Highlight from '@tiptap/extension-highlight' -import { unsafeHTML } from 'lit/directives/unsafe-html.js'; -import { Editor, Extension } from '@tiptap/core' -import * as zip from "@zip.js/zip.js"; -import './ChatGifs/ChatGifs.js'; +import WebWorker from 'web-worker:./computePowWorker.js' +import WebWorkerFile from 'web-worker:./computePowWorkerFile.js' +import ShortUniqueId from 'short-unique-id' +import Compressor from 'compressorjs' -import localForage from "localforage"; -registerTranslateConfig({ - loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) -}); -import ShortUniqueId from 'short-unique-id'; -import Compressor from 'compressorjs'; -import { escape } from 'html-escaper'; -import { inputKeyCodes } from '../../utils/keyCodes.js'; -import './ChatScroller.js'; -import './LevelFounder.js'; -import './NameMenu.js'; -import './TimeAgo.js'; -import './ChatTextEditor.js'; -import './WrapperModal.js'; -import './TipUser' +import './ChatScroller.js' +import './LevelFounder.js' +import './NameMenu.js' +import './TimeAgo.js' +import './ChatTextEditor.js' +import './WrapperModal.js' +import './TipUser.js' import './ChatSelect.js' import './ChatSideNavHeads.js' import './ChatLeaveGroup.js' import './ChatGroupSettings.js' import './ChatRightPanel.js' -import './ChatSeachResults.js'; -import '@polymer/paper-spinner/paper-spinner-lite.js'; -import '@material/mwc-button'; -import '@material/mwc-dialog'; -import '@material/mwc-icon'; -import { replaceMessagesEdited } from '../../utils/replace-messages-edited.js'; -import { publishData } from '../../utils/publish-image.js'; -import { EmojiPicker } from 'emoji-picker-js'; -import WebWorker from 'web-worker:./computePowWorker.js'; -import WebWorkerFile from 'web-worker:./computePowWorkerFile.js'; +import './ChatSeachResults.js' +import './ChatGifs/ChatGifs.js' + +import '@material/mwc-button' +import '@material/mwc-dialog' +import '@material/mwc-icon' import '@polymer/paper-dialog/paper-dialog.js' +import '@polymer/paper-spinner/paper-spinner-lite.js' + +registerTranslateConfig({ + loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) +}) const chatLastSeen = localForage.createInstance({ name: "chat-last-seen", -}); +}) const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) @@ -117,7 +121,7 @@ class ChatPage extends LitElement { } static get styles() { - return css` + return css` html { scroll-behavior: smooth; } @@ -308,10 +312,10 @@ class ChatPage extends LitElement { transform: scale(1.15); } - .chat-container { - display: grid; - max-height: 100%; - } + .chat-container { + display: grid; + max-height: 100%; + } .chat-text-area { display: flex; @@ -489,7 +493,7 @@ class ChatPage extends LitElement { 50% { opacity: 0.5; } -} + } .float-left { float: left; @@ -1319,7 +1323,7 @@ class ChatPage extends LitElement { showAnimation: false, position: 'top-start', boxShadow: 'rgba(4, 4, 5, 0.15) 0px 0px 0px 1px, rgba(0, 0, 0, 0.24) 0px 8px 16px 0px' - }); + }) this.openForwardOpen = false this.groupAdmin = [] this.groupMembers = [] @@ -1333,8 +1337,8 @@ class ChatPage extends LitElement { name: "", selected: false } - this.webWorker = null; - this.webWorkerFile = null; + this.webWorker = null + this.webWorkerFile = null this.currentEditor = '_chatEditorDOM' this.initialChat = this.initialChat.bind(this) this.setOpenGifModal = this.setOpenGifModal.bind(this) @@ -1348,27 +1352,26 @@ class ChatPage extends LitElement { } } - setOpenGifModal(value) { this.openGifModal = value } _toggle(value) { - this.shifted = value === (false || true) ? value : !this.shifted; + this.shifted = value === (false || true) ? value : !this.shifted this.requestUpdate() } setOpenTipUser(props) { - this.openTipUser = props; + this.openTipUser = props } setOpenUserInfo(props) { - this.openUserInfo = props; + this.openUserInfo = props } setUserName(props) { - this.userName = props.senderName ? props.senderName : props.sender; - this.setSelectedHead(props); + this.userName = props.senderName ? props.senderName : props.sender + this.setSelectedHead(props) } setSelectedHead(props) { @@ -1376,7 +1379,7 @@ class ChatPage extends LitElement { ...this.selectedHead, address: props.sender, name: props.senderName, - }; + } } toggleEnableChatEnter() { @@ -1389,11 +1392,9 @@ class ChatPage extends LitElement { } setGifsLoading(props) { - this.gifsLoading = props; + this.gifsLoading = props } - - render() { return html`
@@ -1459,7 +1460,6 @@ class ChatPage extends LitElement { this.shadowRoot.querySelector("chat-scroller").shadowRoot.getElementById("downObserver") .scrollIntoView({ behavior: 'smooth', - }); }}> @@ -1575,7 +1575,7 @@ class ChatPage extends LitElement { `: ''} { - this.removeImage(); + this.removeImage() }} style=${(this.imageFile && !this.isUploadingImage) ? "visibility:visible; z-index:50" : "visibility: hidden;z-index:-100"}>
@@ -1602,19 +1602,18 @@ class ChatPage extends LitElement {