Browse Source

fix error when pasting text add max byte condition

q-apps
Phillip Lang Martinez 2 years ago
parent
commit
3dfe102b73
  1. 3
      qortal-ui-core/language/us.json
  2. 33
      qortal-ui-plugins/plugins/core/components/ChatPage.js

3
qortal-ui-core/language/us.json

@ -487,7 +487,8 @@
"cchange25": "Edit Message", "cchange25": "Edit Message",
"cchange26": "File size exceeds 5 MB", "cchange26": "File size exceeds 5 MB",
"cchange27": "A registered name is required to send images", "cchange27": "A registered name is required to send images",
"cchange28": "This file is not an image" "cchange28": "This file is not an image",
"cchange29": "Maximum message size is 1000 bytes"
}, },
"welcomepage": { "welcomepage": {
"wcchange1": "Welcome to Q-Chat", "wcchange1": "Welcome to Q-Chat",

33
qortal-ui-plugins/plugins/core/components/ChatPage.js

@ -1512,10 +1512,10 @@ class ChatPage extends LitElement {
} else if (/^\s*$/.test(trimmedMessage)) { } else if (/^\s*$/.test(trimmedMessage)) {
this.isLoading = false; this.isLoading = false;
this.chatEditor.enable(); this.chatEditor.enable();
} else if (trimmedMessage.length >= 256) { } else if (this.chatMessageSize >= 1000) {
this.isLoading = false; this.isLoading = false;
this.chatEditor.enable(); this.chatEditor.enable();
let err1string = get("chatpage.cchange24"); let err1string = get("chatpage.cchange29");
parentEpml.request('showSnackBar', `${err1string}`); parentEpml.request('showSnackBar', `${err1string}`);
} else if (this.repliedToMessageObj) { } else if (this.repliedToMessageObj) {
let chatReference = this.repliedToMessageObj.reference let chatReference = this.repliedToMessageObj.reference
@ -1882,7 +1882,6 @@ class ChatPage extends LitElement {
for (let i = 0; i < events.length; i++) { for (let i = 0; i < events.length; i++) {
const event = events[i] const event = events[i]
editor.content.body.addEventListener(event, async function (e) { editor.content.body.addEventListener(event, async function (e) {
console.log("hello world12")
if (e.type === 'click') { if (e.type === 'click') {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
@ -1891,30 +1890,34 @@ class ChatPage extends LitElement {
if (e.type === 'paste') { if (e.type === 'paste') {
e.preventDefault(); e.preventDefault();
const item_list = await navigator.clipboard.read(); const item_list = await navigator.clipboard.read();
console.log({item_list})
let image_type; // we will feed this later let image_type; // we will feed this later
const item = item_list.find( item => // choose the one item holding our image const item = item_list.find( item => // choose the one item holding our image
item.types.some( type => { // does this item have our type item.types.some( type => {
if (type.startsWith( 'image/')) { if (type.startsWith( 'image/')) {
image_type = type; // store which kind of image type it is image_type = type;
return true; return true;
} }
}) })
); );
const blob = item && await item.getType( image_type ); if(item){
const blob = item && await item.getType( image_type );
var file = new File([blob], "name", { var file = new File([blob], "name", {
type: image_type type: image_type
}); });
editorConfig.insertImage(file) editorConfig.insertImage(file)
navigator.clipboard.readText().then(clipboardText => { } else {
let escapedText = editorConfig.escape(clipboardText); navigator.clipboard.readText().then(clipboardText => {
editor.insertText(escapedText); let escapedText = editorConfig.escape(clipboardText);
}).catch(err => { editor.insertText(escapedText);
// Fallback if everything fails... }).catch(err => {
let textData = (e.originalEvent || e).clipboardData.getData('text/plain'); // Fallback if everything fails...
editor.insertText(textData); let textData = (e.originalEvent || e).clipboardData.getData('text/plain');
}) editor.insertText(textData);
})
}
return false; return false;
} }

Loading…
Cancel
Save