${key}
@@ -592,9 +586,9 @@ class ProfileModalUpdate extends connect(store)(LitElement) {
>
${translate('general.close')}
-
+
-
+
`
}
diff --git a/plugins/plugins/core/components/frag-file-input.js b/plugins/plugins/core/components/frag-file-input.js
index 17744b88..3afa739c 100644
--- a/plugins/plugins/core/components/frag-file-input.js
+++ b/plugins/plugins/core/components/frag-file-input.js
@@ -3,7 +3,7 @@ import {css, html, LitElement} from 'lit'
import '@material/mwc-button'
import '@material/mwc-icon'
-import {translate} from '../../../../core/translate/index.js'
+import {translate} from '../../../../core/translate'
class FragFileInput extends LitElement {
static get properties () {
diff --git a/plugins/plugins/core/components/qdn-action-encryption.js b/plugins/plugins/core/components/qdn-action-encryption.js
index 1165807a..cabd288a 100644
--- a/plugins/plugins/core/components/qdn-action-encryption.js
+++ b/plugins/plugins/core/components/qdn-action-encryption.js
@@ -91,18 +91,16 @@ export function uint8ArrayToObject(uint8Array) {
const jsonString = decoder.decode(uint8Array)
// Convert the JSON string back into an object
- const obj = JSON.parse(jsonString)
-
- return obj
+ return JSON.parse(jsonString)
}
export function objectToBase64(obj) {
// Step 1: Convert the object to a JSON string
const jsonString = JSON.stringify(obj);
-
+
// Step 2: Create a Blob from the JSON string
const blob = new Blob([jsonString], { type: 'application/json' });
-
+
// Step 3: Create a FileReader to read the Blob as a base64-encoded string
return new Promise((resolve, reject) => {
const reader = new FileReader();
@@ -128,8 +126,7 @@ export function uint8ArrayToObject(uint8Array) {
export const encryptData = ({ data64, recipientPublicKey }) => {
- const Uint8ArrayData = base64ToUint8Array(data64)
- const uint8Array = Uint8ArrayData
+ const uint8Array = base64ToUint8Array(data64)
if (!(uint8Array instanceof Uint8Array)) {
@@ -220,7 +217,7 @@ export const encryptDataGroup = ({ data64, publicKeys }) => {
const convertedPublicKey = ed2curve.convertPublicKey(publicKeyUnit8Array)
const sharedSecret = new Uint8Array(32)
- // the length of the sharedSecret will be 32 + 16
+ // the length of the sharedSecret will be 32 + 16
// When you're encrypting data using nacl.secretbox, it's adding an authentication tag to the result, which is 16 bytes long. This tag is used for verifying the integrity and authenticity of the data when it is decrypted
nacl.lowlevel.crypto_scalarmult(sharedSecret, convertedPrivateKey, convertedPublicKey)
@@ -264,8 +261,7 @@ export const encryptDataGroup = ({ data64, publicKeys }) => {
});
const countArray = new Uint8Array(new Uint32Array([publicKeysDuplicateFree.length]).buffer);
combinedData.set(countArray, combinedData.length - 4);
- const uint8arrayToData64 = uint8ArrayToBase64(combinedData)
- return uint8arrayToData64;
+ return uint8ArrayToBase64(combinedData);
} catch (error) {
throw new Error("Error in encrypting data")
@@ -317,8 +313,7 @@ export function decryptDeprecatedSingle(uint8Array, publicKey) {
if (!_decryptedData) {
throw new Error("Unable to decrypt")
}
- const decryptedDataToBase64 = uint8ArrayToBase64(_decryptedData)
- return decryptedDataToBase64
+ return uint8ArrayToBase64(_decryptedData)
}
export function decryptGroupData(data64EncryptedData) {
diff --git a/plugins/plugins/core/components/qdn-action-types.js b/plugins/plugins/core/components/qdn-action-types.js
index e6aeb21f..6a75af07 100644
--- a/plugins/plugins/core/components/qdn-action-types.js
+++ b/plugins/plugins/core/components/qdn-action-types.js
@@ -28,6 +28,9 @@ export const GET_USER_WALLET_INFO = 'GET_USER_WALLET_INFO';
// GET_CROSSCHAIN_SERVER_INFO action
export const GET_CROSSCHAIN_SERVER_INFO = 'GET_CROSSCHAIN_SERVER_INFO';
+// GET_TX_ACTIVITY_SUMMARY action
+export const GET_TX_ACTIVITY_SUMMARY = 'GET_TX_ACTIVITY_SUMMARY';
+
// GET_WALLET_BALANCE action
export const GET_WALLET_BALANCE = 'GET_WALLET_BALANCE';
diff --git a/plugins/plugins/core/components/qortal-info-view.js b/plugins/plugins/core/components/qortal-info-view.js
index 9c97050b..b7afb6a6 100644
--- a/plugins/plugins/core/components/qortal-info-view.js
+++ b/plugins/plugins/core/components/qortal-info-view.js
@@ -1,6 +1,6 @@
import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
-import {get, translate} from '../../../../core/translate/index.js'
+import {get, translate} from '../../../../core/translate'
import '@polymer/paper-dialog/paper-dialog.js'
import '@material/mwc-button'
import '@material/mwc-icon'
@@ -1298,13 +1298,11 @@ class QortalInfoView extends LitElement {
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
const fromNameUrl = `${nodeUrl}/names/${fromName}`
- const qortalNameInfo = await fetch(fromNameUrl).then(response => {
- return response.json()
- })
-
- this.nameAddressResult = qortalNameInfo
+ this.nameAddressResult = await fetch(fromNameUrl).then(response => {
+ return response.json()
+ })
const nameAddress = this.nameAddressResult.owner
- this.getAllWithAddress(nameAddress)
+ await this.getAllWithAddress(nameAddress)
}
async getAllWithAddress(myAddress) {
@@ -1325,11 +1323,9 @@ class QortalInfoView extends LitElement {
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
const infoAddressUrl = `${nodeUrl}/addresses/${infoAddress}`
- const qortalAddressInfo = await fetch(infoAddressUrl).then(response => {
- return response.json()
- })
-
- this.addressResult = qortalAddressInfo
+ this.addressResult = await fetch(infoAddressUrl).then(response => {
+ return response.json()
+ })
}
async getAddressUserAvatar(avatarAddress) {
@@ -1351,8 +1347,7 @@ class QortalInfoView extends LitElement {
}
})
- const myImageUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.imageName}/qortal_avatar?async=true&apiKey=${this.getApiKey()}`
- this.imageUrl = myImageUrl
+ this.imageUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.imageName}/qortal_avatar?async=true&apiKey=${this.getApiKey()}`
}
async getAddressUserBalance(balanceAddress) {
@@ -1378,28 +1373,22 @@ class QortalInfoView extends LitElement {
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
if (checkBlocks === 0) {
- let noMinterString = get("explorerpage.exp16")
- this.startMintTime = noMinterString
+ this.startMintTime = get("explorerpage.exp16")
} else {
const blockheightUrl = `${nodeUrl}/blocks/height`
- const currentBlockheight = await fetch(blockheightUrl).then(response => {
- return response.json()
- })
-
- this.actualBlockheight = currentBlockheight
+ this.actualBlockheight = await fetch(blockheightUrl).then(response => {
+ return response.json()
+ })
this.reduceBlockheight = this.addressResult.blocksMinted + this.addressResult.blocksMintedAdjustment
this.startMintBlockheight = (this.actualBlockheight - this.reduceBlockheight)
const startMintUrl = `${nodeUrl}/blocks/byheight/${this.startMintBlockheight}?includeOnlineSignatures=false`
- const startMintBlock = await fetch(startMintUrl).then(response => {
- return response.json()
- })
+ this.startMintBlock = await fetch(startMintUrl).then(response => {
+ return response.json()
+ })
- this.startMintBlock = startMintBlock
-
- const mintString = new Date(this.startMintBlock.timestamp).toLocaleDateString()
- this.startMintTime = mintString
+ this.startMintTime = new Date(this.startMintBlock.timestamp).toLocaleDateString()
}
}
@@ -1854,8 +1843,7 @@ class QortalInfoView extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
isEmptyArray(arr) {
@@ -1866,8 +1854,7 @@ class QortalInfoView extends LitElement {
}
round(number) {
- let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
- return result
+ return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
}
}
diff --git a/plugins/plugins/core/components/time-elements/extended-time-element.js b/plugins/plugins/core/components/time-elements/extended-time-element.js
index fce17b2d..874a1a89 100644
--- a/plugins/plugins/core/components/time-elements/extended-time-element.js
+++ b/plugins/plugins/core/components/time-elements/extended-time-element.js
@@ -75,7 +75,7 @@ export default class ExtendedTimeElement extends HTMLElement {
}
}
getFormattedDate() {
- return;
+
}
}
const titleFormatter = makeFormatter({
diff --git a/plugins/plugins/core/components/time-elements/index.js b/plugins/plugins/core/components/time-elements/index.js
index 8b3dbe4c..961c29d9 100644
--- a/plugins/plugins/core/components/time-elements/index.js
+++ b/plugins/plugins/core/components/time-elements/index.js
@@ -240,7 +240,7 @@ class ExtendedTimeElement extends HTMLElement {
}
}
getFormattedDate() {
- return;
+
}
}
const titleFormatter = makeFormatter({
diff --git a/plugins/plugins/core/components/webworkerDecodeMessages.js b/plugins/plugins/core/components/webworkerDecodeMessages.js
index 4c6af4f7..c12c004a 100644
--- a/plugins/plugins/core/components/webworkerDecodeMessages.js
+++ b/plugins/plugins/core/components/webworkerDecodeMessages.js
@@ -2379,7 +2379,7 @@ nacl.verify = function(x, y) {
// Zero length arguments are considered not equal.
if (x.length === 0 || y.length === 0) return false;
if (x.length !== y.length) return false;
- return (vn(x, 0, y, 0, x.length) === 0) ? true : false;
+ return (vn(x, 0, y, 0, x.length) === 0);
};
nacl.setPRNG = function(fn) {
diff --git a/plugins/plugins/core/group-management/group-management.src.js b/plugins/plugins/core/group-management/group-management.src.js
index a335cb3c..da426a27 100644
--- a/plugins/plugins/core/group-management/group-management.src.js
+++ b/plugins/plugins/core/group-management/group-management.src.js
@@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
import isElectron from 'is-electron'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import '../components/time-elements/index.js'
import '@material/mwc-button'
import '@material/mwc-dialog'
@@ -1374,8 +1374,7 @@ class GroupManagement extends LitElement {
this.filteredItems = []
const searchTerm = (e.target.value || '').trim()
const keys = ['groupName', 'description', 'owner']
- const filtered = this.publicGroups.filter((search) => keys.some((key) => search[key].toLowerCase().includes(searchTerm.toLowerCase())))
- this.filteredItems = filtered
+ this.filteredItems = this.publicGroups.filter((search) => keys.some((key) => search[key].toLowerCase().includes(searchTerm.toLowerCase())))
}}"
>
@@ -1724,29 +1723,25 @@ class GroupManagement extends LitElement {
let openG = await parentEpml.request('apiCall', {
url: `/groups?limit=0&reverse=true`
})
- let myGs = openG.filter(myG => myG.isOpen === true)
- return myGs
+ return openG.filter(myG => myG.isOpen === true)
}
const getPrivateGroups = async () => {
let privateG = await parentEpml.request('apiCall', {
url: `/groups?limit=0&reverse=true`
})
- let myPgs = privateG.filter(myP => myP.isOpen === false)
- return myPgs
+ return privateG.filter(myP => myP.isOpen === false)
}
const getJoinedGroups = async () => {
- let joinedG = await parentEpml.request('apiCall', {
- url: `/groups/member/${this.selectedAddress.address}`
- })
- return joinedG
+ return await parentEpml.request('apiCall', {
+ url: `/groups/member/${this.selectedAddress.address}`
+ })
}
const getGroupInfo = async (groupId) => {
- let joinedG = await parentEpml.request('apiCall', {
- url: `/groups/${groupId}`
- })
- return joinedG
+ return await parentEpml.request('apiCall', {
+ url: `/groups/${groupId}`
+ })
}
const getGroupInvites = async () => {
@@ -1769,14 +1764,16 @@ class GroupManagement extends LitElement {
clearTimeout(timerGroupInvites)
timerGroupInvites = setTimeout(getGroupInvites, 300000)
} else {
- this.myGroupInvites.map(a => {
+ const currentTime = Date.now()
+ this.myGroupInvites.forEach(a => {
+ if (a.expiry > currentTime) {
let callTheNewInviteUrl = `${nodeUrl}/groups/${a.groupId}`
fetch(callTheNewInviteUrl).then(res => {
return res.json()
}).then(jsonRes => {
myArrObj.push(jsonRes)
if (myArrObj.length) {
- myArrObj.map(b => {
+ myArrObj.forEach(b => {
const infoObjToAdd = {
invitee: a.invitee,
groupId: b.groupId,
@@ -1793,6 +1790,7 @@ class GroupManagement extends LitElement {
}
this.groupInvites = myInvitesObj
})
+ }
})
}
setTimeout(getGroupInvites, 300000)
@@ -1802,11 +1800,10 @@ class GroupManagement extends LitElement {
let _joinedGroups = await getJoinedGroups()
let _publicGroups = await getOpenPublicGroups()
let _privateGroups = await getPrivateGroups()
- let results = _publicGroups.filter(myOpenGroup => {
- let value = _joinedGroups.some(myJoinedGroup => myOpenGroup.groupId === myJoinedGroup.groupId)
- return !value
- });
- this.publicGroups = results
+ this.publicGroups = _publicGroups.filter(myOpenGroup => {
+ let value = _joinedGroups.some(myJoinedGroup => myOpenGroup.groupId === myJoinedGroup.groupId)
+ return !value
+ })
this.privateGroups = _privateGroups
this.joinedGroups = _joinedGroups
this.filteredItems = this.publicGroups
@@ -2245,13 +2242,11 @@ class GroupManagement extends LitElement {
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
const fromNameUrl = `${nodeUrl}/names/${_inviteMemberInfo}`
- const qortalNameInfo = await fetch(fromNameUrl).then(response => {
- return response.json()
- })
-
- this.nameAddressResult = qortalNameInfo
+ this.nameAddressResult = await fetch(fromNameUrl).then(response => {
+ return response.json()
+ })
const _inviteMemberNameInfo = this.nameAddressResult.owner
- this.createInviteGroupMember(_inviteMemberNameInfo, _nviteMemberTime, _inviteGroupId)
+ await this.createInviteGroupMember(_inviteMemberNameInfo, _nviteMemberTime, _inviteGroupId)
}
closeErrorDialog() {
@@ -2414,8 +2409,7 @@ class GroupManagement extends LitElement {
await fetch(callMembersUrl).then(res => {
return res.json()
}).then(data => {
- let groupMemberToParse = data
- groupMemberToParse.members.map(a => {
+ data.members.map(a => {
if (a.isAdmin === undefined) {
let callTheNewMember = a.member
let callSingleMemberUrl = `${nodeUrl}/names/address/${callTheNewMember}`
@@ -2488,7 +2482,7 @@ class GroupManagement extends LitElement {
})
if (this.bannedMembers.length === 0) {
- return
+
} else {
this.bannedMembers.map(a => {
let callTheBannedMember = a.offender
@@ -2539,7 +2533,7 @@ class GroupManagement extends LitElement {
})
if (this.groupInviteMembers.length === 0) {
- return
+
} else {
this.groupInviteMembers.map(a => {
let callTheInviteMember = a.invitee
@@ -2586,7 +2580,7 @@ class GroupManagement extends LitElement {
})
if (this.groupJoinMembers.length === 0) {
- return
+
} else {
this.groupJoinMembers.map(a => {
let callTheJoinMember = a.joiner
@@ -2695,14 +2689,11 @@ class GroupManagement extends LitElement {
renderRole(groupObj) {
if (groupObj.owner === this.selectedAddress.address) {
- let ownerstring = get("grouppage.gchange10")
- return ownerstring
+ return get("grouppage.gchange10")
} else if (groupObj.isAdmin === true) {
- let adminstring = get("grouppage.gchange52")
- return adminstring
+ return get("grouppage.gchange52")
} else {
- let memberstring = get("grouppage.gchange53")
- return memberstring
+ return get("grouppage.gchange53")
}
}
@@ -2710,7 +2701,8 @@ class GroupManagement extends LitElement {
if (groupObj.owner === this.selectedAddress.address) {
return html`
this.manageGroupOwner(groupObj)}>create ${translate("grouppage.gchange40")}`
} else if (groupObj.isAdmin === true) {
- return html`
this.manageGroupAdmin(groupObj)}>create ${translate("grouppage.gchange40")}`
+ return html`
this.manageGroupAdmin(groupObj)}>create ${translate("grouppage.gchange40")}
+
this.leaveGroup(groupObj)}>exit_to_app ${translate("grouppage.gchange50")}`
} else {
return html`
this.leaveGroup(groupObj)}>exit_to_app ${translate("grouppage.gchange50")}`
}
@@ -2779,11 +2771,10 @@ class GroupManagement extends LitElement {
this.isLoading = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
};
const validateReceiver = async () => {
@@ -2805,27 +2796,26 @@ class GroupManagement extends LitElement {
let groupdialog7 = get("grouppage.gchange4")
let groupdialog8 = get("grouppage.gchange5")
let groupdialog9 = get("grouppage.gchange13")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 22,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: createFeeInput,
- registrantAddress: this.selectedAddress.address,
- rGroupName: groupNameInput,
- rGroupDesc: groupDescInput,
- rGroupType: _groupTypeInput,
- rGroupApprovalThreshold: _groupApprovalInput,
- rGroupMinimumBlockDelay: _groupMinDelayInput,
- rGroupMaximumBlockDelay: _groupMaxDelayInput,
- lastReference: lastRef,
- groupdialog5: groupdialog5,
- groupdialog6: groupdialog6,
- groupdialog7: groupdialog7,
- groupdialog8: groupdialog8,
- groupdialog9: groupdialog9,
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 22,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: createFeeInput,
+ registrantAddress: this.selectedAddress.address,
+ rGroupName: groupNameInput,
+ rGroupDesc: groupDescInput,
+ rGroupType: _groupTypeInput,
+ rGroupApprovalThreshold: _groupApprovalInput,
+ rGroupMinimumBlockDelay: _groupMinDelayInput,
+ rGroupMaximumBlockDelay: _groupMaxDelayInput,
+ lastReference: lastRef,
+ groupdialog5: groupdialog5,
+ groupdialog6: groupdialog6,
+ groupdialog7: groupdialog7,
+ groupdialog8: groupdialog8,
+ groupdialog9: groupdialog9,
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -2869,7 +2859,7 @@ class GroupManagement extends LitElement {
this.isLoading = false
} else {
this.error = false
- validateReceiver()
+ await validateReceiver()
}
}
@@ -2891,11 +2881,10 @@ class GroupManagement extends LitElement {
this.isLoading = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
};
const validateReceiver = async () => {
@@ -2909,21 +2898,20 @@ class GroupManagement extends LitElement {
const makeTransactionRequest = async (lastRef) => {
let groupdialog1 = get("transactions.groupdialog1")
let groupdialog2 = get("transactions.groupdialog2")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 31,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: joinFeeInput,
- registrantAddress: this.selectedAddress.address,
- rGroupName: groupName,
- rGroupId: groupId,
- lastReference: lastRef,
- groupdialog1: groupdialog1,
- groupdialog2: groupdialog2
- },
- apiVersion: 2
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 31,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: joinFeeInput,
+ registrantAddress: this.selectedAddress.address,
+ rGroupName: groupName,
+ rGroupId: groupId,
+ lastReference: lastRef,
+ groupdialog1: groupdialog1,
+ groupdialog2: groupdialog2
+ },
+ apiVersion: 2
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -2946,7 +2934,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
this.resetDefaultSettings()
}
@@ -2957,11 +2945,10 @@ class GroupManagement extends LitElement {
this.isLoading = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
};
const validateReceiver = async () => {
@@ -2975,20 +2962,19 @@ class GroupManagement extends LitElement {
const makeTransactionRequest = async (lastRef) => {
let groupdialog3 = get("transactions.groupdialog3")
let groupdialog4 = get("transactions.groupdialog4")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 32,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: leaveFeeInput,
- registrantAddress: this.selectedAddress.address,
- rGroupName: groupName,
- rGroupId: groupId,
- lastReference: lastRef,
- groupdialog3: groupdialog3,
- groupdialog4: groupdialog4
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 32,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: leaveFeeInput,
+ registrantAddress: this.selectedAddress.address,
+ rGroupName: groupName,
+ rGroupId: groupId,
+ lastReference: lastRef,
+ groupdialog3: groupdialog3,
+ groupdialog4: groupdialog4
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3006,7 +2992,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
this.resetDefaultSettings()
}
@@ -3020,11 +3006,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3045,21 +3030,20 @@ class GroupManagement extends LitElement {
const myBanMemberDialog1 = get("managegroup.mg22")
const myBanMemberDialog2 = get("managegroup.mg23")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 26,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myMember,
- rGroupId: myGroupId,
- rBanReason: myReason,
- rBanTime: myBanTime,
- lastReference: myLastRef,
- banMemberDialog1: myBanMemberDialog1,
- banMemberDialog2: myBanMemberDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 26,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ rBanReason: myReason,
+ rBanTime: myBanTime,
+ lastReference: myLastRef,
+ banMemberDialog1: myBanMemberDialog1,
+ banMemberDialog2: myBanMemberDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3099,7 +3083,7 @@ class GroupManagement extends LitElement {
this.isLoading = false
} else {
this.error = false
- validateReceiver()
+ await validateReceiver()
}
}
@@ -3111,11 +3095,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3133,19 +3116,18 @@ class GroupManagement extends LitElement {
const myCancelBanMemberDialog1 = get("managegroup.mg29")
const myCancelBanMemberDialog2 = get("managegroup.mg30")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 27,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myMember,
- rGroupId: myGroupId,
- lastReference: myLastRef,
- cancelBanMemberDialog1: myCancelBanMemberDialog1,
- cancelBanMemberDialog2: myCancelBanMemberDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 27,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ lastReference: myLastRef,
+ cancelBanMemberDialog1: myCancelBanMemberDialog1,
+ cancelBanMemberDialog2: myCancelBanMemberDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3168,7 +3150,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
async createInviteGroupMember(_inviteMemberNameInfo, _nviteMemberTime, _inviteGroupId) {
@@ -3180,11 +3162,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3202,20 +3183,19 @@ class GroupManagement extends LitElement {
const myInviteMemberDialog1 = get("managegroup.mg40")
const myInviteMemberDialog2 = get("managegroup.mg41")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 29,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myMember,
- rGroupId: myGroupId,
- rInviteTime: myInviteTime,
- lastReference: myLastRef,
- inviteMemberDialog1: myInviteMemberDialog1,
- inviteMemberDialog2: myInviteMemberDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 29,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ rInviteTime: myInviteTime,
+ lastReference: myLastRef,
+ inviteMemberDialog1: myInviteMemberDialog1,
+ inviteMemberDialog2: myInviteMemberDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3240,7 +3220,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
async cancelInviteGroupMember(groupId) {
@@ -3252,11 +3232,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3274,20 +3253,19 @@ class GroupManagement extends LitElement {
const myCancelInviteDialog1 = get("managegroup.mg48")
const myCancelInviteDialog2 = get("managegroup.mg49")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 30,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- memberName: myName,
- recipient: myMember,
- rGroupId: myGroupId,
- lastReference: myLastRef,
- cancelInviteDialog1: myCancelInviteDialog1,
- cancelInviteDialog2: myCancelInviteDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 30,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ memberName: myName,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ lastReference: myLastRef,
+ cancelInviteDialog1: myCancelInviteDialog1,
+ cancelInviteDialog2: myCancelInviteDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3312,7 +3290,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
async createAcceptJoinGroupMember(joinObj) {
@@ -3324,11 +3302,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3346,20 +3323,19 @@ class GroupManagement extends LitElement {
const myInviteMemberDialog1 = get("managegroup.mg55")
const myInviteMemberDialog2 = get("managegroup.mg56")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 29,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myMember,
- rGroupId: myGroupId,
- rInviteTime: myInviteTime,
- lastReference: myLastRef,
- inviteMemberDialog1: myInviteMemberDialog1,
- inviteMemberDialog2: myInviteMemberDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 29,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ rInviteTime: myInviteTime,
+ lastReference: myLastRef,
+ inviteMemberDialog1: myInviteMemberDialog1,
+ inviteMemberDialog2: myInviteMemberDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3383,7 +3359,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
async kickJoinGroupMember(joinObj) {
@@ -3395,11 +3371,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3417,20 +3392,19 @@ class GroupManagement extends LitElement {
const myKickMemberDialog1 = get("managegroup.mg60")
const myKickMemberDialog2 = get("managegroup.mg61")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 28,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myMember,
- rGroupId: myGroupId,
- rBanReason: myReason,
- lastReference: myLastRef,
- kickMemberDialog1: myKickMemberDialog1,
- kickMemberDialog2: myKickMemberDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 28,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ rBanReason: myReason,
+ lastReference: myLastRef,
+ kickMemberDialog1: myKickMemberDialog1,
+ kickMemberDialog2: myKickMemberDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3454,7 +3428,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
async addGroupAdmin(groupId) {
@@ -3465,11 +3439,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3486,19 +3459,18 @@ class GroupManagement extends LitElement {
const myAddAdminDialog1 = get("managegroup.mg11")
const myAddAdminDialog2 = get("managegroup.mg12")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 24,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myMember,
- rGroupId: myGroupId,
- lastReference: myLastRef,
- addAdminDialog1: myAddAdminDialog1,
- addAdminDialog2: myAddAdminDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 24,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ lastReference: myLastRef,
+ addAdminDialog1: myAddAdminDialog1,
+ addAdminDialog2: myAddAdminDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3521,7 +3493,7 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
async kickGroupMember(groupId) {
@@ -3533,11 +3505,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3555,20 +3526,19 @@ class GroupManagement extends LitElement {
const myKickMemberDialog1 = get("managegroup.mg33")
const myKickMemberDialog2 = get("managegroup.mg34")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 28,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myMember,
- rGroupId: myGroupId,
- rBanReason: myReason,
- lastReference: myLastRef,
- kickMemberDialog1: myKickMemberDialog1,
- kickMemberDialog2: myKickMemberDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 28,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myMember,
+ rGroupId: myGroupId,
+ rBanReason: myReason,
+ lastReference: myLastRef,
+ kickMemberDialog1: myKickMemberDialog1,
+ kickMemberDialog2: myKickMemberDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3602,7 +3572,7 @@ class GroupManagement extends LitElement {
this.isLoading = false
} else {
this.error = false
- validateReceiver()
+ await validateReceiver()
}
}
@@ -3614,11 +3584,10 @@ class GroupManagement extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -3636,19 +3605,18 @@ class GroupManagement extends LitElement {
const myKickAdminDialog1 = get("managegroup.mg15")
const myKickAdminDialog2 = get("managegroup.mg16")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 25,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- recipient: myKickAdmin,
- rGroupId: myGroupId,
- lastReference: myLastRef,
- kickAdminDialog1: myKickAdminDialog1,
- kickAdminDialog2: myKickAdminDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 25,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ recipient: myKickAdmin,
+ rGroupId: myGroupId,
+ lastReference: myLastRef,
+ kickAdminDialog1: myKickAdminDialog1,
+ kickAdminDialog2: myKickAdminDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -3671,13 +3639,12 @@ class GroupManagement extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js b/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js
index fec02327..6fe47a15 100644
--- a/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js
+++ b/plugins/plugins/core/group-management/group-transaction/group-transaction.src.js
@@ -134,8 +134,7 @@ class GroupTransaction extends LitElement {
let tempUrl = document.location.href
let decodeTempUrl = decodeURI(tempUrl)
let splitedUrl = decodeTempUrl.split('?')
- let myGroupId = splitedUrl[1]
- this.addMintingAccountMessage = myGroupId
+ this.addMintingAccountMessage = splitedUrl[1]
}
getGroupIdFromURL()
diff --git a/plugins/plugins/core/messaging/q-chat/q-chat-css.src.js b/plugins/plugins/core/messaging/q-chat/q-chat-css.src.js
index 08408ca2..95c8afb9 100644
--- a/plugins/plugins/core/messaging/q-chat/q-chat-css.src.js
+++ b/plugins/plugins/core/messaging/q-chat/q-chat-css.src.js
@@ -1,483 +1,479 @@
import {css} from 'lit'
-export const qchatStyles = css`
- * {
- --mdc-theme-primary: rgb(3, 169, 244);
- --mdc-theme-secondary: var(--mdc-theme-primary);
- --paper-input-container-focus-color: var(--mdc-theme-primary);
- --mdc-theme-surface: var(--white);
- --mdc-dialog-content-ink-color: var(--black);
- --lumo-primary-text-color: rgb(0, 167, 245);
- --lumo-primary-color-50pct: rgba(0, 167, 245, 0.5);
- --lumo-primary-color-10pct: rgba(0, 167, 245, 0.1);
- --lumo-primary-color: hsl(199, 100%, 48%);
- --lumo-base-color: var(--white);
- --lumo-body-text-color: var(--black);
- --_lumo-grid-border-color: var(--border);
- --_lumo-grid-secondary-border-color: var(--border2);
- --mdc-dialog-min-width: 750px;
- }
+export const qchatStyles = css`
+ * {
+ --mdc-theme-primary: rgb(3, 169, 244);
+ --mdc-theme-secondary: var(--mdc-theme-primary);
+ --paper-input-container-focus-color: var(--mdc-theme-primary);
+ --mdc-theme-surface: var(--white);
+ --mdc-dialog-content-ink-color: var(--black);
+ --lumo-primary-text-color: rgb(0, 167, 245);
+ --lumo-primary-color-50pct: rgba(0, 167, 245, 0.5);
+ --lumo-primary-color-10pct: rgba(0, 167, 245, 0.1);
+ --lumo-primary-color: hsl(199, 100%, 48%);
+ --lumo-base-color: var(--white);
+ --lumo-body-text-color: var(--black);
+ --_lumo-grid-border-color: var(--border);
+ --_lumo-grid-secondary-border-color: var(--border2);
+ --mdc-dialog-min-width: 750px;
+ scrollbar-width: thin;
+ scrollbar-color: #6a6c75 #a1a1a1;
+ }
+
+ paper-spinner-lite {
+ height: 24px;
+ width: 24px;
+ --paper-spinner-color: var(--mdc-theme-primary);
+ --paper-spinner-stroke-width: 2px;
+ }
+
+ *,
+ *:before,
+ *:after {
+ box-sizing: border-box;
+ }
+
+ ul {
+ list-style: none;
+ padding: 0;
+ }
+
+ .container {
+ margin: 0 auto;
+ width: 100%;
+ background: var(--white);
+ }
+
+ .people-list {
+ width: 20vw;
+ float: left;
+ height: 100vh;
+ overflow-y: hidden;
+ border-right: 3px #ddd solid;
+ }
+
+ .people-list .blockedusers {
+ z-index: 1;
+ position: absolute;
+ bottom: 0;
+ width: 20vw;
+ background: var(--white);
+ border-right: 3px #ddd solid;
+ display: flex;
+ justify-content: space-between;
+ gap: 15px;
+ flex-direction: column;
+ padding: 5px 30px 0 30px;
+ }
+
+ .groups-button-container {
+ position: relative;
+ }
+
+ .groups-button {
+ width: 100%;
+ background-color: rgb(116, 69, 240);
+ border: none;
+ color: white;
+ font-weight: bold;
+ font-family: Roboto, sans-serif;
+ letter-spacing: 0.8px;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 5px;
+ gap: 10px;
+ padding: 5px 8px;
+ transition: all 0.1s ease-in-out;
+ }
+
+ .groups-button-notif {
+ position: absolute;
+ top: -10px;
+ right: -8px;
+ width: 25px;
+ border-radius: 50%;
+ height: 25px;
+ font-weight: bold;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-family: Montserrat, sans-serif;
+ font-size: 16px;
+ color: black;
+ background-color: rgb(51, 213, 0);
+ user-select: none;
+ transition: all 0.3s ease-in-out 0s;
+ }
+
+ .groups-button-notif:hover {
+ cursor: auto;
+ box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0;
+ }
+
+ .groups-button-notif:hover + .groups-button-notif-number {
+ display: block;
+ opacity: 1;
+ animation: fadeIn 0.6s;
+ }
+
+ @keyframes fadeIn {
+ from {
+ opacity: 0;
+ top: -10px;
+ }
+
+ to {
+ opacity: 1;
+ top: -60px;
+ }
+ }
+
+ .groups-button-notif-number {
+ position: absolute;
+ transform: translateX(-50%);
+ left: 50%;
+ width: 150px;
+ text-align: center;
+ border-radius: 3px;
+ padding: 5px 10px;
+ background-color: white;
+ color: black;
+ font-family: Roboto, sans-serif;
+ letter-spacing: 0.3px;
+ font-weight: 300;
+ display: none;
+ opacity: 0;
+ top: -60px;
+ box-shadow: rgb(216 216 216 / 25%) 0 6px 12px -2px, rgb(0 0 0 / 30%) 0 3px 7px -3px;
+ }
+
+ .groups-button:hover {
+ cursor: pointer;
+ filter: brightness(120%);
+ }
+
+ .people-list .search {
+ padding-top: 20px;
+ padding-left: 20px;
+ padding-right: 20px;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ justify-content: space-between;
+ }
+
+ .center {
+ margin: 0;
+ position: absolute;
+ padding-top: 12px;
+ left: 50%;
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%);
+ }
+
+ .people-list .create-chat {
+ border-radius: 5px;
+ border: none;
+ color: #fff;
+ width: 100%;
+ font-size: 15px;
+ text-align: center;
+ cursor: pointer;
+ display: flex;
+ flex: 0;
+ }
+
+ .people-list .create-chat:hover {
+ opacity: .8;
+ box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
+ }
+
+ .people-list ul {
+ padding: 0 0 60px 0;
+ height: 85vh;
+ overflow-y: auto;
+ overflow-x: hidden;
+ }
- paper-spinner-lite {
- height: 24px;
- width: 24px;
- --paper-spinner-color: var(--mdc-theme-primary);
- --paper-spinner-stroke-width: 2px;
- }
-
- *,
- *:before,
- *:after {
- box-sizing: border-box;
- }
-
- ul {
- list-style: none;
- padding: 0;
- }
-
- .container {
- margin: 0 auto;
- width: 100%;
- background: var(--white);
- }
-
- .people-list {
- width: 20vw;
- float: left;
- height: 100vh;
- overflow-y: hidden;
- border-right: 3px #ddd solid;
- }
-
- .people-list .blockedusers {
- z-index: 1;
- position: absolute;
- bottom: 0;
- width: 20vw;
- background: var(--white);
- border-right: 3px #ddd solid;
- display: flex;
- justify-content: space-between;
- gap: 15px;
- flex-direction: column;
- padding: 5px 30px 0 30px;
- }
-
- .groups-button-container {
- position: relative;
- }
-
- .groups-button {
- width: 100%;
- background-color: rgb(116, 69, 240);
- border: none;
- color: white;
- font-weight: bold;
- font-family: 'Roboto';
- letter-spacing: 0.8px;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 5px;
- gap: 10px;
- padding: 5px 8px;
- transition: all 0.1s ease-in-out;
- }
-
- .groups-button-notif {
- position: absolute;
- top: -10px;
- right: -8px;
- width: 25px;
- border-radius: 50%;
- height: 25px;
- font-weight: bold;
- display: flex;
- align-items: center;
- justify-content: center;
- font-family: Montserrat, sans-serif;
- font-size: 16px;
- font-weight: bold;
- color: black;
- background-color: rgb(51, 213, 0);
- user-select: none;
- transition: all 0.3s ease-in-out 0s;
- }
-
- .groups-button-notif:hover {
- cursor: auto;
- box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
- }
-
- .groups-button-notif:hover + .groups-button-notif-number {
- display: block;
- opacity: 1;
- animation: fadeIn 0.6s;
-}
-
-@keyframes fadeIn {
- from {
- opacity: 0;
- top: -10px;
- }
-
- to {
- opacity: 1;
- top: -60px;
- }
-}
-
- .groups-button-notif-number {
- position: absolute;
- transform: translateX(-50%);
- left: 50%;
- width: 150px;
- text-align: center;
- border-radius: 3px;
- padding: 5px 10px;
- background-color: white;
- color: black;
- font-family: Roboto, sans-serif;
- letter-spacing: 0.3px;
- font-weight: 300;
- display: none;
- opacity: 0;
- top: -60px;
- box-shadow: rgb(216 216 216 / 25%) 0px 6px 12px -2px, rgb(0 0 0 / 30%) 0px 3px 7px -3px;
- }
-
- .groups-button:hover {
- cursor: pointer;
- filter: brightness(120%);
- }
-
- .people-list .search {
- padding-top: 20px;
- padding-left: 20px;
- padding-right: 20px;
- display: flex;
- align-items: center;
- gap: 10px;
- justify-content: space-between;
- }
-
- .center {
- margin: 0;
- position: absolute;
- padding-top: 12px;
- left: 50%;
- -ms-transform: translateX(-50%);
- transform: translateX(-50%);
- }
-
- .people-list .create-chat {
- border-radius: 5px;
- border: none;
- display: inline-block;
- color: #fff;
- width: 100%;
- font-size: 15px;
- text-align: center;
- cursor: pointer;
- display: flex;
- flex: 0;
- }
-
- .people-list .create-chat:hover {
- opacity: .8;
- box-shadow: 0 3px 5px rgba(0, 0, 0, .2);
- }
-
- .people-list ul {
- padding: 0px 0px 60px 0px;
- height: 85vh;
- overflow-y: auto;
- overflow-x: hidden;
- }
-
- .people-list ul::-webkit-scrollbar-track {
- background-color: whitesmoke;
- border-radius: 7px;
+ .people-list ul::-webkit-scrollbar-track {
+ background: #a1a1a1;
}
.people-list ul::-webkit-scrollbar {
- width: 6px;
- border-radius: 7px;
- background-color: whitesmoke;
+ width: 11px;
}
.people-list ul::-webkit-scrollbar-thumb {
- background-color: rgb(180, 176, 176);
- border-radius: 7px;
- transition: all 0.3s ease-in-out;
+ background-color: #6a6c75;
+ border-radius: 6px;
+ border: 3px solid #a1a1a1;
}
- .chat {
- width: 80vw;
- height: 100vh;
- float: left;
- background: var(--white);
- border-top-right-radius: 5px;
- border-bottom-right-radius: 5px;
- color: #434651;
- box-sizing: border-box;
- }
+ .chat {
+ width: 80vw;
+ height: 100vh;
+ float: left;
+ background: var(--white);
+ border-top-right-radius: 5px;
+ border-bottom-right-radius: 5px;
+ color: #434651;
+ box-sizing: border-box;
+ }
- .chat .new-message-bar {
- display: flex;
- flex: 0 1 auto;
- align-items: center;
- justify-content: space-between;
- padding: 0px 25px;
- font-size: 14px;
- font-weight: 500;
- top: 0;
- position: absolute;
- left: 20vw;
- right: 0;
- z-index: 5;
- background: var(--tradehead);
- color: var(--white);
- border-radius: 0 0 8px 8px;
- min-height: 25px;
- transition: opacity .15s;
- text-transform: capitalize;
- opacity: .85;
- cursor: pointer;
- }
-
- .chat .new-message-bar:hover {
- opacity: .75;
- transform: translateY(-1px);
- box-shadow: 0 3px 7px rgba(0, 0, 0, .2);
- }
-
- .hide-new-message-bar {
- display: none !important;
- }
-
- .chat .chat-history {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 100%;
- left: 20vw;
- border-bottom: 2px solid var(--white);
- overflow-y: hidden;
- height: 100vh;
- box-sizing: border-box;
- }
-
- .chat .chat-message {
- padding: 10px;
- height: 10%;
- display: inline-block;
- width: 100%;
- background-color: #eee;
- }
-
- .chat .chat-message textarea {
- width: 90%;
- border: none;
- font-size: 16px;
- padding: 10px 20px;
- border-radius: 5px;
- resize: none;
- }
-
- .chat .chat-message button {
- float: right;
- color: #94c2ed;
- font-size: 16px;
- text-transform: uppercase;
- border: none;
- cursor: pointer;
- font-weight: bold;
- background: #f2f5f8;
- padding: 10px;
- margin-top: 4px;
- margin-right: 4px;
- }
-
- .chat .chat-message button:hover {
- color: #75b1e8;
- }
-
- .online,
- .offline,
- .me {
- margin-right: 3px;
- font-size: 10px;
- }
-
- .clearfix:after {
- visibility: hidden;
- display: block;
- font-size: 0;
- content: " ";
- clear: both;
- height: 0;
- }
-
- .red {
- --mdc-theme-primary: red;
- }
-
- h2 {
- margin:0;
- }
-
- h2, h3, h4, h5 {
- color: var(--black);
- font-weight: 400;
- }
-
- [hidden] {
- display: hidden !important;
- visibility: none !important;
- }
-
- .details {
- display: flex;
- font-size: 18px;
- }
-
- .title {
- font-weight:600;
- font-size:12px;
- line-height: 32px;
- opacity: 0.66;
- }
-
- .textarea {
- width: 100%;
- border: none;
- display: inline-block;
- font-size: 16px;
- padding: 10px 20px;
- border-radius: 5px;
- height: 120px;
- resize: none;
- background: #eee;
- }
-
- .dialog-container {
- position: relative;
- display: flex;
- align-items: center;
- flex-direction: column;
- padding: 0 10px;
- gap: 10px;
- height: 100%;
- }
-
- .dialog-header {
- color: var(--chat-bubble-msg-color);
- }
-
- .dialog-subheader {
- color: var(--chat-bubble-msg-color);
- }
-
- .modal-button-row {
- display: flex;
- align-items: center;
- justify-content: space-between;
- width: 100%;
- }
-
- .modal-button {
- font-family: Roboto, sans-serif;
- font-size: 16px;
- color: var(--mdc-theme-primary);
- background-color: transparent;
- padding: 8px 10px;
- border-radius: 5px;
- border: none;
- transition: all 0.3s ease-in-out;
- }
-
- .modal-button-red {
- font-family: Roboto, sans-serif;
- font-size: 16px;
- color: #F44336;
- background-color: transparent;
- padding: 8px 10px;
- border-radius: 5px;
- border: none;
- transition: all 0.3s ease-in-out;
- }
-
- .modal-button-red:hover {
- cursor: pointer;
- background-color: #f4433663;
- }
-
- .modal-button:hover {
- cursor: pointer;
- background-color: #03a8f475;
- }
-
- .name-input {
- width: 100%;
- outline: 0;
- border-width: 0 0 2px;
- border-color: var(--mdc-theme-primary);
- background-color: transparent;
- padding: 10px;
- font-family: Roboto, sans-serif;
- font-size: 15px;
- color: var(--chat-bubble-msg-color);
- box-sizing: border-box;
- }
-
- .name-input::selection {
+ .chat .new-message-bar {
+ display: flex;
+ flex: 0 1 auto;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 25px;
+ font-size: 14px;
+ font-weight: 500;
+ top: 0;
+ position: absolute;
+ left: 20vw;
+ right: 0;
+ z-index: 5;
+ background: var(--tradehead);
+ color: var(--white);
+ border-radius: 0 0 8px 8px;
+ min-height: 25px;
+ transition: opacity .15s;
+ text-transform: capitalize;
+ opacity: .85;
+ cursor: pointer;
+ }
+
+ .chat .new-message-bar:hover {
+ opacity: .75;
+ transform: translateY(-1px);
+ box-shadow: 0 3px 7px rgba(0, 0, 0, .2);
+ }
+
+ .hide-new-message-bar {
+ display: none !important;
+ }
+
+ .chat .chat-history {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 100%;
+ left: 20vw;
+ border-bottom: 2px solid var(--white);
+ overflow-y: hidden;
+ height: 100vh;
+ box-sizing: border-box;
+ }
+
+ .chat .chat-message {
+ padding: 10px;
+ height: 10%;
+ display: inline-block;
+ width: 100%;
+ background-color: #eee;
+ }
+
+ .chat .chat-message textarea {
+ width: 90%;
+ border: none;
+ font-size: 16px;
+ padding: 10px 20px;
+ border-radius: 5px;
+ resize: none;
+ }
+
+ .chat .chat-message button {
+ float: right;
+ color: #94c2ed;
+ font-size: 16px;
+ text-transform: uppercase;
+ border: none;
+ cursor: pointer;
+ font-weight: bold;
+ background: #f2f5f8;
+ padding: 10px;
+ margin-top: 4px;
+ margin-right: 4px;
+ }
+
+ .chat .chat-message button:hover {
+ color: #75b1e8;
+ }
+
+ .online,
+ .offline,
+ .me {
+ margin-right: 3px;
+ font-size: 10px;
+ }
+
+ .clearfix:after {
+ visibility: hidden;
+ display: block;
+ font-size: 0;
+ content: " ";
+ clear: both;
+ height: 0;
+ }
+
+ .red {
+ --mdc-theme-primary: red;
+ }
+
+ h2 {
+ margin:0;
+ }
+
+ h2, h3, h4, h5 {
+ color: var(--black);
+ font-weight: 400;
+ }
+
+ [hidden] {
+ display: hidden !important;
+ visibility: none !important;
+ }
+
+ .details {
+ display: flex;
+ font-size: 18px;
+ }
+
+ .title {
+ font-weight:600;
+ font-size:12px;
+ line-height: 32px;
+ opacity: 0.66;
+ }
+
+ .textarea {
+ width: 100%;
+ border: none;
+ display: inline-block;
+ font-size: 16px;
+ padding: 10px 20px;
+ border-radius: 5px;
+ height: 120px;
+ resize: none;
+ background: #eee;
+ }
+
+ .dialog-container {
+ position: relative;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ padding: 0 10px;
+ gap: 10px;
+ height: 100%;
+ }
+
+ .dialog-header {
+ color: var(--chat-bubble-msg-color);
+ }
+
+ .dialog-subheader {
+ color: var(--chat-bubble-msg-color);
+ }
+
+ .modal-button-row {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ width: 100%;
+ }
+
+ .modal-button {
+ font-family: Roboto, sans-serif;
+ font-size: 16px;
+ color: var(--mdc-theme-primary);
+ background-color: transparent;
+ padding: 8px 10px;
+ border-radius: 5px;
+ border: none;
+ transition: all 0.3s ease-in-out;
+ }
+
+ .modal-button-red {
+ font-family: Roboto, sans-serif;
+ font-size: 16px;
+ color: #F44336;
+ background-color: transparent;
+ padding: 8px 10px;
+ border-radius: 5px;
+ border: none;
+ transition: all 0.3s ease-in-out;
+ }
+
+ .modal-button-red:hover {
+ cursor: pointer;
+ background-color: #f4433663;
+ }
+
+ .modal-button:hover {
+ cursor: pointer;
+ background-color: #03a8f475;
+ }
+
+ .name-input {
+ width: 100%;
+ outline: 0;
+ border-width: 0 0 2px;
+ border-color: var(--mdc-theme-primary);
+ background-color: transparent;
+ padding: 10px;
+ font-family: Roboto, sans-serif;
+ font-size: 15px;
+ color: var(--chat-bubble-msg-color);
+ box-sizing: border-box;
+ }
+
+ .name-input::selection {
background-color: var(--mdc-theme-primary);
color: white;
- }
-
- .name-input::placeholder {
- opacity: 0.9;
- color: var(--black);
- }
-
- .search-field {
- width: 100%;
- position: relative;
- }
-
- .search-icon {
- position: absolute;
- right: 3px;
- color: var(--chat-bubble-msg-color);
- transition: all 0.3s ease-in-out;
- background: none;
- border-radius: 50%;
- padding: 6px 3px;
- font-size: 21px;
- }
-
- .search-icon:hover {
- cursor: pointer;
- background: #d7d7d75c;
- }
-
- .search-results-div {
- position: absolute;
- top: 25px;
- right: 25px;
- }
-
- .user-verified {
- position: absolute;
- top: 0;
- right: 5px;
- display: flex;
- align-items: center;
- gap: 10px;
- color: #04aa2e;
- font-size: 13px;
- }
-`
+ }
+
+ .name-input::placeholder {
+ opacity: 0.9;
+ color: var(--black);
+ }
+
+ .search-field {
+ width: 100%;
+ position: relative;
+ }
+
+ .search-icon {
+ position: absolute;
+ right: 3px;
+ color: var(--chat-bubble-msg-color);
+ transition: all 0.3s ease-in-out;
+ background: none;
+ border-radius: 50%;
+ padding: 6px 3px;
+ font-size: 21px;
+ }
+
+ .search-icon:hover {
+ cursor: pointer;
+ background: #d7d7d75c;
+ }
+
+ .search-results-div {
+ position: absolute;
+ top: 25px;
+ right: 25px;
+ }
+ .user-verified {
+ position: absolute;
+ top: 0;
+ right: 5px;
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ color: #04aa2e;
+ font-size: 13px;
+ }
+`
\ No newline at end of file
diff --git a/plugins/plugins/core/messaging/q-chat/q-chat.src.js b/plugins/plugins/core/messaging/q-chat/q-chat.src.js
index 6dc84422..202f2cbf 100644
--- a/plugins/plugins/core/messaging/q-chat/q-chat.src.js
+++ b/plugins/plugins/core/messaging/q-chat/q-chat.src.js
@@ -2,7 +2,7 @@ import {html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {passiveSupport} from 'passive-events-support/src/utils'
import {Epml} from '../../../../epml.js'
-import {get, translate} from '../../../../../core/translate/index.js'
+import {get, translate} from '../../../../../core/translate'
import {qchatStyles} from './q-chat-css.src.js'
import {Editor, Extension} from '@tiptap/core'
import isElectron from 'is-electron'
@@ -12,7 +12,7 @@ import Underline from '@tiptap/extension-underline';
import Placeholder from '@tiptap/extension-placeholder'
import Highlight from '@tiptap/extension-highlight'
import snackbar from '../../components/snackbar.js'
-import ShortUniqueId from 'short-unique-id';
+import ShortUniqueId from 'short-unique-id'
import '../../components/ChatWelcomePage.js'
import '../../components/ChatHead.js'
@@ -26,977 +26,961 @@ import '@material/mwc-icon'
import '@material/mwc-snackbar'
import '@polymer/paper-spinner/paper-spinner-lite.js'
import '@vaadin/grid'
-import '@vaadin/tooltip';
-
+import '@vaadin/tooltip'
passiveSupport({ events: ['touchstart'] })
const parentEpml = new Epml({ type: 'WINDOW', source: window.parent })
class Chat extends LitElement {
- static get properties() {
- return {
- selectedAddress: { type: Object },
- chatTitle: { type: String },
- chatHeads: { type: Array },
- chatHeadsObj: { type: Object },
- chatId: { type: String },
- messages: { type: Array },
- btnDisable: { type: Boolean },
- isLoading: { type: Boolean },
- balance: { type: Number },
- theme: { type: String, reflect: true },
- blockedUsers: { type: Array },
- blockedUserList: { type: Array },
- privateMessagePlaceholder: { type: String},
- imageFile: { type: Object },
- activeChatHeadUrl: { type: String },
- openPrivateMessage: { type: Boolean },
- userFound: { type: Array},
- userFoundModalOpen: { type: Boolean },
- userSelected: { type: Object },
- editor: {type: Object},
- groupInvites: { type: Array },
- loggedInUserName: {type: String},
- loggedInUserAddress: {type: String},
- openDialogGroupsModal: {type: Boolean}
- }
- }
+ static get properties() {
+ return {
+ selectedAddress: { type: Object },
+ chatTitle: { type: String },
+ chatHeads: { type: Array },
+ chatHeadsObj: { type: Object },
+ chatId: { type: String },
+ messages: { type: Array },
+ btnDisable: { type: Boolean },
+ isLoading: { type: Boolean },
+ balance: { type: Number },
+ theme: { type: String, reflect: true },
+ blockedUsers: { type: Array },
+ blockedUserList: { type: Array },
+ privateMessagePlaceholder: { type: String},
+ imageFile: { type: Object },
+ activeChatHeadUrl: { type: String },
+ openPrivateMessage: { type: Boolean },
+ userFound: { type: Array},
+ userFoundModalOpen: { type: Boolean },
+ userSelected: { type: Object },
+ editor: {type: Object},
+ groupInvites: { type: Array },
+ loggedInUserName: {type: String},
+ loggedInUserAddress: {type: String},
+ openDialogGroupsModal: {type: Boolean}
+ }
+ }
- static get styles() {
+ static get styles() {
return [qchatStyles];
}
- constructor() {
- super()
- this.selectedAddress = window.parent.reduxStore.getState().app.selectedAddress
- this.config = {
- user: {
- node: {
- }
- }
- }
- this.chatTitle = ""
- this.chatHeads = []
- this.chatHeadsObj = {}
- this.chatId = ''
- this.balance = 1
- this.messages = []
- this.btnDisable = false
- this.isLoading = false
- this.showNewMessageBar = this.showNewMessageBar.bind(this)
- this.hideNewMessageBar = this.hideNewMessageBar.bind(this)
- this.setOpenPrivateMessage = this.setOpenPrivateMessage.bind(this)
- this._sendMessage = this._sendMessage.bind(this)
- this.insertImage = this.insertImage.bind(this)
- this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
- this.blockedUsers = []
- this.blockedUserList = []
- this.privateMessagePlaceholder = ""
- this.imageFile = null
- this.activeChatHeadUrl = ''
- this.openPrivateMessage = false
- this.userFound = []
- this.userFoundModalOpen = false
- this.userSelected = {}
- this.groupInvites = []
- this.loggedInUserName = ""
- this.openDialogGroupsModal = false
- this.uid = new ShortUniqueId();
-
- }
-
- async setActiveChatHeadUrl(url) {
- this.activeChatHeadUrl = url
- this.requestUpdate()
- }
-
- resetChatEditor(){
- this.editor.commands.setContent('')
- }
-
- async getUpdateCompleteTextEditor() {
- await super.getUpdateComplete()
- const marginElements = Array.from(this.shadowRoot.querySelectorAll('chat-text-editor'))
- await Promise.all(marginElements.map(el => el.updateComplete))
- const marginElements2 = Array.from(this.shadowRoot.querySelectorAll('wrapper-modal'))
- await Promise.all(marginElements2.map(el => el.updateComplete))
- return true
- }
-
- async connectedCallback() {
- super.connectedCallback()
- await this.getUpdateCompleteTextEditor()
-
- const elementChatId = this.shadowRoot.getElementById('messageBox').shadowRoot.getElementById('privateMessage')
- this.editor = new Editor({
- onUpdate: ()=> {
- this.shadowRoot.getElementById('messageBox').getMessageSize(this.editor.getJSON())
- },
- element: elementChatId,
- extensions: [
- StarterKit,
- Underline,
- Highlight,
- Placeholder.configure({
- placeholder: 'Write something …',
- }),
- Extension.create({
- addKeyboardShortcuts:()=> {
- return {
- 'Enter': ()=> {
- const chatTextEditor = this.shadowRoot.getElementById('messageBox')
- chatTextEditor.sendMessageFunc({
- })
- return true
- }
- }
- }})
- ]
- })
-
- this.unsubscribeStore = window.parent.reduxStore.subscribe(() => {
- try {
- const currentState = window.parent.reduxStore.getState();
-
- if(window.parent.location && window.parent.location.search) {
- const queryString = window.parent.location.search
- const params = new URLSearchParams(queryString)
- const chat = params.get("chat")
- if(chat && chat !== this.activeChatHeadUrl){
- let url = window.parent.location.href
- let newUrl = url.split("?")[0]
- window.parent.history.pushState({}, "", newUrl)
- this.setActiveChatHeadUrl(chat)
- }
- }
- if(currentState.app.accountInfo && currentState.app.accountInfo.names && currentState.app.accountInfo.names.length > 0 && this.loggedInUserName !== currentState.app.accountInfo.names[0].name){
- this.loggedInUserName = currentState.app.accountInfo.names[0].name
- }
- if(currentState.app.accountInfo && currentState.app.accountInfo.addressInfo && currentState.app.accountInfo.addressInfo.address && this.loggedInUserAddress !== currentState.app.accountInfo.addressInfo.address){
- this.loggedInUserAddress = currentState.app.accountInfo.addressInfo.address
- }
- } catch (error) { /* empty */ }
- })
- }
-
- disconnectedCallback() {
- super.disconnectedCallback()
- this.editor.destroy()
- this.unsubscribeStore()
- }
-
- updatePlaceholder(editor, text) {
- editor.extensionManager.extensions.forEach((extension) => {
- if (extension.name === "placeholder") {
-
- extension.options["placeholder"] = text
- editor.commands.focus('end')
- }
- })
- }
-
- setOpenDialogGroupsModal(val){
- this.openDialogGroupsModal = val
- }
-
- openTabToGroupManagement(){
- window.parent.reduxStore.dispatch(
- window.parent.reduxAction.setNewTab({
- url: `group-management`,
- id: this.uid.rnd(),
- myPlugObj: {
- "url": "group-management",
- "domain": "core",
- "page": "group-management/index.html",
- "title": "Group Management",
- "icon": "vaadin:group",
- "mwcicon": "group",
- "pluginNumber": "plugin-fJZNpyLGTl",
- "menus": [],
- "parent": false
- },
- openExisting: true
- })
- );
- }
-
- render() {
- return html`
-
-
-
-
{ this.openPrivateMessage = true }}>
- edit_square
-
-
-
-
-
-
{ this.openTabToGroupManagement() }}>
- group_add
-
-
-
-
{ this.shadowRoot.querySelector('#blockedUserDialog').show() }}>
- person_off
-
-
-
-
-
-
- ${this.isEmptyArray(this.chatHeads) ? this.renderLoadingText() : this.renderChatHead(this.chatHeads)}
-
-
-
-
-
this.scrollToBottom()}>
- ${translate("chatpage.cchange4")}
- ${translate("chatpage.cchange5")} keyboard_arrow_down
-
-
-
- ${this.activeChatHeadUrl ? html`${this.renderChatPage()}` : html`${this.renderChatWelcomePage()}`}
-
-
-
-
{
- this.resetChatEditor()
- this.openPrivateMessage = false
- this.shadowRoot.getElementById('sendTo').value = ""
- this.userFoundModalOpen = false;
- this.userFound = []
- } }
- style=${this.openPrivateMessage ? "visibility:visible;z-index:50" : "visibility: hidden;z-index:-100;position: relative"}>
-
-
-
-
-
-
{
- this.userSelected = {}
- this.requestUpdate()
- }}
- />
- ${this.userSelected.name ? (
- html`
-
-
${translate("chatpage.cchange38")}
-
-
- `
- ) : (
- html`
-
-
- `
- )}
-
-
-
this.updatePlaceholder(editor, value)}
- >
-
-
-
-
- {
- this.userSelected = result;
- this.userFound = [];
- this.userFoundModalOpen = false;
- }}
- .closeFunc=${() => {
- this.userFoundModalOpen = false;
- this.userFound = [];
- }}
- .searchResults=${this.userFound}
- ?isOpen=${this.userFoundModalOpen}
- ?loading=${this.isLoading}>
-
-
-
-
-
-
-
-
-
${translate("chatpage.cchange10")}
-
-
-
-
- {
- if (data.item.name === "No registered name") {
- render(html`${translate("chatpage.cchange15")}`, root)
- } else {
- render(html`${data.item.name}`, root)
- }
- }}>
-
-
- {
- render(html`${this.renderUnblockButton(data.item)}`, root);
- }}>
-
-
- ${this.isEmptyArray(this.blockedUserList) ? html`
- ${translate("chatpage.cchange14")}
- `: ''}
-
- ${translate("general.close")}
-
-
-
-
- `
- }
-
- async firstUpdated() {
- this.changeTheme()
- this.getChatBlockedList()
- this.getLocalBlockedList()
- // await this.getPendingGroupInvites()
-
- const getBlockedUsers = async () => {
- let blockedUsers = await parentEpml.request('apiCall', {
- url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}`
- })
- this.blockedUsers = blockedUsers
- setTimeout(getBlockedUsers, 60000)
- }
-
- const stopKeyEventPropagation = (e) => {
- e.stopPropagation()
- return false
- }
-
- const nameInput = this.shadowRoot.getElementById('sendTo')
-
- nameInput.addEventListener('keydown', stopKeyEventPropagation)
-
- this.shadowRoot.getElementById('messageBox').addEventListener('keydown', stopKeyEventPropagation)
-
- const runFunctionsAfterPageLoad = () => {
- // Functions to exec after render while waiting for page info...
- // getDataFromURL()
-
- try {
- let key = `${window.parent.reduxStore.getState().app.selectedAddress.address.substr(0, 10)}_chat-heads`
- let localChatHeads = localStorage.getItem(key)
- this.setChatHeads(JSON.parse(localChatHeads))
- } catch (e) {
- // TODO: Could add error handling in case there's a weird one... (-_-)
- return
- }
-
- // Clear Interval...
- if (this.selectedAddress.address !== undefined) {
- clearInterval(runFunctionsAfterPageLoadInterval)
- return
- }
- }
-
- let runFunctionsAfterPageLoadInterval = setInterval(runFunctionsAfterPageLoad, 100)
-
- window.addEventListener('storage', () => {
- const checkTheme = localStorage.getItem('qortalTheme')
-
- if (checkTheme === 'dark') {
- this.theme = 'dark'
- } else {
- this.theme = 'light'
- }
- document.querySelector('html').setAttribute('theme', this.theme)
- })
-
- if (!isElectron()) { /* empty */ } else {
- window.addEventListener('contextmenu', (event) => {
- // Check if the clicked element has the class
- let target = event.target;
- while (target !== null) {
- if (target.classList && target.classList.contains('customContextMenuDiv')) {
- // Your custom context menu logic
- this.showContextMenu(event);
- return;
- }
- target = target.parentNode;
- }
-
- // If it doesn't, show the default Electron context menu
- event.preventDefault();
- window.parent.electronAPI.showMyMenu();
- });
-
-
-
- }
-
- let configLoaded = false
-
- parentEpml.ready().then(() => {
-
- parentEpml.subscribe('config', c => {
- if (!configLoaded) {
- setTimeout(getBlockedUsers, 1)
- configLoaded = true
- }
- this.config = JSON.parse(c)
- })
- parentEpml.subscribe('chat_heads', chatHeads => {
- chatHeads = JSON.parse(chatHeads)
- this.getChatHeadFromState(chatHeads)
- })
- parentEpml.subscribe('side_effect_action', async sideEffectActionParam => {
- const sideEffectAction = JSON.parse(sideEffectActionParam)
-
- if(sideEffectAction && sideEffectAction.type === 'openPrivateChat'){
- const name = sideEffectAction.data.name
- const address = sideEffectAction.data.address
- if(this.chatHeadsObj.direct && this.chatHeadsObj.direct.find(item=> item.address === address)){
- this.setActiveChatHeadUrl(`direct/${address}`)
- window.parent.reduxStore.dispatch(
- window.parent.reduxAction.setSideEffectAction(null))
- } else {
- this.setOpenPrivateMessage({
- open: true,
- name: name
- })
- window.parent.reduxStore.dispatch(
- window.parent.reduxAction.setSideEffectAction(null))
- }
-
- }
- })
- parentEpml.request('apiCall', {
- url: `/addresses/balance/${window.parent.reduxStore.getState().app.selectedAddress.address}`
- }).then(res => {
- this.balance = res
- this.requestUpdate()
- })
- })
- parentEpml.imReady()
- this.clearConsole()
- setInterval(() => {
- this.clearConsole()
- }, 60000)
- }
-
-
-
- clearConsole() {
- if (!isElectron()) { /* empty */ } else {
- console.clear()
- window.parent.electronAPI.clearCache()
- }
- }
-
- setOpenPrivateMessage(props) {
- this.openPrivateMessage = props.open;
- this.shadowRoot.getElementById("sendTo").value = props.name
- }
-
- async userSearch() {
- const nameValue = this.shadowRoot.getElementById('sendTo').value
- if(!nameValue) {
- this.userFound = []
- this.userFoundModalOpen = true
- return;
- }
- try {
- const result = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/names/${nameValue}`
- })
- if (result.error === 401) {
- this.userFound = []
- } else {
- this.userFound = [
- ...this.userFound,
- result,
- ];
- }
- this.userFoundModalOpen = true;
- } catch (error) {
- let err4string = get("chatpage.cchange35");
- parentEpml.request('showSnackBar', `${err4string}`)
- }
- }
-
- redirectToGroups() {
- window.location.href = `../../group-management/index.html`
- }
-
- async _sendMessage(outSideMsg, msg) {
- this.isLoading = true;
-
- const trimmedMessage = msg
- if (/^\s*$/.test(trimmedMessage)) {
- this.isLoading = false
- } else {
- const messageObject = {
- messageText: trimmedMessage,
- images: [''],
- repliedTo: '',
- version: 3
- }
- const stringifyMessageObject = JSON.stringify(messageObject)
- this.sendMessage(stringifyMessageObject)
- }
- }
-
- async sendMessage(messageText) {
- this.isLoading = true
-
- const _recipient = this.shadowRoot.getElementById('sendTo').value
-
- let recipient
-
- const validateName = async (receiverName) => {
- let myRes
- try {
- let myNameRes = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/names/${receiverName}`
- });
- if (myNameRes.error === 401) {
- myRes = false;
- } else {
- myRes = myNameRes
- }
- return myRes;
- } catch (error) {
- return ""
- }
- };
-
- const myNameRes = await validateName(_recipient)
- if (!myNameRes) {
- recipient = _recipient
- } else {
- recipient = myNameRes.owner
- }
-
- const getAddressPublicKey = async () => {
- let isEncrypted;
- let _publicKey;
-
- let addressPublicKey = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/publickey/${recipient}`
- })
-
- if (addressPublicKey.error === 102) {
- _publicKey = false
- let err4string = get("chatpage.cchange19")
- parentEpml.request('showSnackBar', `${err4string}`)
- this.isLoading = false
- } else if (addressPublicKey !== false) {
- isEncrypted = 1
- _publicKey = addressPublicKey
- sendMessageRequest(isEncrypted, _publicKey)
- } else {
- let err4string = get("chatpage.cchange39")
- parentEpml.request('showSnackBar', `${err4string}`)
- this.isLoading = false
- }
- };
- let _reference = new Uint8Array(64)
- window.crypto.getRandomValues(_reference);
- let reference = window.parent.Base58.encode(_reference)
- const sendMessageRequest = async (isEncrypted, _publicKey) => {
- let chatResponse = await parentEpml.request('chat', {
- type: 18,
- nonce: this.selectedAddress.nonce,
- params: {
- timestamp: Date.now(),
- recipient: recipient,
- recipientPublicKey: _publicKey,
- hasChatReference: 0,
- message: messageText,
- lastReference: reference,
- proofOfWorkNonce: 0,
- isEncrypted: 1,
- isText: 1
- }
- })
-
- _computePow(chatResponse);
- };
-
- const _computePow = async (chatBytes) => {
- const difficulty = this.balance < 4 ? 18 : 8
- const path = window.parent.location.origin + '/memory-pow/memory-pow.wasm.full'
- const worker = new WebWorker()
- let nonce = null
- let chatBytesArray = null;
- await new Promise((res) => {
- worker.postMessage({chatBytes, path, difficulty})
- worker.onmessage = e => {
- worker.terminate()
- chatBytesArray = e.data.chatBytesArray
- nonce = e.data.nonce
- res()
- }
- })
-
- let _response = await parentEpml.request('sign_chat', {
- nonce: this.selectedAddress.nonce,
- chatBytesArray: chatBytesArray,
- chatNonce: nonce
- });
-
- getSendChatResponse(_response)
- };
-
- const getSendChatResponse = (response) => {
- if (response === true) {
- this.setActiveChatHeadUrl(`direct/${recipient}`)
- this.shadowRoot.getElementById('sendTo').value = ""
- this.openPrivateMessage = false
- this.resetChatEditor();
- } else if (response.error) {
- parentEpml.request('showSnackBar', response.message)
- } else {
- let err2string = get("chatpage.cchange21")
- parentEpml.request('showSnackBar', `${err2string}`)
- }
-
- this.isLoading = false
- }
-
- // Exec..
- getAddressPublicKey()
-
- }
-
- insertImage(file) {
- if (file.type.includes('image')) {
- this.imageFile = file
- return
- }
- parentEpml.request('showSnackBar', get("chatpage.cchange28"))
- }
-
- renderLoadingText() {
- return html`
`
- }
-
- renderSendText() {
- return html`${translate("chatpage.cchange9")}`
- }
-
- relMessages() {
- setTimeout(() => {
- window.location.href = window.location.href.split( '#' )[0]
- }, 500)
- }
-
- getLocalBlockedList() {
- const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
- const blockedAddressesUrl = `${nodeUrl}/lists/blockedAddresses?apiKey=${this.getApiKey()}`
-
- localStorage.removeItem("MessageBlockedAddresses")
-
- var hidelist = []
-
- fetch(blockedAddressesUrl).then(response => {
- return response.json()
- }).then(data => {
- data.map(item => {
- hidelist.push(item)
- })
- localStorage.setItem("MessageBlockedAddresses", JSON.stringify(hidelist))
-
- this.blockedUserList = hidelist
- })
- }
-
- getChatBlockedList() {
- const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
- const blockedAddressesUrl = `${nodeUrl}/lists/blockedAddresses?apiKey=${this.getApiKey()}`
- const err1string = 'No registered name'
-
- localStorage.removeItem("ChatBlockedAddresses")
-
- var obj = []
-
- fetch(blockedAddressesUrl).then(response => {
- return response.json()
- }).then(data => {
- return data.map(item => {
- const noName = {
- name: err1string,
- owner: item
- }
- fetch(`${nodeUrl}/names/address/${item}?limit=0&reverse=true`).then(res => {
- return res.json()
- }).then(jsonRes => {
- if(jsonRes.length) {
- jsonRes.map (item => {
- obj.push(item)
- })
- } else {
- obj.push(noName)
- }
- localStorage.setItem("ChatBlockedAddresses", JSON.stringify(obj))
- this.blockedUserList = JSON.parse(localStorage.getItem("ChatBlockedAddresses") || "[]")
- })
- })
- })
- }
-
- async getPendingGroupInvites() {
- const myAddress = window.parent.reduxStore.getState().app.selectedAddress.address
- try {
- let pendingGroupInvites = await parentEpml.request('apiCall', {
- url: `/groups/invites/${myAddress}`
- })
- this.groupInvites = pendingGroupInvites;
- } catch (error) {
- let err4string = get("chatpage.cchange61");
- parentEpml.request('showSnackBar', `${err4string}`)
- }
- }
-
- async unblockUser(websiteObj) {
- let owner = websiteObj.owner
-
- let items = [
- owner
- ]
-
- let ownersJsonString = JSON.stringify({ "items": items })
-
- let ret = await parentEpml.request('apiCall', {
- url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}`,
- method: 'DELETE',
- headers: {
- 'Content-Type': 'application/json'
- },
- body: `${ownersJsonString}`
- })
-
- if (ret === true) {
- this.blockedUsers = this.blockedUsers.filter(item => item != owner)
- this.getChatBlockedList()
- this.blockedUserList = JSON.parse(localStorage.getItem("ChatBlockedAddresses") || "[]")
- let err2string = get("chatpage.cchange16")
- snackbar.add({
- labelText: `${err2string}`,
- dismiss: true
- })
- this.relMessages()
- }
- else {
- let err3string = get("chatpage.cchange17")
- snackbar.add({
- labelText: `${err3string}`,
- dismiss: true
- })
- }
- return ret
- }
-
- renderUnblockButton(websiteObj) {
- return html`
this.unblockUser(websiteObj)}">`
- }
-
- changeTheme() {
- const checkTheme = localStorage.getItem('qortalTheme')
- if (checkTheme === 'dark') {
- this.theme = 'dark'
- } else {
- this.theme = 'light'
- }
- document.querySelector('html').setAttribute('theme', this.theme)
- }
-
- renderChatWelcomePage() {
- return html`
-
this.setOpenPrivateMessage(val)}
- >
- `
- }
-
- renderChatHead(chatHeadArr) {
- return chatHeadArr.map(eachChatHead => {
- return html`
this.setActiveChatHeadUrl(val)} chatInfo=${JSON.stringify(eachChatHead)}>`
- })
- }
-
- renderChatPage() {
- // Check for the chat ID from and render chat messages
- // Else render Welcome to Q-CHat
-
- // TODO: DONE: Do the above in the ChatPage
- return html`
-
this.setOpenPrivateMessage(val)}
- .setActiveChatHeadUrl=${(val)=> this.setActiveChatHeadUrl(val)}
- balance=${this.balance}
- loggedInUserName=${this.loggedInUserName}
- loggedInUserAddress=${this.loggedInUserAddress}
- >
-
- `
- }
-
- setChatHeads(chatObj) {
- const chatObjGroups = Array.isArray(chatObj.groups) ? chatObj.groups : []
- const chatObjDirect = Array.isArray(chatObj.direct) ? chatObj.direct : []
-
- let groupList = chatObjGroups.map(group => group.groupId === 0 ? {
- groupId: group.groupId, url: `group/${group.groupId}`,
- groupName: "Qortal General Chat",
- timestamp: group.timestamp === undefined ? 2 : group.timestamp,
- sender: group.sender } : { ...group, timestamp: group.timestamp === undefined ? 1 : group.timestamp, url: `group/${group.groupId}`
- })
-
- let directList = chatObjDirect.map(dc => {
- return { ...dc, url: `direct/${dc.address}` }
- })
-
- const compareNames = (a, b) => {
- return a.groupName.localeCompare(b.groupName)
- }
-
- groupList.sort(compareNames)
- let chatHeadMasterList = [...groupList, ...directList]
-
- const compareArgs = (a, b) => {
- return b.timestamp - a.timestamp
- }
-
- this.chatHeads = chatHeadMasterList.sort(compareArgs)
- }
-
- getChatHeadFromState(chatObj) {
- if (chatObj === undefined) {
- return
- } else {
- this.chatHeadsObj = chatObj
- this.setChatHeads(chatObj)
- }
- }
-
- _textArea(e) {
- if (e.keyCode === 13 && !e.shiftKey) this._sendMessage()
- }
-
- onPageNavigation(pageUrl) {
- parentEpml.request('setPageUrl', pageUrl)
- }
-
- isEmptyArray(arr) {
- if (!arr) { return true }
- return arr.length === 0
- }
-
- getApiKey() {
- const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
- }
-
- scrollToBottom() {
- const viewElement = this.shadowRoot.querySelector('chat-page').shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById('viewElement')
-
- const chatScrollerElement = this.shadowRoot.querySelector('chat-page').shadowRoot.querySelector('chat-scroller')
- if (chatScrollerElement && chatScrollerElement.disableAddingNewMessages) {
- const chatPageElement = this.shadowRoot.querySelector('chat-page')
- if(chatPageElement && chatPageElement.getLastestMessages)
- chatPageElement.getLastestMessages()
- } else {
- viewElement.scroll({ top: viewElement.scrollHeight, left: 0, behavior: 'smooth' })
- }
- }
-
- showNewMessageBar() {
- this.shadowRoot.getElementById('newMessageBar').classList.remove('hide-new-message-bar')
- }
-
- hideNewMessageBar() {
- this.shadowRoot.getElementById('newMessageBar').classList.add('hide-new-message-bar')
- }
+ constructor() {
+ super()
+ this.selectedAddress = window.parent.reduxStore.getState().app.selectedAddress
+ this.config = {
+ user: {
+ node: {
+ }
+ }
+ }
+ this.chatTitle = ""
+ this.chatHeads = []
+ this.chatHeadsObj = {}
+ this.chatId = ''
+ this.balance = 1
+ this.messages = []
+ this.btnDisable = false
+ this.isLoading = false
+ this.showNewMessageBar = this.showNewMessageBar.bind(this)
+ this.hideNewMessageBar = this.hideNewMessageBar.bind(this)
+ this.setOpenPrivateMessage = this.setOpenPrivateMessage.bind(this)
+ this._sendMessage = this._sendMessage.bind(this)
+ this.insertImage = this.insertImage.bind(this)
+ this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
+ this.blockedUsers = []
+ this.blockedUserList = []
+ this.privateMessagePlaceholder = ""
+ this.imageFile = null
+ this.activeChatHeadUrl = ''
+ this.openPrivateMessage = false
+ this.userFound = []
+ this.userFoundModalOpen = false
+ this.userSelected = {}
+ this.groupInvites = []
+ this.loggedInUserName = ""
+ this.openDialogGroupsModal = false
+ this.uid = new ShortUniqueId()
+
+ }
+
+ async setActiveChatHeadUrl(url) {
+ this.activeChatHeadUrl = url
+ this.requestUpdate()
+ }
+
+ resetChatEditor(){
+ this.editor.commands.setContent('')
+ }
+
+ async getUpdateCompleteTextEditor() {
+ await super.getUpdateComplete()
+ const marginElements = Array.from(this.shadowRoot.querySelectorAll('chat-text-editor'))
+ await Promise.all(marginElements.map(el => el.updateComplete))
+ const marginElements2 = Array.from(this.shadowRoot.querySelectorAll('wrapper-modal'))
+ await Promise.all(marginElements2.map(el => el.updateComplete))
+ return true
+ }
+
+ async connectedCallback() {
+ super.connectedCallback()
+ await this.getUpdateCompleteTextEditor()
+
+ const elementChatId = this.shadowRoot.getElementById('messageBox').shadowRoot.getElementById('privateMessage')
+ this.editor = new Editor({
+ onUpdate: ()=> {
+ this.shadowRoot.getElementById('messageBox').getMessageSize(this.editor.getJSON())
+ },
+ element: elementChatId,
+ extensions: [
+ StarterKit,
+ Underline,
+ Highlight,
+ Placeholder.configure({
+ placeholder: 'Write something …',
+ }),
+ Extension.create({
+ addKeyboardShortcuts:()=> {
+ return {
+ 'Enter': ()=> {
+ const chatTextEditor = this.shadowRoot.getElementById('messageBox')
+ chatTextEditor.sendMessageFunc({
+ })
+ return true
+ }
+ }
+ }
+ })
+ ]
+ })
+
+ this.unsubscribeStore = window.parent.reduxStore.subscribe(() => {
+ try {
+ const currentState = window.parent.reduxStore.getState()
+
+ if(window.parent.location && window.parent.location.search) {
+ const queryString = window.parent.location.search
+ const params = new URLSearchParams(queryString)
+ const chat = params.get("chat")
+ if(chat && chat !== this.activeChatHeadUrl){
+ let url = window.parent.location.href
+ let newUrl = url.split("?")[0]
+ window.parent.history.pushState({}, "", newUrl)
+ this.setActiveChatHeadUrl(chat)
+ }
+ }
+ if(currentState.app.accountInfo && currentState.app.accountInfo.names && currentState.app.accountInfo.names.length > 0 && this.loggedInUserName !== currentState.app.accountInfo.names[0].name){
+ this.loggedInUserName = currentState.app.accountInfo.names[0].name
+ }
+ if(currentState.app.accountInfo && currentState.app.accountInfo.addressInfo && currentState.app.accountInfo.addressInfo.address && this.loggedInUserAddress !== currentState.app.accountInfo.addressInfo.address){
+ this.loggedInUserAddress = currentState.app.accountInfo.addressInfo.address
+ }
+ } catch (error) { /* empty */ }
+ })
+ }
+
+ disconnectedCallback() {
+ super.disconnectedCallback()
+ this.editor.destroy()
+ this.unsubscribeStore()
+ }
+
+ updatePlaceholder(editor, text) {
+ editor.extensionManager.extensions.forEach((extension) => {
+ if (extension.name === "placeholder") {
+
+ extension.options["placeholder"] = text
+ editor.commands.focus('end')
+ }
+ })
+ }
+
+ setOpenDialogGroupsModal(val){
+ this.openDialogGroupsModal = val
+ }
+
+ openTabToGroupManagement(){
+ window.parent.reduxStore.dispatch(
+ window.parent.reduxAction.setNewTab({
+ url: `group-management`,
+ id: this.uid.rnd(),
+ myPlugObj: {
+ "url": "group-management",
+ "domain": "core",
+ "page": "group-management/index.html",
+ "title": "Group Management",
+ "icon": "vaadin:group",
+ "mwcicon": "group",
+ "pluginNumber": "plugin-fJZNpyLGTl",
+ "menus": [],
+ "parent": false
+ },
+ openExisting: true
+ })
+ );
+ }
+
+ render() {
+ return html`
+
+
+
+
{ this.openPrivateMessage = true }}>
+ edit_square
+
+
+
+
+
{ this.openTabToGroupManagement() }}>
+ group_add
+
+
+
+
{ this.shadowRoot.querySelector('#blockedUserDialog').show() }}>
+ person_off
+
+
+
+
+
+
+ ${this.isEmptyArray(this.chatHeads) ? this.renderLoadingText() : this.renderChatHead(this.chatHeads)}
+
+
+
+
this.scrollToBottom()}>
+ ${translate("chatpage.cchange4")}
+ ${translate("chatpage.cchange5")} keyboard_arrow_down
+
+
+ ${this.activeChatHeadUrl ? html`${this.renderChatPage()}` : html`${this.renderChatWelcomePage()}`}
+
+
+
+
{
+ this.resetChatEditor()
+ this.openPrivateMessage = false
+ this.shadowRoot.getElementById('sendTo').value = ""
+ this.userFoundModalOpen = false;
+ this.userFound = []
+ }}
+ style=${this.openPrivateMessage ? "visibility:visible;z-index:50" : "visibility: hidden;z-index:-100;position: relative"}>
+
+
+
+
+
+
{
+ this.userSelected = {}
+ this.requestUpdate()
+ }}
+ />
+ ${this.userSelected.name ? (
+ html`
+
+
${translate("chatpage.cchange38")}
+
+
+ `
+ ) : (
+ html`
+
+
+ `
+ )}
+
+
+
this.updatePlaceholder(editor, value)}
+ >
+
+
+
+
+
+ {
+ this.userSelected = result
+ this.userFound = [];
+ this.userFoundModalOpen = false
+ }}
+ .closeFunc=${() => {
+ this.userFoundModalOpen = false
+ this.userFound = []
+ }}
+ .searchResults=${this.userFound}
+ ?isOpen=${this.userFoundModalOpen}
+ ?loading=${this.isLoading}
+ >
+
+
+
+
+
+
+
+
+
${translate("chatpage.cchange10")}
+
+
+
+
+ {
+ if (data.item.name === "No registered name") {
+ render(html`${translate("chatpage.cchange15")}`, root)
+ } else {
+ render(html`${data.item.name}`, root)
+ }
+ }}>
+
+
+ {
+ render(html`${this.renderUnblockButton(data.item)}`, root)
+ }}>
+
+
+ ${this.isEmptyArray(this.blockedUserList) ? html`
+ ${translate("chatpage.cchange14")}
+ `: ''}
+
+ ${translate("general.close")}
+
+
+
+ `
+ }
+
+ async firstUpdated() {
+ this.changeTheme()
+ this.getChatBlockedList()
+ this.getLocalBlockedList()
+
+ const getBlockedUsers = async () => {
+ this.blockedUsers = await parentEpml.request('apiCall', {
+ url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}`
+ })
+ setTimeout(getBlockedUsers, 60000)
+ }
+
+ const stopKeyEventPropagation = (e) => {
+ e.stopPropagation()
+ return false
+ }
+
+ const nameInput = this.shadowRoot.getElementById('sendTo')
+
+ nameInput.addEventListener('keydown', stopKeyEventPropagation)
+
+ this.shadowRoot.getElementById('messageBox').addEventListener('keydown', stopKeyEventPropagation)
+
+ const runFunctionsAfterPageLoad = () => {
+ // Functions to exec after render while waiting for page info...
+ // getDataFromURL()
+
+ try {
+ let key = `${window.parent.reduxStore.getState().app.selectedAddress.address.substr(0, 10)}_chat-heads`
+ let localChatHeads = localStorage.getItem(key)
+ this.setChatHeads(JSON.parse(localChatHeads))
+ } catch (e) {
+ // TODO: Could add error handling in case there's a weird one... (-_-)
+ return
+ }
+
+ // Clear Interval...
+ if (this.selectedAddress.address !== undefined) {
+ clearInterval(runFunctionsAfterPageLoadInterval)
+ }
+ }
+
+ let runFunctionsAfterPageLoadInterval = setInterval(runFunctionsAfterPageLoad, 100)
+
+ window.addEventListener('storage', () => {
+ const checkTheme = localStorage.getItem('qortalTheme')
+
+ if (checkTheme === 'dark') {
+ this.theme = 'dark'
+ } else {
+ this.theme = 'light'
+ }
+ document.querySelector('html').setAttribute('theme', this.theme)
+ })
+
+ if (!isElectron()) { /* empty */ } else {
+ window.addEventListener('contextmenu', (event) => {
+ // Check if the clicked element has the class
+ let target = event.target
+ while (target !== null) {
+ if (target.classList && target.classList.contains('customContextMenuDiv')) {
+ // Your custom context menu logic
+ this.showContextMenu(event)
+ return
+ }
+ target = target.parentNode
+ }
+
+ // If it doesn't, show the default Electron context menu
+ event.preventDefault()
+ window.parent.electronAPI.showMyMenu()
+ })
+ }
+
+ let configLoaded = false
+
+ parentEpml.ready().then(() => {
+
+ parentEpml.subscribe('config', c => {
+ if (!configLoaded) {
+ setTimeout(getBlockedUsers, 1)
+ configLoaded = true
+ }
+ this.config = JSON.parse(c)
+ })
+ parentEpml.subscribe('chat_heads', chatHeads => {
+ chatHeads = JSON.parse(chatHeads)
+ this.getChatHeadFromState(chatHeads)
+ })
+ parentEpml.subscribe('side_effect_action', async sideEffectActionParam => {
+ const sideEffectAction = JSON.parse(sideEffectActionParam)
+
+ if(sideEffectAction && sideEffectAction.type === 'openPrivateChat') {
+ const name = sideEffectAction.data.name
+ const address = sideEffectAction.data.address
+ if(this.chatHeadsObj.direct && this.chatHeadsObj.direct.find(item=> item.address === address)){
+ await this.setActiveChatHeadUrl(`direct/${address}`)
+ window.parent.reduxStore.dispatch(
+ window.parent.reduxAction.setSideEffectAction(null))
+ } else {
+ this.setOpenPrivateMessage({
+ open: true,
+ name: name
+ })
+ window.parent.reduxStore.dispatch(
+ window.parent.reduxAction.setSideEffectAction(null))
+ }
+
+ }
+ })
+ parentEpml.request('apiCall', {
+ url: `/addresses/balance/${window.parent.reduxStore.getState().app.selectedAddress.address}`
+ }).then(res => {
+ this.balance = res
+ this.requestUpdate()
+ })
+ })
+ parentEpml.imReady()
+ this.clearConsole()
+ setInterval(() => {
+ this.clearConsole()
+ }, 60000)
+ }
+
+ clearConsole() {
+ if (!isElectron()) { /* empty */ } else {
+ console.clear()
+ window.parent.electronAPI.clearCache()
+ }
+ }
+
+ setOpenPrivateMessage(props) {
+ this.openPrivateMessage = props.open;
+ this.shadowRoot.getElementById("sendTo").value = props.name
+ }
+
+ async userSearch() {
+ const nameValue = this.shadowRoot.getElementById('sendTo').value
+ if(!nameValue) {
+ this.userFound = []
+ this.userFoundModalOpen = true
+ return
+ }
+ try {
+ const result = await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/names/${nameValue}`
+ })
+ if (result.error === 401) {
+ this.userFound = []
+ } else {
+ this.userFound = [
+ ...this.userFound,
+ result,
+ ];
+ }
+ this.userFoundModalOpen = true;
+ } catch (error) {
+ let err4string = get("chatpage.cchange35");
+ parentEpml.request('showSnackBar', `${err4string}`)
+ }
+ }
+
+ redirectToGroups() {
+ window.location.href = `../../group-management/index.html`
+ }
+
+ async _sendMessage(outSideMsg, msg) {
+ this.isLoading = true;
+
+ const trimmedMessage = msg
+ if (/^\s*$/.test(trimmedMessage)) {
+ this.isLoading = false
+ } else {
+ const messageObject = {
+ messageText: trimmedMessage,
+ images: [''],
+ repliedTo: '',
+ version: 3
+ }
+ const stringifyMessageObject = JSON.stringify(messageObject)
+ await this.sendMessage(stringifyMessageObject)
+ }
+ }
+
+ async sendMessage(messageText) {
+ this.isLoading = true
+
+ const _recipient = this.shadowRoot.getElementById('sendTo').value
+
+ let recipient
+
+ const validateName = async (receiverName) => {
+ let myRes
+ try {
+ let myNameRes = await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/names/${receiverName}`
+ });
+ if (myNameRes.error === 401) {
+ myRes = false;
+ } else {
+ myRes = myNameRes
+ }
+ return myRes;
+ } catch (error) {
+ return ""
+ }
+ }
+
+ const myNameRes = await validateName(_recipient)
+ if (!myNameRes) {
+ recipient = _recipient
+ } else {
+ recipient = myNameRes.owner
+ }
+
+ const getAddressPublicKey = async () => {
+ let isEncrypted;
+ let _publicKey;
+
+ let addressPublicKey = await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/publickey/${recipient}`
+ })
+
+ if (addressPublicKey.error === 102) {
+ _publicKey = false
+ let err4string = get("chatpage.cchange19")
+ parentEpml.request('showSnackBar', `${err4string}`)
+ this.isLoading = false
+ } else if (addressPublicKey !== false) {
+ isEncrypted = 1
+ _publicKey = addressPublicKey
+ await sendMessageRequest(isEncrypted, _publicKey)
+ } else {
+ let err4string = get("chatpage.cchange39")
+ parentEpml.request('showSnackBar', `${err4string}`)
+ this.isLoading = false
+ }
+ }
+ let _reference = new Uint8Array(64)
+ window.crypto.getRandomValues(_reference);
+ let reference = window.parent.Base58.encode(_reference)
+ const sendMessageRequest = async (isEncrypted, _publicKey) => {
+ let chatResponse = await parentEpml.request('chat', {
+ type: 18,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ timestamp: Date.now(),
+ recipient: recipient,
+ recipientPublicKey: _publicKey,
+ hasChatReference: 0,
+ message: messageText,
+ lastReference: reference,
+ proofOfWorkNonce: 0,
+ isEncrypted: 1,
+ isText: 1
+ }
+ })
+ await _computePow(chatResponse)
+ }
+
+ const _computePow = async (chatBytes) => {
+ const difficulty = this.balance < 4 ? 18 : 8
+ const path = window.parent.location.origin + '/memory-pow/memory-pow.wasm.full'
+ const worker = new WebWorker()
+ let nonce = null
+ let chatBytesArray = null
+ await new Promise((res) => {
+ worker.postMessage({chatBytes, path, difficulty})
+ worker.onmessage = e => {
+ worker.terminate()
+ chatBytesArray = e.data.chatBytesArray
+ nonce = e.data.nonce
+ res()
+ }
+ })
+
+ let _response = await parentEpml.request('sign_chat', {
+ nonce: this.selectedAddress.nonce,
+ chatBytesArray: chatBytesArray,
+ chatNonce: nonce
+ })
+ getSendChatResponse(_response)
+ }
+
+ const getSendChatResponse = (response) => {
+ if (response === true) {
+ this.setActiveChatHeadUrl(`direct/${recipient}`)
+ this.shadowRoot.getElementById('sendTo').value = ""
+ this.openPrivateMessage = false
+ this.resetChatEditor();
+ } else if (response.error) {
+ parentEpml.request('showSnackBar', response.message)
+ } else {
+ let err2string = get("chatpage.cchange21")
+ parentEpml.request('showSnackBar', `${err2string}`)
+ }
+
+ this.isLoading = false
+ }
+ // Exec..
+ await getAddressPublicKey()
+ }
+
+ insertImage(file) {
+ if (file.type.includes('image')) {
+ this.imageFile = file
+ return
+ }
+ parentEpml.request('showSnackBar', get("chatpage.cchange28"))
+ }
+
+ renderLoadingText() {
+ return html`
`
+ }
+
+ renderSendText() {
+ return html`${translate("chatpage.cchange9")}`
+ }
+
+ relMessages() {
+ setTimeout(() => {
+ window.location.href = window.location.href.split( '#' )[0]
+ }, 500)
+ }
+
+ getLocalBlockedList() {
+ const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
+ const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
+ const blockedAddressesUrl = `${nodeUrl}/lists/blockedAddresses?apiKey=${this.getApiKey()}`
+
+ localStorage.removeItem("MessageBlockedAddresses")
+
+ var hidelist = []
+
+ fetch(blockedAddressesUrl).then(response => {
+ return response.json()
+ }).then(data => {
+ data.map(item => {
+ hidelist.push(item)
+ })
+ localStorage.setItem("MessageBlockedAddresses", JSON.stringify(hidelist))
+
+ this.blockedUserList = hidelist
+ })
+ }
+
+ getChatBlockedList() {
+ const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
+ const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
+ const blockedAddressesUrl = `${nodeUrl}/lists/blockedAddresses?apiKey=${this.getApiKey()}`
+ const err1string = 'No registered name'
+
+ localStorage.removeItem("ChatBlockedAddresses")
+
+ var obj = []
+
+ fetch(blockedAddressesUrl).then(response => {
+ return response.json()
+ }).then(data => {
+ return data.map(item => {
+ const noName = {
+ name: err1string,
+ owner: item
+ }
+ fetch(`${nodeUrl}/names/address/${item}?limit=0&reverse=true`).then(res => {
+ return res.json()
+ }).then(jsonRes => {
+ if(jsonRes.length) {
+ jsonRes.map (item => {
+ obj.push(item)
+ })
+ } else {
+ obj.push(noName)
+ }
+ localStorage.setItem("ChatBlockedAddresses", JSON.stringify(obj))
+ this.blockedUserList = JSON.parse(localStorage.getItem("ChatBlockedAddresses") || "[]")
+ })
+ })
+ })
+ }
+
+ async getPendingGroupInvites() {
+ const myAddress = window.parent.reduxStore.getState().app.selectedAddress.address
+ try {
+ this.groupInvites = await parentEpml.request('apiCall', {
+ url: `/groups/invites/${myAddress}`
+ });
+ } catch (error) {
+ let err4string = get("chatpage.cchange61");
+ parentEpml.request('showSnackBar', `${err4string}`)
+ }
+ }
+
+ async unblockUser(websiteObj) {
+ let owner = websiteObj.owner
+
+ let items = [
+ owner
+ ]
+
+ let ownersJsonString = JSON.stringify({ "items": items })
+
+ let ret = await parentEpml.request('apiCall', {
+ url: `/lists/blockedAddresses?apiKey=${this.getApiKey()}`,
+ method: 'DELETE',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: `${ownersJsonString}`
+ })
+
+ if (ret === true) {
+ this.blockedUsers = this.blockedUsers.filter(item => item != owner)
+ this.getChatBlockedList()
+ this.blockedUserList = JSON.parse(localStorage.getItem("ChatBlockedAddresses") || "[]")
+ let err2string = get("chatpage.cchange16")
+ snackbar.add({
+ labelText: `${err2string}`,
+ dismiss: true
+ })
+ this.relMessages()
+ }
+ else {
+ let err3string = get("chatpage.cchange17")
+ snackbar.add({
+ labelText: `${err3string}`,
+ dismiss: true
+ })
+ }
+ return ret
+ }
+
+ renderUnblockButton(websiteObj) {
+ return html`
this.unblockUser(websiteObj)}">`
+ }
+
+ changeTheme() {
+ const checkTheme = localStorage.getItem('qortalTheme')
+ if (checkTheme === 'dark') {
+ this.theme = 'dark'
+ } else {
+ this.theme = 'light'
+ }
+ document.querySelector('html').setAttribute('theme', this.theme)
+ }
+
+ renderChatWelcomePage() {
+ return html`
+
this.setOpenPrivateMessage(val)}
+ >
+ `
+ }
+
+ renderChatHead(chatHeadArr) {
+ return chatHeadArr.map(eachChatHead => {
+ return html`
this.setActiveChatHeadUrl(val)} chatInfo=${JSON.stringify(eachChatHead)}>`
+ })
+ }
+
+ renderChatPage() {
+ // Check for the chat ID from and render chat messages
+ // Else render Welcome to Q-CHat
+
+ // TODO: DONE: Do the above in the ChatPage
+ return html`
+
this.setOpenPrivateMessage(val)}
+ .setActiveChatHeadUrl=${(val)=> this.setActiveChatHeadUrl(val)}
+ balance=${this.balance}
+ loggedInUserName=${this.loggedInUserName}
+ loggedInUserAddress=${this.loggedInUserAddress}
+ >
+
+ `
+ }
+
+ setChatHeads(chatObj) {
+ const chatObjGroups = Array.isArray(chatObj.groups) ? chatObj.groups : []
+ const chatObjDirect = Array.isArray(chatObj.direct) ? chatObj.direct : []
+
+ let groupList = chatObjGroups.map(group => group.groupId === 0 ? {
+ groupId: group.groupId, url: `group/${group.groupId}`,
+ groupName: "Qortal General Chat",
+ timestamp: group.timestamp === undefined ? 2 : group.timestamp,
+ sender: group.sender } : { ...group, timestamp: group.timestamp === undefined ? 1 : group.timestamp, url: `group/${group.groupId}`
+ })
+
+ let directList = chatObjDirect.map(dc => {
+ return { ...dc, url: `direct/${dc.address}` }
+ })
+
+ const compareNames = (a, b) => {
+ return a.groupName.localeCompare(b.groupName)
+ }
+
+ groupList.sort(compareNames)
+ let chatHeadMasterList = [...groupList, ...directList]
+
+ const compareArgs = (a, b) => {
+ return b.timestamp - a.timestamp
+ }
+
+ this.chatHeads = chatHeadMasterList.sort(compareArgs)
+ }
+
+ getChatHeadFromState(chatObj) {
+ if (chatObj === undefined) {
+
+ } else {
+ this.chatHeadsObj = chatObj
+ this.setChatHeads(chatObj)
+ }
+ }
+
+ _textArea(e) {
+ if (e.keyCode === 13 && !e.shiftKey) this._sendMessage()
+ }
+
+ onPageNavigation(pageUrl) {
+ parentEpml.request('setPageUrl', pageUrl)
+ }
+
+ isEmptyArray(arr) {
+ if (!arr) { return true }
+ return arr.length === 0
+ }
+
+ getApiKey() {
+ const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
+ return myNode.apiKey
+ }
+
+ scrollToBottom() {
+ const viewElement = this.shadowRoot.querySelector('chat-page').shadowRoot.querySelector('chat-scroller').shadowRoot.getElementById('viewElement')
+
+ const chatScrollerElement = this.shadowRoot.querySelector('chat-page').shadowRoot.querySelector('chat-scroller')
+ if (chatScrollerElement && chatScrollerElement.disableAddingNewMessages) {
+ const chatPageElement = this.shadowRoot.querySelector('chat-page')
+ if(chatPageElement && chatPageElement.getLastestMessages)
+ chatPageElement.getLastestMessages()
+ } else {
+ viewElement.scroll({ top: viewElement.scrollHeight, left: 0, behavior: 'smooth' })
+ }
+ }
+
+ showNewMessageBar() {
+ this.shadowRoot.getElementById('newMessageBar').classList.remove('hide-new-message-bar')
+ }
+
+ hideNewMessageBar() {
+ this.shadowRoot.getElementById('newMessageBar').classList.add('hide-new-message-bar')
+ }
}
window.customElements.define('q-chat', Chat)
diff --git a/plugins/plugins/core/minting/minting-info.src.js b/plugins/plugins/core/minting/minting-info.src.js
index 9790b268..f541a9de 100644
--- a/plugins/plugins/core/minting/minting-info.src.js
+++ b/plugins/plugins/core/minting/minting-info.src.js
@@ -1,7 +1,7 @@
import {css, html, LitElement} from 'lit'
import {Epml} from '../../../epml.js'
import isElectron from 'is-electron'
-import {registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {registerTranslateConfig, translate, use} from '../../../../core/translate'
import '@material/mwc-icon'
import '@material/mwc-button'
import '@material/mwc-dialog'
@@ -441,10 +441,9 @@ class MintingInfo extends LitElement {
}
async getAddressLevel() {
- const callLevels = await parentEpml.request('apiCall', {
- url: `/addresses/online/levels`
- })
- this.addressLevel = callLevels
+ this.addressLevel = await parentEpml.request('apiCall', {
+ url: `/addresses/online/levels`
+ })
this.tier4Online = parseFloat(this.addressLevel[7].count) + parseFloat(this.addressLevel[8].count)
}
diff --git a/plugins/plugins/core/name-registration/name-registration.src.js b/plugins/plugins/core/name-registration/name-registration.src.js
index 69aac944..426d8b29 100644
--- a/plugins/plugins/core/name-registration/name-registration.src.js
+++ b/plugins/plugins/core/name-registration/name-registration.src.js
@@ -1,7 +1,7 @@
import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import isElectron from 'is-electron'
import '@material/mwc-button'
import '@material/mwc-dialog'
@@ -898,8 +898,7 @@ class NameRegistration extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
async registerName(e) {
@@ -914,20 +913,18 @@ class NameRegistration extends LitElement {
// Get Last Ref
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
};
// Get Account Details
const validateName = async () => {
- let isValid = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/names/${nameInput}`
- })
- return isValid
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/names/${nameInput}`
+ })
};
const validateReceiver = async () => {
@@ -949,19 +946,18 @@ class NameRegistration extends LitElement {
const makeTransactionRequest = async (lastRef) => {
let dialogyou = get("transactions.namedialog1")
let dialogonpress = get("transactions.namedialog2")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 3,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: feeInput,
- name: nameInput,
- value: descInput,
- lastReference: lastRef,
- dialogyou: dialogyou,
- dialogonpress: dialogonpress,
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 3,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: feeInput,
+ name: nameInput,
+ value: descInput,
+ lastReference: lastRef,
+ dialogyou: dialogyou,
+ dialogonpress: dialogonpress,
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -979,7 +975,7 @@ class NameRegistration extends LitElement {
}
}
- validateReceiver()
+ await validateReceiver()
this.registerNameLoading = false
}
@@ -994,20 +990,18 @@ class NameRegistration extends LitElement {
// Get Last Ref
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
// Get Account Details
const validateName = async () => {
- let isValid = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/names/${newNameInput}`
- })
- return isValid
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/names/${newNameInput}`
+ })
}
const validateReceiver = async () => {
@@ -1035,21 +1029,20 @@ class NameRegistration extends LitElement {
let dialogUpdateName1 = get("registernamepage.nchange43")
let dialogUpdateName2 = get("registernamepage.nchange44")
let dialogUpdateName3 = get("registernamepage.nchange45")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 4,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- name: myOldName,
- newName: myNewName,
- newData: myNewDesc,
- lastReference: myLastRef,
- dialogUpdateName1: dialogUpdateName1,
- dialogUpdateName2: dialogUpdateName2,
- dialogUpdateName3: dialogUpdateName3
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 4,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ name: myOldName,
+ newName: myNewName,
+ newData: myNewDesc,
+ lastReference: myLastRef,
+ dialogUpdateName1: dialogUpdateName1,
+ dialogUpdateName2: dialogUpdateName2,
+ dialogUpdateName3: dialogUpdateName3
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -1067,7 +1060,7 @@ class NameRegistration extends LitElement {
}
}
- validateReceiver()
+ await validateReceiver()
}
async createSellName() {
@@ -1078,11 +1071,10 @@ class NameRegistration extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -1100,20 +1092,19 @@ class NameRegistration extends LitElement {
const mySellNameDialog2 = get("registernamepage.nchange27")
const mySellNameDialog3 = get("registernamepage.nchange28")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 5,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- name: myName,
- sellPrice: myPrice,
- lastReference: myLastRef,
- sellNameDialog1: mySellNameDialog1,
- sellNameDialog2: mySellNameDialog2,
- sellNameDialog3: mySellNameDialog3
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 5,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ name: myName,
+ sellPrice: myPrice,
+ lastReference: myLastRef,
+ sellNameDialog1: mySellNameDialog1,
+ sellNameDialog2: mySellNameDialog2,
+ sellNameDialog3: mySellNameDialog3
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -1138,7 +1129,7 @@ class NameRegistration extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
async createCancelSellName() {
@@ -1148,11 +1139,10 @@ class NameRegistration extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -1168,18 +1158,17 @@ class NameRegistration extends LitElement {
const myCancelSellNameDialog1 = get("registernamepage.nchange30")
const myCancelSellNameDialog2 = get("registernamepage.nchange31")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 6,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- name: myName,
- lastReference: myLastRef,
- cancelSellNameDialog1: myCancelSellNameDialog1,
- cancelSellNameDialog2: myCancelSellNameDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 6,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ name: myName,
+ lastReference: myLastRef,
+ cancelSellNameDialog1: myCancelSellNameDialog1,
+ cancelSellNameDialog2: myCancelSellNameDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -1202,12 +1191,11 @@ class NameRegistration extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
round(number) {
- let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
- return result
+ return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/names-market/names-market.src.js b/plugins/plugins/core/names-market/names-market.src.js
index c23f0f9a..8730b4a3 100644
--- a/plugins/plugins/core/names-market/names-market.src.js
+++ b/plugins/plugins/core/names-market/names-market.src.js
@@ -1,7 +1,7 @@
import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import isElectron from 'is-electron'
import '../components/qortal-info-view.js'
import '@material/mwc-button'
@@ -580,7 +580,7 @@ class NamesMarket extends LitElement {
}).then(res => {
this.marketSellNames = res
})
- this.updatePageSize()
+ await this.updatePageSize()
this.isLoading = false
setTimeout(fetchMarketSellNames, 180000)
}
@@ -592,7 +592,7 @@ class NamesMarket extends LitElement {
}).then(res => {
this.marketSoldNames = res
})
- this.updatePageSoldSize()
+ await this.updatePageSoldSize()
this.isLoading = false
setTimeout(fetchMarketSoldNames, 300000)
}
@@ -1053,8 +1053,7 @@ class NamesMarket extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
async createCancelSellName() {
@@ -1064,11 +1063,10 @@ class NamesMarket extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -1084,18 +1082,17 @@ class NamesMarket extends LitElement {
const myCancelSellNameDialog1 = get("registernamepage.nchange30")
const myCancelSellNameDialog2 = get("registernamepage.nchange31")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 6,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- name: myName,
- lastReference: myLastRef,
- cancelSellNameDialog1: myCancelSellNameDialog1,
- cancelSellNameDialog2: myCancelSellNameDialog2
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 6,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ name: myName,
+ lastReference: myLastRef,
+ cancelSellNameDialog1: myCancelSellNameDialog1,
+ cancelSellNameDialog2: myCancelSellNameDialog2
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -1118,7 +1115,7 @@ class NamesMarket extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
}
createBuyName() {
@@ -1130,11 +1127,10 @@ class NamesMarket extends LitElement {
this.btnDisable = true
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
}
const validateReceiver = async () => {
@@ -1153,21 +1149,20 @@ class NamesMarket extends LitElement {
const myBuyNameDialog2 = get("registernamepage.nchange27")
const myBuyNameDialog3 = get("registernamepage.nchange40")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 7,
- nonce: this.selectedAddress.nonce,
- params: {
- fee: myFee,
- name: myName,
- sellPrice: myPrice,
- recipient: mySeller,
- lastReference: myLastRef,
- buyNameDialog1: myBuyNameDialog1,
- buyNameDialog2: myBuyNameDialog2,
- buyNameDialog3: myBuyNameDialog3
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 7,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ fee: myFee,
+ name: myName,
+ sellPrice: myPrice,
+ recipient: mySeller,
+ lastReference: myLastRef,
+ buyNameDialog1: myBuyNameDialog1,
+ buyNameDialog2: myBuyNameDialog2,
+ buyNameDialog3: myBuyNameDialog3
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -1198,8 +1193,7 @@ class NamesMarket extends LitElement {
}
round(number) {
- let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
- return result
+ return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/node-management/node-management.src.js b/plugins/plugins/core/node-management/node-management.src.js
index 3716c024..57a1ac12 100644
--- a/plugins/plugins/core/node-management/node-management.src.js
+++ b/plugins/plugins/core/node-management/node-management.src.js
@@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
import isElectron from 'is-electron'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import '@polymer/paper-spinner/paper-spinner-lite.js'
import '@material/mwc-icon'
import '@material/mwc-textfield'
@@ -581,8 +581,7 @@ class NodeManagement extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/overview-page/overview-page-css.js b/plugins/plugins/core/overview-page/overview-page-css.js
index 2e3ef30f..e619ae67 100644
--- a/plugins/plugins/core/overview-page/overview-page-css.js
+++ b/plugins/plugins/core/overview-page/overview-page-css.js
@@ -522,7 +522,7 @@ button.bg-default:focus {
page-break-after: avoid;
}
- @ page {
+ @page {
size: a3;
}
}
@@ -664,7 +664,7 @@ button.bg-default:focus {
}
@media (min-width: 768px) {
- @ keyframes show-navbar-dropdown {
+ @keyframes show-navbar-dropdown {
0% {
transition: visibility .25s, opacity .25s, transform .25s;
transform: translate(0, 10px) perspective(200px) rotateX(-2deg);
diff --git a/plugins/plugins/core/overview-page/overview-page.src.js b/plugins/plugins/core/overview-page/overview-page.src.js
index 6592a09f..11baf6f3 100644
--- a/plugins/plugins/core/overview-page/overview-page.src.js
+++ b/plugins/plugins/core/overview-page/overview-page.src.js
@@ -1,6 +1,6 @@
import {css, html, LitElement} from 'lit'
import {Epml} from '../../../epml.js'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import {overviewStyle} from './overview-page-css.js'
import {asyncReplace} from 'lit/directives/async-replace.js'
import isElectron from 'is-electron'
@@ -146,9 +146,9 @@ class OverviewPage extends LitElement {
this.nodeConfig = window.parent.reduxStore.getState().app.nodeConfig
this.accountInfo = window.parent.reduxStore.getState().app.accountInfo
- this.getNodeInfo()
- this.getCoreInfo()
- this.getBalanceInfo()
+ await this.getNodeInfo()
+ await this.getCoreInfo()
+ await this.getBalanceInfo()
await this.getMintingKeysList()
window.addEventListener('storage', () => {
@@ -223,9 +223,9 @@ class OverviewPage extends LitElement {
async refreshItems() {
this.nodeConfig = window.parent.reduxStore.getState().app.nodeConfig
this.accountInfo = window.parent.reduxStore.getState().app.accountInfo
- this.getNodeInfo()
- this.getCoreInfo()
- this.getBalanceInfo()
+ await this.getNodeInfo()
+ await this.getCoreInfo()
+ await this.getBalanceInfo()
await this.getMintingKeysList()
}
@@ -238,8 +238,7 @@ class OverviewPage extends LitElement {
try {
const res = await fetch(statusUrl)
- const listAccounts = await res.json()
- this.listAccounts = listAccounts
+ this.listAccounts = await res.json()
const addressInfo = window.parent.reduxStore.getState().app.accountInfo.addressInfo
const address = window.parent.reduxStore.getState().app.selectedAddress.address
@@ -247,17 +246,9 @@ class OverviewPage extends LitElement {
const findMyMintingRecipient = this.listAccounts.find((myKey) => myKey.recipientAccount === address)
const findRemovedSponsorsKey = this.listAccounts.filter((my) => my.address)
- if (findMyMintingAccount === undefined) {
- this.check1 = false
- } else {
- this.check1 = true
- }
+ this.check1 = findMyMintingAccount !== undefined;
- if (findMyMintingRecipient === undefined) {
- this.check2 = false
- } else {
- this.check2 = true
- }
+ this.check2 = findMyMintingRecipient !== undefined;
if (findRemovedSponsorsKey.length > 0) {
this.removeBlankKey(findRemovedSponsorsKey.publicKey)
@@ -367,8 +358,7 @@ class OverviewPage extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
}
window.customElements.define('overview-page', OverviewPage)
@@ -558,8 +548,7 @@ class StartMintingNow extends LitElement {
const url = `${nodeUrl}/admin/mintingaccounts`
try {
const res = await fetch(url)
- const mintingAccountData = await res.json()
- this.mintingAccountData = mintingAccountData
+ this.mintingAccountData = await res.json()
} catch (error) {
this.errorMsg = this.renderErrorMsg1()
}
@@ -608,10 +597,10 @@ class StartMintingNow extends LitElement {
let snack1 = get('becomeMinterPage.bchange19')
parentEpml.request('showSnackBar', `${snack1}`)
this.status = 5
- this.getMintingAcccounts()
+ await this.getMintingAcccounts()
} catch (error) {
this.errorMsg = this.renderErrorMsg3()
- return
+
}
}
@@ -626,8 +615,7 @@ class StartMintingNow extends LitElement {
const rewardShares = async (minterAddr) => {
const url = `${nodeUrl}/addresses/rewardshares?minters=${minterAddr}&recipients=${minterAddr}`
const res = await fetch(url)
- const data = await res.json()
- return data
+ return await res.json()
}
if (!stop) {
@@ -667,7 +655,7 @@ class StartMintingNow extends LitElement {
let rewarddialog3 = get('transactions.rewarddialog3')
let rewarddialog4 = get('transactions.rewarddialog4')
- let myTxnrequest = await parentEpml.request('transaction', {
+ return await parentEpml.request('transaction', {
type: 38,
nonce: nonce,
params: {
@@ -681,7 +669,6 @@ class StartMintingNow extends LitElement {
},
disableModal: true
})
- return myTxnrequest
}
const getTxnRequestResponse = (txnResponse) => {
@@ -709,11 +696,10 @@ class StartMintingNow extends LitElement {
}
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
+ return await parentEpml.request('apiCall', {
type: 'api',
url: `/addresses/lastreference/${address}`
})
- return myRef
}
const startMinting = async () => {
@@ -729,10 +715,10 @@ class StartMintingNow extends LitElement {
try {
this.privateRewardShareKey = await createSponsorshipKey()
- this.confirmRelationship(publicAddress)
+ await this.confirmRelationship(publicAddress)
} catch (error) {
this.errorMsg = error.data.message || this.renderErrorMsg4()
- return
+
}
}
diff --git a/plugins/plugins/core/puzzles/puzzles.src.js b/plugins/plugins/core/puzzles/puzzles.src.js
index d979bb0f..cc78269f 100644
--- a/plugins/plugins/core/puzzles/puzzles.src.js
+++ b/plugins/plugins/core/puzzles/puzzles.src.js
@@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
import isElectron from 'is-electron'
-import {registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {registerTranslateConfig, translate, use} from '../../../../core/translate'
import nacl from '../../../../crypto/api/deps/nacl-fast.js'
import Base58 from '../../../../crypto/api/deps/Base58.js'
import publicKeyToAddress from '../../../../crypto/api/wallet/publicKeyToAddress.js'
@@ -426,10 +426,9 @@ class Puzzles extends LitElement {
// Get Last Ref
const getLastRef = async (address) => {
- let myRef = await parentEpml.request('apiCall', {
- url: `/addresses/lastreference/${address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ url: `/addresses/lastreference/${address}`
+ })
}
let lastRef = await getLastRef(_guessAddress)
diff --git a/plugins/plugins/core/q-app/q-apps.src.js b/plugins/plugins/core/q-app/q-apps.src.js
index 64241b73..593f508f 100644
--- a/plugins/plugins/core/q-app/q-apps.src.js
+++ b/plugins/plugins/core/q-app/q-apps.src.js
@@ -1,7 +1,6 @@
import {css, html, LitElement} from 'lit'
-import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import isElectron from 'is-electron'
import '@polymer/paper-spinner/paper-spinner-lite.js'
import '@polymer/paper-dialog/paper-dialog.js'
@@ -726,28 +725,23 @@ class QApps extends LitElement {
}, 0)
const getFollowedNames = async () => {
- const followedNames = await parentEpml.request('apiCall', {
- url: `/lists/followedNames?apiKey=${this.getApiKey()}`
- })
-
- this.followedNames = followedNames
+ this.followedNames = await parentEpml.request('apiCall', {
+ url: `/lists/followedNames?apiKey=${this.getApiKey()}`
+ })
setTimeout(getFollowedNames, 60000)
}
const getBlockedNames = async () => {
- const blockedNames = await parentEpml.request('apiCall', {
- url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
- })
- this.blockedNames = blockedNames
+ this.blockedNames = await parentEpml.request('apiCall', {
+ url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
+ })
setTimeout(getBlockedNames, 60000)
}
const getRelayMode = async () => {
- const relayMode = await parentEpml.request('apiCall', {
- url: `/arbitrary/relaymode?apiKey=${this.getApiKey()}`
- })
-
- this.relayMode = relayMode
+ this.relayMode = await parentEpml.request('apiCall', {
+ url: `/arbitrary/relaymode?apiKey=${this.getApiKey()}`
+ })
setTimeout(getRelayMode, 600000)
}
@@ -858,10 +852,9 @@ class QApps extends LitElement {
getAppsArrayData = async () => {
this.isLoading = true
this.appsArray = []
- const appsArrayRes = await parentEpml.request('apiCall', {
- url: `/arbitrary/resources?service=APP&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&excludeblocked=true`
- })
- this.appsArray = appsArrayRes
+ this.appsArray = await parentEpml.request('apiCall', {
+ url: `/arbitrary/resources?service=APP&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&excludeblocked=true`
+ })
this.isLoading = false
this.renderAppGrid()
}
@@ -950,19 +943,17 @@ class QApps extends LitElement {
getFollowedNamesRefresh = async () => {
this.isLoading = true
- const followedNamesRes = await parentEpml.request('apiCall', {
- url: `/lists/followedNames?apiKey=${this.getApiKey()}`
- })
- this.followedNames = followedNamesRes
+ this.followedNames = await parentEpml.request('apiCall', {
+ url: `/lists/followedNames?apiKey=${this.getApiKey()}`
+ })
this.isLoading = false
}
getFollowedNamesResource = async () => {
this.isLoading = true
- const followedResourcesRes = await parentEpml.request('apiCall', {
- url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=followedNames`
- })
- this.followedResources = followedResourcesRes
+ this.followedResources = await parentEpml.request('apiCall', {
+ url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=followedNames`
+ })
this.isLoading = false
this.renderFollowedAppsGrid()
}
@@ -1051,20 +1042,18 @@ class QApps extends LitElement {
getBlockedNamesRefresh = async () => {
this.isLoading = true
- const blockedNamesRes = await parentEpml.request('apiCall', {
- url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
- })
- this.blockedNames = blockedNamesRes
+ this.blockedNames = await parentEpml.request('apiCall', {
+ url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
+ })
this.isLoading = false
}
getBlockedNamesResource = async () => {
this.isLoading = true
this.blockedResources = []
- const blockedResourcesRes = await parentEpml.request('apiCall', {
- url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=blockedNames`
- })
- this.blockedResources = blockedResourcesRes
+ this.blockedResources = await parentEpml.request('apiCall', {
+ url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=blockedNames`
+ })
this.isLoading = false
this.renderBlockedAppsGrid()
}
@@ -1410,9 +1399,9 @@ class QApps extends LitElement {
this.textProgress = ''
this.shadowRoot.getElementById('downloadProgressDialog').close()
this.closeAppInfoDialog()
- this.getAppsArrayData()
- this.getFollowedNamesRefresh()
- this.getFollowedNamesResource()
+ await this.getAppsArrayData()
+ await this.getFollowedNamesRefresh()
+ await this.getFollowedNamesResource()
this.updateComplete.then(() => this.requestUpdate())
} else if (status.id === "BUILDING") {
this.textProgress = ''
@@ -1478,8 +1467,8 @@ class QApps extends LitElement {
this.followedNames = this.followedNames.filter(item => item != name)
this.followedNames.push(name)
this.closeAppInfoDialog()
- this.getFollowedNamesRefresh()
- this.getFollowedNamesResource()
+ await this.getFollowedNamesRefresh()
+ await this.getFollowedNamesResource()
} else {
let err3string = get("appspage.schange22")
parentEpml.request('showSnackBar', `${err3string}`)
@@ -1506,8 +1495,8 @@ class QApps extends LitElement {
if (ret === true) {
this.followedNames = this.followedNames.filter(item => item != name)
this.closeAppInfoDialog()
- this.getFollowedNamesRefresh()
- this.getFollowedNamesResource()
+ await this.getFollowedNamesRefresh()
+ await this.getFollowedNamesResource()
} else {
let err4string = get("appspage.schange23")
parentEpml.request('showSnackBar', `${err4string}`)
@@ -1535,9 +1524,9 @@ class QApps extends LitElement {
this.blockedNames = this.blockedNames.filter(item => item != name)
this.blockedNames.push(name)
this.closeAppInfoDialog()
- this.getAppsArrayData()
- this.getBlockedNamesRefresh()
- this.getBlockedNamesResource()
+ await this.getAppsArrayData()
+ await this.getBlockedNamesRefresh()
+ await this.getBlockedNamesResource()
} else {
let err5string = get("appspage.schange24")
parentEpml.request('showSnackBar', `${err5string}`)
@@ -1564,8 +1553,8 @@ class QApps extends LitElement {
if (ret === true) {
this.blockedNames = this.blockedNames.filter(item => item != name)
this.closeBlockedInfoDialog()
- this.getBlockedNamesRefresh()
- this.getBlockedNamesResource()
+ await this.getBlockedNamesRefresh()
+ await this.getBlockedNamesResource()
} else {
let err6string = get("appspage.schange25")
parentEpml.request('showSnackBar', `${err6string}`)
@@ -1590,8 +1579,7 @@ class QApps extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/qdn/browser/browser.src.js b/plugins/plugins/core/qdn/browser/browser.src.js
index b5354bf9..8e9828cc 100644
--- a/plugins/plugins/core/qdn/browser/browser.src.js
+++ b/plugins/plugins/core/qdn/browser/browser.src.js
@@ -1,7 +1,7 @@
-import { css, html, LitElement } from 'lit'
-import { Epml } from '../../../../epml'
+import {css, html, LitElement} from 'lit'
+import {Epml} from '../../../../epml'
import isElectron from 'is-electron'
-import { get, registerTranslateConfig, translate, use } from '../../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../../core/translate'
import ShortUniqueId from 'short-unique-id';
import FileSaver from 'file-saver'
import * as actions from '../../components/qdn-action-types'
@@ -10,10 +10,10 @@ import '@material/mwc-icon'
import '@material/mwc-checkbox'
import WebWorker from 'web-worker:./computePowWorkerFile.src.js'
import WebWorkerChat from 'web-worker:./computePowWorker.src.js'
-import { publishData } from '../../../utils/publish-image.js'
-import { Loader } from '../../../utils/loader.js';
-import { QORT_DECIMALS } from '../../../../../crypto/api/constants'
-import { mimeToExtensionMap } from '../../components/qdn-action-constants';
+import {publishData} from '../../../utils/publish-image.js'
+import {Loader} from '../../../utils/loader.js';
+import {QORT_DECIMALS} from '../../../../../crypto/api/constants'
+import {mimeToExtensionMap} from '../../components/qdn-action-constants';
import {
base64ToUint8Array,
decryptDeprecatedSingle,
@@ -177,11 +177,9 @@ class WebBrowser extends LitElement {
this.displayUrl = displayUrl
const getFollowedNames = async () => {
- let followedNames = await parentEpml.request('apiCall', {
+ this.followedNames = await parentEpml.request('apiCall', {
url: `/lists/followedNames?apiKey=${this.getApiKey()}`,
})
-
- this.followedNames = followedNames
setTimeout(
getFollowedNames,
this.config.user.nodeSettings.pingInterval
@@ -189,11 +187,9 @@ class WebBrowser extends LitElement {
}
const getBlockedNames = async () => {
- let blockedNames = await parentEpml.request('apiCall', {
+ this.blockedNames = await parentEpml.request('apiCall', {
url: `/lists/blockedNames?apiKey=${this.getApiKey()}`,
})
-
- this.blockedNames = blockedNames
setTimeout(
getBlockedNames,
this.config.user.nodeSettings.pingInterval
@@ -299,8 +295,7 @@ class WebBrowser extends LitElement {
async _handleKeyDown(e) {
if (e.key === 'Enter') {
- const value = e.target.value
- let newQuery = value
+ let newQuery = e.target.value
if (newQuery.endsWith('/')) {
newQuery = newQuery.slice(0, -1)
}
@@ -323,8 +318,7 @@ class WebBrowser extends LitElement {
async linkOpenNewTab(link) {
- const value = link
- let newQuery = value
+ let newQuery = link
if (newQuery.endsWith('/')) {
newQuery = newQuery.slice(0, -1)
}
@@ -449,8 +443,7 @@ class WebBrowser extends LitElement {
}
const data = await response.json()
- const joinFee = (Number(data) / 1e8).toFixed(8)
- return joinFee
+ return (Number(data) / 1e8).toFixed(8)
}
async deployAtFee() {
@@ -463,8 +456,7 @@ class WebBrowser extends LitElement {
}
const data = await response.json()
- const joinFee = (Number(data) / 1e8).toFixed(8)
- return joinFee
+ return (Number(data) / 1e8).toFixed(8)
}
async getArbitraryFee() {
@@ -494,8 +486,7 @@ class WebBrowser extends LitElement {
}
const data = await response.json()
- const qortFee = (Number(data) / 1e8).toFixed(8)
- return qortFee
+ return (Number(data) / 1e8).toFixed(8)
}
async unitVoteFee() {
@@ -508,8 +499,7 @@ class WebBrowser extends LitElement {
}
const data = await response.json()
- const joinFee = (Number(data) / 1e8).toFixed(8)
- return joinFee
+ return (Number(data) / 1e8).toFixed(8)
}
async unitCreatePollFee() {
@@ -522,31 +512,28 @@ class WebBrowser extends LitElement {
}
const data = await response.json()
- const joinFee = (Number(data) / 1e8).toFixed(8)
- return joinFee
+ return (Number(data) / 1e8).toFixed(8)
}
async _joinGroup(groupId, groupName) {
const joinFeeInput = await this.unitJoinFee()
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
+ return await parentEpml.request('apiCall', {
type: 'api',
url: `/addresses/lastreference/${this.selectedAddress.address}`
})
- return myRef
}
const validateReceiver = async () => {
let lastRef = await getLastRef()
let myTransaction = await makeTransactionRequest(lastRef)
- const res = getTxnRequestResponse(myTransaction)
- return res
+ return getTxnRequestResponse(myTransaction)
}
const makeTransactionRequest = async (lastRef) => {
let groupdialog1 = get("transactions.groupdialog1")
let groupdialog2 = get("transactions.groupdialog2")
- let myTxnrequest = await parentEpml.request('transaction', {
+ return await parentEpml.request('transaction', {
type: 31,
nonce: this.selectedAddress.nonce,
params: {
@@ -560,7 +547,6 @@ class WebBrowser extends LitElement {
},
apiVersion: 2
})
- return myTxnrequest
}
const getTxnRequestResponse = (txnResponse) => {
@@ -574,26 +560,23 @@ class WebBrowser extends LitElement {
throw new Error('Server error. Could not perform action.')
}
}
- const groupRes = await validateReceiver()
- return groupRes
+ return await validateReceiver()
}
async _deployAt(name, description, tags, creationBytes, amount, assetId, atType) {
const deployAtFee = await this.deployAtFee()
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
+ return await parentEpml.request('apiCall', {
type: 'api',
url: `/addresses/lastreference/${this.selectedAddress.address}`
})
- return myRef
}
const validateReceiver = async () => {
let lastRef = await getLastRef()
let myTransaction = await makeTransactionRequest(lastRef)
- const res = getTxnRequestResponse(myTransaction)
- return res
+ return getTxnRequestResponse(myTransaction)
}
const makeTransactionRequest = async (lastRef) => {
@@ -601,7 +584,7 @@ class WebBrowser extends LitElement {
let deployAtdialog2 = get("transactions.deployAtdialog2")
let deployAtdialog3 = get("transactions.deployAtdialog3")
let deployAtdialog4 = get("walletpage.wchange12")
- let myTxnrequest = await parentEpml.request('transaction', {
+ return await parentEpml.request('transaction', {
type: 16,
nonce: this.selectedAddress.nonce,
params: {
@@ -621,7 +604,6 @@ class WebBrowser extends LitElement {
},
apiVersion: 2
})
- return myTxnrequest
}
const getTxnRequestResponse = (txnResponse) => {
@@ -635,26 +617,23 @@ class WebBrowser extends LitElement {
throw new Error('Server error. Could not perform action.')
}
}
- const groupRes = await validateReceiver()
- return groupRes
+ return await validateReceiver()
}
async _voteOnPoll(pollName, optionIndex) {
const voteFeeInput = await this.unitVoteFee()
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
+ return await parentEpml.request('apiCall', {
type: 'api',
url: `/addresses/lastreference/${this.selectedAddress.address}`
})
- return myRef
}
const validateReceiver = async () => {
let lastRef = await getLastRef()
let myTransaction = await makeTransactionRequest(lastRef)
- const res = getTxnRequestResponse(myTransaction)
- return res
+ return getTxnRequestResponse(myTransaction)
}
const makeTransactionRequest = async (lastRef) => {
@@ -662,7 +641,7 @@ class WebBrowser extends LitElement {
let votedialog2 = get("transactions.votedialog2")
let feeDialog = get("walletpage.wchange12")
- let myTxnrequest = await parentEpml.request('transaction', {
+ return await parentEpml.request('transaction', {
type: 9,
nonce: this.selectedAddress.nonce,
params: {
@@ -677,7 +656,6 @@ class WebBrowser extends LitElement {
},
apiVersion: 2
})
- return myTxnrequest
}
const getTxnRequestResponse = (txnResponse) => {
@@ -691,26 +669,23 @@ class WebBrowser extends LitElement {
throw new Error('Server error. Could not perform action.')
}
}
- const voteRes = await validateReceiver()
- return voteRes
+ return await validateReceiver()
}
async _createPoll(pollName, pollDescription, options, pollOwnerAddress) {
const voteFeeInput = await this.unitCreatePollFee()
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
+ return await parentEpml.request('apiCall', {
type: 'api',
url: `/addresses/lastreference/${this.selectedAddress.address}`
})
- return myRef
}
const validateReceiver = async () => {
let lastRef = await getLastRef()
let myTransaction = await makeTransactionRequest(lastRef)
- const res = getTxnRequestResponse(myTransaction)
- return res
+ return getTxnRequestResponse(myTransaction)
}
const makeTransactionRequest = async (lastRef) => {
@@ -720,7 +695,7 @@ class WebBrowser extends LitElement {
let votedialog6 = get("transactions.votedialog6")
let feeDialog = get("walletpage.wchange12")
- let myTxnrequest = await parentEpml.request('transaction', {
+ return await parentEpml.request('transaction', {
type: 8,
nonce: this.selectedAddress.nonce,
params: {
@@ -738,7 +713,6 @@ class WebBrowser extends LitElement {
},
apiVersion: 2
})
- return myTxnrequest
}
const getTxnRequestResponse = (txnResponse) => {
@@ -752,8 +726,7 @@ class WebBrowser extends LitElement {
throw new Error('Server error. Could not perform action.')
}
}
- const voteRes = await validateReceiver()
- return voteRes
+ return await validateReceiver()
}
@@ -829,8 +802,7 @@ class WebBrowser extends LitElement {
break
} else {
const data = {}
- const errorMsg = "User declined to share account details"
- data['error'] = errorMsg
+ data['error'] = "User declined to share account details"
response = JSON.stringify(data)
break
}
@@ -868,8 +840,7 @@ class WebBrowser extends LitElement {
} catch (error) {
const data = {}
- const errorMsg = error.message || "Error in encrypting data"
- data['error'] = errorMsg
+ data['error'] = error.message || "Error in encrypting data"
response = JSON.stringify(data)
break
}
@@ -882,9 +853,7 @@ class WebBrowser extends LitElement {
try {
let data = {}
if (!encryptedData) {
- const errorMsg = `Missing fields: encryptedData`
-
- data['error'] = errorMsg
+ data['error'] = `Missing fields: encryptedData`
response = JSON.stringify(data)
break
@@ -894,9 +863,7 @@ class WebBrowser extends LitElement {
if (startsWithQortalEncryptedData) {
if (!publicKey) {
- const errorMsg = `Missing fields: publicKey`
-
- data['error'] = errorMsg
+ data['error'] = `Missing fields: publicKey`
response = JSON.stringify(data)
break
}
@@ -918,15 +885,13 @@ class WebBrowser extends LitElement {
}
- const errorMsg = "Unable to decrypt"
- data['error'] = errorMsg
+ data['error'] = "Unable to decrypt"
response = JSON.stringify(data)
break
} catch (error) {
const data = {}
- const errorMsg = error.message || "Error in decrypting data"
- data['error'] = errorMsg
+ data['error'] = error.message || "Error in decrypting data"
response = JSON.stringify(data)
break
}
@@ -976,8 +941,7 @@ class WebBrowser extends LitElement {
} catch (error) {
const data = {}
- const errorMsg = "Error in retrieving list"
- data['error'] = errorMsg
+ data['error'] = "Error in retrieving list"
response = JSON.stringify(data)
} finally {
break
@@ -985,8 +949,7 @@ class WebBrowser extends LitElement {
} else {
const data = {}
- const errorMsg = "User declined to share list"
- data['error'] = errorMsg
+ data['error'] = "User declined to share list"
response = JSON.stringify(data)
break
}
@@ -1028,7 +991,7 @@ class WebBrowser extends LitElement {
}
const bodyToString = JSON.stringify(body)
- const data = await parentEpml.request('apiCall', {
+ response = await parentEpml.request('apiCall', {
type: 'api',
method: 'POST',
url: `/lists/${list_name}?apiKey=${this.getApiKey()}`,
@@ -1037,11 +1000,9 @@ class WebBrowser extends LitElement {
'Content-Type': 'application/json',
},
})
- response = data
} catch (error) {
const data = {}
- const errorMsg = "Error in adding to list"
- data['error'] = errorMsg
+ data['error'] = "Error in adding to list"
response = JSON.stringify(data)
} finally {
break
@@ -1049,8 +1010,7 @@ class WebBrowser extends LitElement {
} else {
const data = {}
- const errorMsg = "User declined add to list"
- data['error'] = errorMsg
+ data['error'] = "User declined add to list"
response = JSON.stringify(data)
break
}
@@ -1093,7 +1053,7 @@ class WebBrowser extends LitElement {
const bodyToString = JSON.stringify(body)
- const data = await parentEpml.request('apiCall', {
+ response = await parentEpml.request('apiCall', {
type: 'api',
method: 'DELETE',
url: `/lists/${list_name}?apiKey=${this.getApiKey()}`,
@@ -1102,11 +1062,9 @@ class WebBrowser extends LitElement {
'Content-Type': 'application/json',
},
})
- response = data
} catch (error) {
const data = {}
- const errorMsg = "Error in adding to list"
- data['error'] = errorMsg
+ data['error'] = "Error in adding to list"
response = JSON.stringify(data)
} finally {
break
@@ -1114,8 +1072,7 @@ class WebBrowser extends LitElement {
} else {
const data = {}
- const errorMsg = "User declined add to list"
- data['error'] = errorMsg
+ data['error'] = "User declined add to list"
response = JSON.stringify(data)
break
}
@@ -1143,8 +1100,7 @@ class WebBrowser extends LitElement {
response = JSON.stringify(list)
} catch (error) {
const data = {}
- const errorMsg = "Error in retrieving friends list"
- data['error'] = errorMsg
+ data['error'] = "Error in retrieving friends list"
response = JSON.stringify(data)
}
@@ -1152,8 +1108,7 @@ class WebBrowser extends LitElement {
} else {
const data = {}
- const errorMsg = "User declined to share friends list"
- data['error'] = errorMsg
+ data['error'] = "User declined to share friends list"
response = JSON.stringify(data)
break
}
@@ -1296,8 +1251,7 @@ class WebBrowser extends LitElement {
} catch (error) {
const obj = {}
- const errorMsg = error.message || 'Upload failed due to failed encryption'
- obj['error'] = errorMsg
+ obj['error'] = error.message || 'Upload failed due to failed encryption'
response = JSON.stringify(obj)
break
}
@@ -1341,7 +1295,7 @@ class WebBrowser extends LitElement {
tag4,
tag5,
apiVersion: 2,
- withFee: res2.userData.isWithFee === true ? true : false,
+ withFee: res2.userData.isWithFee === true,
feeAmount: feeAmount
})
@@ -1350,8 +1304,7 @@ class WebBrowser extends LitElement {
} catch (error) {
worker.terminate()
const obj = {}
- const errorMsg = error.message || 'Upload failed'
- obj['error'] = errorMsg
+ obj['error'] = error.message || 'Upload failed'
response = JSON.stringify(obj)
console.error(error)
break
@@ -1530,7 +1483,7 @@ class WebBrowser extends LitElement {
tag4,
tag5,
apiVersion: 2,
- withFee: res2.userData.isWithFee === true ? true : false,
+ withFee: res2.userData.isWithFee === true,
feeAmount: feeAmount
})
@@ -1547,7 +1500,6 @@ class WebBrowser extends LitElement {
reason: errorMsg,
identifier: resource.identifier
})
- continue
}
} catch (error) {
@@ -1555,7 +1507,6 @@ class WebBrowser extends LitElement {
reason: "Unknown error",
identifier: resource.identifier
})
- continue
}
@@ -1565,10 +1516,9 @@ class WebBrowser extends LitElement {
if (failedPublishesIdentifiers.length > 0) {
response = failedPublishesIdentifiers
const obj = {}
- const errorMsg = {
+ obj['error'] = {
unsuccessfulPublishes: failedPublishesIdentifiers
}
- obj['error'] = errorMsg
response = JSON.stringify(obj)
this.loader.hide()
break
@@ -1630,8 +1580,7 @@ class WebBrowser extends LitElement {
response = JSON.stringify(resVoteOnPoll)
} catch (error) {
const obj = {}
- const errorMsg = error.message || 'Failed to vote on the poll.'
- obj['error'] = errorMsg
+ obj['error'] = error.message || 'Failed to vote on the poll.'
response = JSON.stringify(obj)
} finally {
this.loader.hide()
@@ -1670,8 +1619,7 @@ class WebBrowser extends LitElement {
response = JSON.stringify(resCreatePoll)
} catch (error) {
const obj = {}
- const errorMsg = error.message || 'Failed to created poll.'
- obj['error'] = errorMsg
+ obj['error'] = error.message || 'Failed to created poll.'
response = JSON.stringify(obj)
} finally {
this.loader.hide()
@@ -1683,8 +1631,7 @@ class WebBrowser extends LitElement {
case actions.OPEN_NEW_TAB: {
if (!data.qortalLink) {
const obj = {}
- const errorMsg = 'Please enter a qortal link - qortal://...'
- obj['error'] = errorMsg
+ obj['error'] = 'Please enter a qortal link - qortal://...'
response = JSON.stringify(obj)
break
}
@@ -1696,8 +1643,7 @@ class WebBrowser extends LitElement {
} catch (error) {
console.log('error', error)
const obj = {}
- const errorMsg = "Invalid qortal link"
- obj['error'] = errorMsg
+ obj['error'] = "Invalid qortal link"
response = JSON.stringify(obj)
break
}
@@ -1763,8 +1709,7 @@ class WebBrowser extends LitElement {
} catch (error) {
const obj = {}
- const errorMsg = error.message || "error in pushing notification"
- obj['error'] = errorMsg
+ obj['error'] = error.message || "error in pushing notification"
response = JSON.stringify(obj)
break
@@ -1775,7 +1720,7 @@ class WebBrowser extends LitElement {
const message = data.message
const recipient = data.destinationAddress
const groupId = data.groupId
- const isRecipient = groupId ? false : true
+ const isRecipient = !groupId
const sendMessage = async (messageText, chatReference) => {
let _reference = new Uint8Array(64)
@@ -1826,8 +1771,7 @@ class WebBrowser extends LitElement {
}
- const msgResponse = await _computePow(chatResponse)
- return msgResponse
+ return await _computePow(chatResponse)
}
const _computePow = async (chatBytes) => {
@@ -1853,8 +1797,7 @@ class WebBrowser extends LitElement {
apiVersion: 2
})
- const chatResponse = getSendChatResponse(_response)
- return chatResponse
+ return getSendChatResponse(_response)
}
const getSendChatResponse = (res) => {
@@ -1867,8 +1810,7 @@ class WebBrowser extends LitElement {
}
}
- const chatResponse = await sendMessageRequest()
- return chatResponse
+ return await sendMessageRequest()
}
const result = await showModalAndWait(
@@ -1938,8 +1880,7 @@ class WebBrowser extends LitElement {
// }
try {
this.loader.show()
- const msgResponse = await sendMessage(stringifyMessageObject)
- response = msgResponse
+ response = await sendMessage(stringifyMessageObject)
} catch (error) {
console.error(error)
if (error.message) {
@@ -2014,8 +1955,7 @@ class WebBrowser extends LitElement {
response = JSON.stringify(resJoinGroup)
} catch (error) {
const obj = {}
- const errorMsg = error.message || 'Failed to join the group.'
- obj['error'] = errorMsg
+ obj['error'] = error.message || 'Failed to join the group.'
response = JSON.stringify(obj)
} finally {
this.loader.hide()
@@ -2076,15 +2016,13 @@ class WebBrowser extends LitElement {
let fileHandleOptions = {}
if (!mimeType) {
const obj = {}
- const errorMsg = 'A mimeType could not be derived'
- obj['error'] = errorMsg
+ obj['error'] = 'A mimeType could not be derived'
response = JSON.stringify(obj)
break
}
if (!fileExtension) {
const obj = {}
- const errorMsg = 'A file extension could not be derived'
- obj['error'] = errorMsg
+ obj['error'] = 'A file extension could not be derived'
response = JSON.stringify(obj)
break
}
@@ -2117,8 +2055,7 @@ class WebBrowser extends LitElement {
} catch (error) {
if (error.name === 'AbortError') {
const obj = {}
- const errorMsg = 'User declined the download'
- obj['error'] = errorMsg
+ obj['error'] = 'User declined the download'
response = JSON.stringify(obj)
break
}
@@ -2128,8 +2065,7 @@ class WebBrowser extends LitElement {
response = JSON.stringify(true)
} catch (error) {
const obj = {}
- const errorMsg = error.message || 'Failed to initiate download'
- obj['error'] = errorMsg
+ obj['error'] = error.message || 'Failed to initiate download'
response = JSON.stringify(obj)
}
break
@@ -2162,8 +2098,7 @@ class WebBrowser extends LitElement {
response = JSON.stringify(resDeployAt)
} catch (error) {
const obj = {}
- const errorMsg = error.message || 'Failed to join the group.'
- obj['error'] = errorMsg
+ obj['error'] = error.message || 'Failed to join the group.'
response = JSON.stringify(obj)
} finally {
this.loader.hide()
@@ -2240,8 +2175,7 @@ class WebBrowser extends LitElement {
} catch (error) {
const obj = {};
- const errorMsg = error.message || 'Failed to join the group.';
- obj['error'] = errorMsg;
+ obj['error'] = error.message || 'Failed to join the group.';
response = JSON.stringify(obj);
} finally {
this.loader.hide();
@@ -2319,8 +2253,7 @@ class WebBrowser extends LitElement {
} catch (error) {
const obj = {};
- const errorMsg = error.message || 'Failed to set property.';
- obj['error'] = errorMsg;
+ obj['error'] = error.message || 'Failed to set property.';
response = JSON.stringify(obj);
} finally {
this.loader.hide();
@@ -2356,8 +2289,7 @@ class WebBrowser extends LitElement {
response = JSON.stringify(true);
} catch (error) {
const obj = {};
- const errorMsg = error.message || 'Failed to open profile';
- obj['error'] = errorMsg;
+ obj['error'] = error.message || 'Failed to open profile';
response = JSON.stringify(obj);
}
break;
@@ -2468,17 +2400,15 @@ class WebBrowser extends LitElement {
let qortAddress = window.parent.reduxStore.getState().app.selectedAddress.address
try {
this.loader.show()
- const QORTBalance = await parentEpml.request('apiCall', {
+ response = await parentEpml.request('apiCall', {
url: `/addresses/balance/${qortAddress}?apiKey=${this.getApiKey()}`,
})
- response = QORTBalance
} catch (error) {
console.error(error)
const data = {}
- const errorMsg = error.message || get("browserpage.bchange21")
- data['error'] = errorMsg
+ data['error'] = error.message || get("browserpage.bchange21")
response = JSON.stringify(data)
} finally {
@@ -2525,8 +2455,7 @@ class WebBrowser extends LitElement {
})
if (isNaN(Number(res))) {
const data = {}
- const errorMsg = get("browserpage.bchange21")
- data['error'] = errorMsg
+ data['error'] = get("browserpage.bchange21")
response = JSON.stringify(data)
return
} else {
@@ -2535,8 +2464,7 @@ class WebBrowser extends LitElement {
} catch (error) {
console.error(error)
const data = {}
- const errorMsg = error.message || get("browserpage.bchange21")
- data['error'] = errorMsg
+ data['error'] = error.message || get("browserpage.bchange21")
response = JSON.stringify(data)
return
} finally {
@@ -2597,8 +2525,7 @@ class WebBrowser extends LitElement {
} catch (error) {
console.error(error)
const data = {}
- const errorMsg = error.message || get("browserpage.bchange21")
- data['error'] = errorMsg
+ data['error'] = error.message || get("browserpage.bchange21")
response = JSON.stringify(data)
return
} finally {
@@ -2644,8 +2571,7 @@ class WebBrowser extends LitElement {
} catch (error) {
console.error(error)
const data = {}
- const errorMsg = error.message || 'Error in retrieving server info'
- data['error'] = errorMsg
+ data['error'] = error.message || 'Error in retrieving server info'
response = JSON.stringify(data)
return
} finally {
@@ -2655,17 +2581,54 @@ class WebBrowser extends LitElement {
break
}
+ case actions.GET_TX_ACTIVITY_SUMMARY: {
+ const requiredFields = ['coin']
+ const missingFields = []
+
+ requiredFields.forEach((field) => {
+ if (!data[field]) {
+ missingFields.push(field)
+ }
+ })
+
+ if (missingFields.length > 0) {
+ const missingFieldsString = missingFields.join(', ')
+ const errorMsg = `Missing fields: ${missingFieldsString}`
+ let data = {}
+ data['error'] = errorMsg
+ response = JSON.stringify(data)
+ break
+ }
+
+ try {
+ let coin = data.coin;
+ response = await parentEpml.request('apiCall', {
+ type: 'api',
+ method: 'POST',
+ url: `/crosschain/txactivity?apiKey=${this.getApiKey()}&foreignBlockchain=${coin}`,
+ headers: {
+ 'Accept': '*/*',
+ 'Content-Type': 'application/json'
+ },
+ })
+ } catch (error) {
+ const data = {}
+ data['error'] = "Error in tx activity summary"
+ response = JSON.stringify(data)
+ } finally {
+ break
+ }
+ }
+
case actions.GET_DAY_SUMMARY: {
try {
- const summary = await parentEpml.request('apiCall', {
+ response = await parentEpml.request('apiCall', {
type: 'api',
url: `/admin/summary?apiKey=${this.getApiKey()}`,
})
- response = summary
} catch (error) {
const data = {}
- const errorMsg = "Error in retrieving summary"
- data['error'] = errorMsg
+ data['error'] = "Error in retrieving summary"
response = JSON.stringify(data)
} finally {
break
@@ -2685,7 +2648,7 @@ class WebBrowser extends LitElement {
if (missingFields.length > 0) {
const missingFieldsString = missingFields.join(', ')
const errorMsg = `Missing fields: ${missingFieldsString}`
- showErrorAndWait("MISSING_FIELDS", errorMsg)
+ await showErrorAndWait("MISSING_FIELDS", errorMsg)
let data = {}
data['error'] = errorMsg
response = JSON.stringify(data)
@@ -2711,7 +2674,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Failed to Fetch QORT Balance. Try again!"
let failedMsg = get("walletpage.wchange33") + " QORT " + get("general.balance")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
+ await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -2733,7 +2696,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Insufficient Funds!"
let failedMsg = get("walletpage.wchange26")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
+ await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -2742,7 +2705,7 @@ class WebBrowser extends LitElement {
if (amount <= 0) {
let errorMsg = "Invalid Amount!"
- showErrorAndWait("INVALID_AMOUNT", errorMsg)
+ await showErrorAndWait("INVALID_AMOUNT", errorMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -2751,7 +2714,7 @@ class WebBrowser extends LitElement {
if (recipient.length === 0) {
let errorMsg = "Receiver cannot be empty!"
- showErrorAndWait("NO_RECEIVER", errorMsg)
+ await showErrorAndWait("NO_RECEIVER", errorMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -2773,7 +2736,7 @@ class WebBrowser extends LitElement {
let errorMsg = "User declined request"
let myMsg1 = get("transactions.declined")
let myMsg2 = get("walletpage.wchange44")
- showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
+ await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
response = '{"error": "User declined request"}'
break
}
@@ -2794,8 +2757,7 @@ class WebBrowser extends LitElement {
}
const validateAddress = async (receiverAddress) => {
- let myAddress = await window.parent.validateAddress(receiverAddress)
- return myAddress
+ return await window.parent.validateAddress(receiverAddress)
}
const validateReceiver = async (recipient) => {
@@ -2810,19 +2772,17 @@ class WebBrowser extends LitElement {
if (isAddress) {
let myTransaction = await makeTransactionRequest(recipient, lastRef)
- const res = getTxnRequestResponse(myTransaction)
- return res
+ return getTxnRequestResponse(myTransaction)
} else {
let myNameRes = await validateName(recipient)
if (myNameRes !== false) {
let myNameAddress = myNameRes.owner
let myTransaction = await makeTransactionRequest(myNameAddress, lastRef)
- const res = getTxnRequestResponse(myTransaction)
- return res
+ return getTxnRequestResponse(myTransaction)
} else {
let errorMsg = get("walletpage.wchange29")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INVALID_RECEIVER", errorMsg, pleaseMsg)
+ await showErrorAndWait("INVALID_RECEIVER", errorMsg, pleaseMsg)
throw new Error(errorMsg)
}
}
@@ -2855,7 +2815,7 @@ class WebBrowser extends LitElement {
let dialogName = get("login.name")
let dialogto = get("transactions.to")
let recipientName = await getName(myReceiver)
- let myTxnrequest = await parentEpml.request('transaction', {
+ return await parentEpml.request('transaction', {
type: 2,
nonce: this.myAddress.nonce,
params: {
@@ -2871,7 +2831,6 @@ class WebBrowser extends LitElement {
},
apiVersion: 2
})
- return myTxnrequest
}
const getTxnRequestResponse = (txnResponse) => {
@@ -2889,8 +2848,7 @@ class WebBrowser extends LitElement {
}
try {
- const result = await validateReceiver(recipient)
- response = result
+ response = await validateReceiver(recipient)
} catch (error) {
console.error(error)
response = '{"error": "Request could not be fulfilled"}'
@@ -2917,7 +2875,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Failed to Fetch BTC Balance. Try again!"
let failedMsg = get("walletpage.wchange33") + " BTC " + get("general.balance")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
+ await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -2934,7 +2892,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Insufficient Funds!"
let failedMsg = get("walletpage.wchange26")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
+ await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -2958,7 +2916,7 @@ class WebBrowser extends LitElement {
let errorMsg = "User declined request"
let myMsg1 = get("transactions.declined")
let myMsg2 = get("walletpage.wchange44")
- showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
+ await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
response = '{"error": "User declined request"}'
break
}
@@ -2972,8 +2930,7 @@ class WebBrowser extends LitElement {
bitcoinAmount: amount,
feePerByte: feePerByte * QORT_DECIMALS
}
- const response = await parentEpml.request('sendBtc', opts)
- return response
+ return await parentEpml.request('sendBtc', opts)
}
const manageResponse = (response) => {
@@ -3027,7 +2984,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Failed to Fetch LTC Balance. Try again!"
let failedMsg = get("walletpage.wchange33") + " LTC " + get("general.balance")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
+ await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3044,7 +3001,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Insufficient Funds!"
let failedMsg = get("walletpage.wchange26")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
+ await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3068,7 +3025,7 @@ class WebBrowser extends LitElement {
let errorMsg = "User declined request"
let myMsg1 = get("transactions.declined")
let myMsg2 = get("walletpage.wchange44")
- showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
+ await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
response = '{"error": "User declined request"}'
break
}
@@ -3082,8 +3039,7 @@ class WebBrowser extends LitElement {
litecoinAmount: amount,
feePerByte: feePerByte * QORT_DECIMALS
}
- const response = await parentEpml.request('sendLtc', opts)
- return response
+ return await parentEpml.request('sendLtc', opts)
}
const manageResponse = (response) => {
@@ -3137,7 +3093,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Failed to Fetch DOGE Balance. Try again!"
let failedMsg = get("walletpage.wchange33") + " DOGE " + get("general.balance")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
+ await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3154,7 +3110,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Insufficient Funds!"
let failedMsg = get("walletpage.wchange26")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
+ await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3178,7 +3134,7 @@ class WebBrowser extends LitElement {
let errorMsg = "User declined request"
let myMsg1 = get("transactions.declined")
let myMsg2 = get("walletpage.wchange44")
- showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
+ await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
response = '{"error": "User declined request"}'
break
}
@@ -3192,8 +3148,7 @@ class WebBrowser extends LitElement {
dogecoinAmount: amount,
feePerByte: feePerByte * QORT_DECIMALS
}
- const response = await parentEpml.request('sendDoge', opts)
- return response
+ return await parentEpml.request('sendDoge', opts)
}
const manageResponse = (response) => {
@@ -3247,7 +3202,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Failed to Fetch DGB Balance. Try again!"
let failedMsg = get("walletpage.wchange33") + " DGB " + get("general.balance")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
+ await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3264,7 +3219,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Insufficient Funds!"
let failedMsg = get("walletpage.wchange26")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
+ await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3288,7 +3243,7 @@ class WebBrowser extends LitElement {
let errorMsg = "User declined request"
let myMsg1 = get("transactions.declined")
let myMsg2 = get("walletpage.wchange44")
- showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
+ await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
response = '{"error": "User declined request"}'
break
}
@@ -3302,8 +3257,7 @@ class WebBrowser extends LitElement {
digibyteAmount: amount,
feePerByte: feePerByte * QORT_DECIMALS
}
- const response = await parentEpml.request('sendDgb', opts)
- return response
+ return await parentEpml.request('sendDgb', opts)
}
const manageResponse = (response) => {
@@ -3357,7 +3311,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Failed to Fetch RVN Balance. Try again!"
let failedMsg = get("walletpage.wchange33") + " RVN " + get("general.balance")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
+ await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3374,7 +3328,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Insufficient Funds!"
let failedMsg = get("walletpage.wchange26")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
+ await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3398,7 +3352,7 @@ class WebBrowser extends LitElement {
let errorMsg = "User declined request"
let myMsg1 = get("transactions.declined")
let myMsg2 = get("walletpage.wchange44")
- showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
+ await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
response = '{"error": "User declined request"}'
break
}
@@ -3412,8 +3366,7 @@ class WebBrowser extends LitElement {
ravencoinAmount: amount,
feePerByte: feePerByte * QORT_DECIMALS
}
- const response = await parentEpml.request('sendRvn', opts)
- return response
+ return await parentEpml.request('sendRvn', opts)
}
const manageResponse = (response) => {
@@ -3467,7 +3420,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Failed to Fetch ARRR Balance. Try again!"
let failedMsg = get("walletpage.wchange33") + " ARRR " + get("general.balance")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
+ await showErrorAndWait("FAILED_FETCH", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3484,7 +3437,7 @@ class WebBrowser extends LitElement {
let errorMsg = "Insufficient Funds!"
let failedMsg = get("walletpage.wchange26")
let pleaseMsg = get("walletpage.wchange44")
- showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
+ await showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg)
let obj = {}
obj['error'] = errorMsg
response = JSON.stringify(obj)
@@ -3508,7 +3461,7 @@ class WebBrowser extends LitElement {
let errorMsg = "User declined request"
let myMsg1 = get("transactions.declined")
let myMsg2 = get("walletpage.wchange44")
- showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
+ await showErrorAndWait("DECLINED_REQUEST", myMsg1, myMsg2)
response = '{"error": "User declined request"}'
break
}
@@ -3522,8 +3475,7 @@ class WebBrowser extends LitElement {
arrrAmount: amount,
memo: memo
}
- const response = await parentEpml.request('sendArrr', opts)
- return response
+ return await parentEpml.request('sendArrr', opts)
}
const manageResponse = (response) => {
@@ -3944,8 +3896,7 @@ class WebBrowser extends LitElement {
window.parent.reduxStore.getState().app.nodeConfig.knownNodes[
window.parent.reduxStore.getState().app.nodeConfig.node
]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
}
@@ -3980,7 +3931,7 @@ async function showModalAndWait(type, data) {
${type === actions.PUBLISH_MULTIPLE_QDN_RESOURCES ? `
${get("browserpage.bchange19")}
-
${get("browserpage.bchange45")}: ${data.encrypt ? true : false}
+
${get("browserpage.bchange45")}: ${(!!data.encrypt)}
${data.resources.map((resource) => `
@@ -4003,7 +3954,7 @@ async function showModalAndWait(type, data) {
${get("browserpage.bchange30")}: ${data.service}
${get("browserpage.bchange31")}: ${data.name}
${get("browserpage.bchange32")}: ${data.identifier}
- ${get("browserpage.bchange45")}: ${data.encrypt ? true : false}
+ ${get("browserpage.bchange45")}: ${(!!data.encrypt)}
${get('browserpage.bchange47')} ${data.feeAmount} QORT fee
@@ -4124,7 +4075,7 @@ async function showModalAndWait(type, data) {
const modalContent = modal.querySelector('.modal-content')
modalContent.addEventListener('click', (e) => {
e.stopPropagation()
- return
+
})
const backdropClick = document.getElementById('backdrop')
backdropClick.addEventListener('click', () => {
diff --git a/plugins/plugins/core/qdn/data-management/data-management.src.js b/plugins/plugins/core/qdn/data-management/data-management.src.js
index 9a9a6f2a..b66fa508 100644
--- a/plugins/plugins/core/qdn/data-management/data-management.src.js
+++ b/plugins/plugins/core/qdn/data-management/data-management.src.js
@@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../../epml'
import isElectron from 'is-electron'
-import {get, registerTranslateConfig, translate, use} from '../../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../../core/translate'
import '@material/mwc-button'
import '@material/mwc-dialog'
import '@material/mwc-icon'
@@ -663,8 +663,7 @@ class DataManagement extends LitElement {
let filepath = gifViewObj.filepath
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
- const gifUrl = `${nodeUrl}/arbitrary/${service}/${name}/${identifier}?filepath=${filepath}&rebuild=true&async=true&apiKey=${this.getApiKey()}`
- this.dataImageUrl = gifUrl
+ this.dataImageUrl = `${nodeUrl}/arbitrary/${service}/${name}/${identifier}?filepath=${filepath}&rebuild=true&async=true&apiKey=${this.getApiKey()}`
this.shadowRoot.querySelector('#showGifImage').show()
}
@@ -984,10 +983,9 @@ class DataManagement extends LitElement {
}
getManagementDetails = async () => {
- const myDat = await parentEpml.request('apiCall', {
- url: `/arbitrary/hosted/resources?apiKey=${this.getApiKey()}`
- })
- this.datres = myDat;
+ this.datres = await parentEpml.request('apiCall', {
+ url: `/arbitrary/hosted/resources?apiKey=${this.getApiKey()}`
+ });
}
async updateItemsFromPage(page) {
@@ -1064,37 +1062,32 @@ class DataManagement extends LitElement {
}
getSearchBlockedNames = async () => {
- let searchBlockedNames = await parentEpml.request('apiCall', {
- url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
- })
- this.searchBlockedNames = searchBlockedNames
+ this.searchBlockedNames = await parentEpml.request('apiCall', {
+ url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
+ })
}
getSearchFollowedNames = async () => {
- let searchFollowedNames = await parentEpml.request('apiCall', {
- url: `/lists/followedNames?apiKey=${this.getApiKey()}`
- })
- this.searchFollowedNames = searchFollowedNames
+ this.searchFollowedNames = await parentEpml.request('apiCall', {
+ url: `/lists/followedNames?apiKey=${this.getApiKey()}`
+ })
}
getBlockedNames = async () => {
- let blockedNames = await parentEpml.request('apiCall', {
- url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
- })
- this.blockedNames = blockedNames
+ this.blockedNames = await parentEpml.request('apiCall', {
+ url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
+ })
}
getFollowedNames = async () => {
- let followedNames = await parentEpml.request('apiCall', {
- url: `/lists/followedNames?apiKey=${this.getApiKey()}`
- })
- this.followedNames = followedNames
+ this.followedNames = await parentEpml.request('apiCall', {
+ url: `/lists/followedNames?apiKey=${this.getApiKey()}`
+ })
}
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
- let apiKey = myNode.apiKey;
- return apiKey;
+ return myNode.apiKey;
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/qdn/publish/publish.src.js b/plugins/plugins/core/qdn/publish/publish.src.js
index ab6cb50d..c2ffe374 100644
--- a/plugins/plugins/core/qdn/publish/publish.src.js
+++ b/plugins/plugins/core/qdn/publish/publish.src.js
@@ -1,7 +1,7 @@
import {css, html, LitElement} from 'lit'
import {Epml} from '../../../../epml'
import isElectron from 'is-electron'
-import {get, registerTranslateConfig, translate, use} from '../../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../../core/translate'
import '@material/mwc-button'
import '@material/mwc-textfield'
import '@material/mwc-select'
@@ -254,7 +254,7 @@ class PublishData extends LitElement {
${translate("publishpage.pchange1")} / ${translate("publishpage.pchange2")} ${this.category}
-
${translate("publishpage.pchange3")}
+
${translate("publishpage.pchange3")}
(500 KB max.)
@@ -478,7 +478,7 @@ class PublishData extends LitElement {
if (res.action !== 'accept') throw new Error('User declined publish')
}
- this.publishData(registeredName, path, file, service, identifier, preview, fee)
+ await this.publishData(registeredName, path, file, service, identifier, preview, fee)
} catch (error) {
this.shadowRoot.querySelector('#publishWithFeeDialog').close()
}
@@ -491,12 +491,10 @@ class PublishData extends LitElement {
this.btnDisable = true
const validateName = async (receiverName) => {
- let nameRes = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/names/${receiverName}`,
- })
-
- return nameRes
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/names/${receiverName}`,
+ })
}
const showError = async (errorMessage) => {
@@ -522,7 +520,7 @@ class PublishData extends LitElement {
let validNameRes = await validateName(registeredName)
if (validNameRes.error) {
this.errorMessage = "Error: " + validNameRes.message
- showError(this.errorMessage)
+ await showError(this.errorMessage)
throw new Error(this.errorMessage)
}
@@ -545,13 +543,13 @@ class PublishData extends LitElement {
if (uploadDataRes.error) {
let err7string = get("publishpage.pchange20")
this.errorMessage = `${err7string}` + uploadDataRes.message
- showError(this.errorMessage)
+ await showError(this.errorMessage)
throw new Error(this.errorMessage)
}
else if (uploadDataRes.includes("Error 500 Internal Server Error")) {
let err8string = get("publishpage.pchange21")
this.errorMessage = `${err8string}`
- showError(this.errorMessage)
+ await showError(this.errorMessage)
throw new Error(this.errorMessage)
}
@@ -580,7 +578,7 @@ class PublishData extends LitElement {
if (signAndProcessRes.error) {
let err10string = get("publishpage.pchange20")
this.errorMessage = `${err10string}` + signAndProcessRes.message
- showError(this.errorMessage)
+ await showError(this.errorMessage)
throw new Error(this.errorMessage)
}
@@ -644,23 +642,21 @@ class PublishData extends LitElement {
}
}
- let uploadDataRes = await parentEpml.request('apiCall', {
- type: 'api',
- method: 'POST',
- url: `${uploadDataUrl}`,
- body: `${postBody}`,
- })
- return uploadDataRes
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ method: 'POST',
+ url: `${uploadDataUrl}`,
+ body: `${postBody}`,
+ })
}
const convertBytesForSigning = async (transactionBytesBase58) => {
- let convertedBytes = await parentEpml.request('apiCall', {
- type: 'api',
- method: 'POST',
- url: `/transactions/convert`,
- body: `${transactionBytesBase58}`,
- })
- return convertedBytes
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ method: 'POST',
+ url: `/transactions/convert`,
+ body: `${transactionBytesBase58}`,
+ })
}
const signAndProcess = async (transactionBytesBase58, fee) => {
@@ -668,7 +664,7 @@ class PublishData extends LitElement {
if (convertedBytesBase58.error) {
let err12string = get("publishpage.pchange20")
this.errorMessage = `${err12string}` + convertedBytesBase58.message
- showError(this.errorMessage)
+ await showError(this.errorMessage)
throw new Error(this.errorMessage)
}
@@ -716,7 +712,7 @@ class PublishData extends LitElement {
}
return myResponse
}
- validate()
+ await validate()
}
fetchResourceMetadata() {
@@ -750,8 +746,7 @@ class PublishData extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
}
diff --git a/plugins/plugins/core/qdn/websites.src.js b/plugins/plugins/core/qdn/websites.src.js
index 2881dd63..79b30bfe 100644
--- a/plugins/plugins/core/qdn/websites.src.js
+++ b/plugins/plugins/core/qdn/websites.src.js
@@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
import isElectron from 'is-electron'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import '@material/mwc-dialog'
import '@material/mwc-icon'
import '@material/mwc-button'
@@ -406,28 +406,23 @@ class Websites extends LitElement {
}, 0)
const getFollowedNames = async () => {
- let followedNames = await parentEpml.request('apiCall', {
- url: `/lists/followedNames?apiKey=${this.getApiKey()}`
- })
-
- this.followedNames = followedNames
+ this.followedNames = await parentEpml.request('apiCall', {
+ url: `/lists/followedNames?apiKey=${this.getApiKey()}`
+ })
setTimeout(getFollowedNames, 60000)
}
const getBlockedNames = async () => {
- let blockedNames = await parentEpml.request('apiCall', {
- url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
- })
- this.blockedNames = blockedNames
+ this.blockedNames = await parentEpml.request('apiCall', {
+ url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
+ })
setTimeout(getBlockedNames, 60000)
}
const getRelayMode = async () => {
- let relayMode = await parentEpml.request('apiCall', {
- url: `/arbitrary/relaymode?apiKey=${this.getApiKey()}`
- })
-
- this.relayMode = relayMode
+ this.relayMode = await parentEpml.request('apiCall', {
+ url: `/arbitrary/relaymode?apiKey=${this.getApiKey()}`
+ })
setTimeout(getRelayMode, 600000)
}
@@ -553,38 +548,33 @@ class Websites extends LitElement {
}
getArbitraryResources = async () => {
- const resources = await parentEpml.request('apiCall', {
- url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=false&includemetadata=false&excludeblocked=true`
- })
- this.resources = resources
+ this.resources = await parentEpml.request('apiCall', {
+ url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=false&includemetadata=false&excludeblocked=true`
+ })
}
getFollowedNamesResource = async () => {
- const followedRes = await parentEpml.request('apiCall', {
- url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=followedNames`
- })
- this.followedResources = followedRes
+ this.followedResources = await parentEpml.request('apiCall', {
+ url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=followedNames`
+ })
}
getFollowedNamesRefresh = async () => {
- let followedNames = await parentEpml.request('apiCall', {
- url: `/lists/followedNames?apiKey=${this.getApiKey()}`
- })
- this.followedNames = followedNames
+ this.followedNames = await parentEpml.request('apiCall', {
+ url: `/lists/followedNames?apiKey=${this.getApiKey()}`
+ })
}
getBlockedNamesResource = async () => {
- const blockedRes = await parentEpml.request('apiCall', {
- url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=blockedNames`
- })
- this.blockedResources = blockedRes
+ this.blockedResources = await parentEpml.request('apiCall', {
+ url: `/arbitrary/resources?service=${this.service}&default=true&limit=0&reverse=false&includestatus=true&includemetadata=true&namefilter=blockedNames`
+ })
}
getBlockedNamesRefresh = async () => {
- let blockedNames = await parentEpml.request('apiCall', {
- url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
- })
- this.blockedNames = blockedNames
+ this.blockedNames = await parentEpml.request('apiCall', {
+ url: `/lists/blockedNames?apiKey=${this.getApiKey()}`
+ })
}
async getData(offset) {
@@ -593,9 +583,7 @@ class Websites extends LitElement {
let jsonOffsetUrl = `${nodeUrl}/arbitrary/resources?service=WEBSITE&default=true&limit=20&offset=${offset}&reverse=false&includestatus=true&includemetadata=true&excludeblocked=true`
const jsonOffsetRes = await fetch(jsonOffsetUrl)
- const jsonOffsetData = await jsonOffsetRes.json()
-
- this.pageRes = jsonOffsetData
+ this.pageRes = await jsonOffsetRes.json()
}
async updateItemsFromPage(page) {
@@ -809,8 +797,8 @@ class Websites extends LitElement {
// immediately, as apposed to only adding if it doesn't already exist
this.followedNames = this.followedNames.filter(item => item != name)
this.followedNames.push(name)
- this.getFollowedNamesRefresh()
- this.getFollowedNamesResource()
+ await this.getFollowedNamesRefresh()
+ await this.getFollowedNamesResource()
} else {
let err3string = get("websitespage.schange22")
parentEpml.request('showSnackBar', `${err3string}`)
@@ -863,8 +851,8 @@ class Websites extends LitElement {
if (ret === true) {
// Successfully unfollowed - remove from local list
this.followedNames = this.followedNames.filter(item => item != name)
- this.getFollowedNamesRefresh()
- this.getFollowedNamesResource()
+ await this.getFollowedNamesRefresh()
+ await this.getFollowedNamesResource()
} else {
let err4string = get("websitespage.schange23")
parentEpml.request('showSnackBar', `${err4string}`)
@@ -923,8 +911,8 @@ class Websites extends LitElement {
// immediately, as apposed to only adding if it doesn't already exist
this.blockedNames = this.blockedNames.filter(item => item != name)
this.blockedNames.push(name)
- this.getBlockedNamesRefresh()
- this.getBlockedNamesResource()
+ await this.getBlockedNamesRefresh()
+ await this.getBlockedNamesResource()
} else {
let err5string = get("websitespage.schange24")
parentEpml.request('showSnackBar', `${err5string}`)
@@ -977,8 +965,8 @@ class Websites extends LitElement {
if (ret === true) {
// Successfully unblocked - remove from local list
this.blockedNames = this.blockedNames.filter(item => item != name)
- this.getBlockedNamesRefresh()
- this.getBlockedNamesResource()
+ await this.getBlockedNamesRefresh()
+ await this.getBlockedNamesResource()
} else {
let err6string = get("websitespage.schange25")
parentEpml.request('showSnackBar', `${err6string}`)
@@ -1116,8 +1104,7 @@ class Websites extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/qortal-lottery/qortal-lottery.src.js b/plugins/plugins/core/qortal-lottery/qortal-lottery.src.js
index 0859f509..336c2478 100644
--- a/plugins/plugins/core/qortal-lottery/qortal-lottery.src.js
+++ b/plugins/plugins/core/qortal-lottery/qortal-lottery.src.js
@@ -1,7 +1,7 @@
import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import isElectron from 'is-electron'
import '@material/mwc-button'
import '@material/mwc-dialog'
@@ -480,20 +480,20 @@ class QortalLottery extends LitElement {
})
})
- await this.openLotteries.map(item => {
- const aTT = item.ATAddress
- const endHeight = item.sleepUntilHeight
- const newObj = {
- ATAddress: aTT,
- sleepUntilHeight: endHeight
- }
- this.openLotteriesAtArray.push(newObj)
- })
+ this.openLotteries.map(item => {
+ const aTT = item.ATAddress
+ const endHeight = item.sleepUntilHeight
+ const newObj = {
+ ATAddress: aTT,
+ sleepUntilHeight: endHeight
+ }
+ this.openLotteriesAtArray.push(newObj)
+ })
- await this.closedLotteries.map(item => {
- const myAT = item.ATAddress
- this.closedLotteriesAtArray.push(myAT)
- })
+ this.closedLotteries.map(item => {
+ const myAT = item.ATAddress
+ this.closedLotteriesAtArray.push(myAT)
+ })
const appDelay = ms => new Promise(res => setTimeout(res, ms))
await appDelay(1000)
@@ -502,37 +502,37 @@ class QortalLottery extends LitElement {
async getOpenLotteries() {
let prepareOpenLotteriesArray = []
- await this.openLotteriesAtArray.map(item => {
- parentEpml.request('apiCall', {
- url: `/transactions/address/${item.ATAddress}?limit=0&reverse=true`
- }).then(res => {
- this.openLotteriesFilterTx1 = []
- this.openLotteriesFilterTx2 = []
- this.openLotteriesFilterTx = res.filter(function (da) {
- return da.type === "DEPLOY_AT"
- })
- this.openLotteriesFilterTx2 = res.filter(function (pm) {
- return pm.type === "PAYMENT"
- })
- this.openLotteriesFilterTx.map(item2 => {
- const sleep = item.sleepUntilHeight
- const desc = item2.description
- const start = item2.blockHeight
- const ata = item2.aTAddress
- const amount = item2.tags
- const players = this.openLotteriesFilterTx2.length
- const obj = {
- description: desc,
- startBlock: start,
- endBlock: sleep,
- aTAddress: ata,
- joined: players,
- enter: amount
- }
- prepareOpenLotteriesArray.push(obj)
- })
- })
- })
+ this.openLotteriesAtArray.map(item => {
+ parentEpml.request('apiCall', {
+ url: `/transactions/address/${item.ATAddress}?limit=0&reverse=true`
+ }).then(res => {
+ this.openLotteriesFilterTx1 = []
+ this.openLotteriesFilterTx2 = []
+ this.openLotteriesFilterTx = res.filter(function (da) {
+ return da.type === "DEPLOY_AT"
+ })
+ this.openLotteriesFilterTx2 = res.filter(function (pm) {
+ return pm.type === "PAYMENT"
+ })
+ this.openLotteriesFilterTx.map(item2 => {
+ const sleep = item.sleepUntilHeight
+ const desc = item2.description
+ const start = item2.blockHeight
+ const ata = item2.aTAddress
+ const amount = item2.tags
+ const players = this.openLotteriesFilterTx2.length
+ const obj = {
+ description: desc,
+ startBlock: start,
+ endBlock: sleep,
+ aTAddress: ata,
+ joined: players,
+ enter: amount
+ }
+ prepareOpenLotteriesArray.push(obj)
+ })
+ })
+ })
const appDelay = ms => new Promise(res => setTimeout(res, ms))
await appDelay(2000)
this.openLotteriesArray = prepareOpenLotteriesArray
@@ -543,55 +543,54 @@ class QortalLottery extends LitElement {
async getFinishedLotteries() {
let prepareClosedLotteriesArray = []
- await this.closedLotteriesAtArray.map(item => {
- parentEpml.request('apiCall', {
- url: `/transactions/address/${item}?limit=0&reverse=true`
- }).then(res => {
- this.closedLotteriesFilterTx1 = []
- this.closedLotteriesFilterTx2 = []
- this.closedLotteriesFilterTx1 = res.filter(function (el) {
- return el.type === "DEPLOY_AT"
- })
- this.closedLotteriesFilterTx2 = res.filter(function (el) {
- return el.type === "AT"
- })
+ this.closedLotteriesAtArray.map(item => {
+ parentEpml.request('apiCall', {
+ url: `/transactions/address/${item}?limit=0&reverse=true`
+ }).then(res => {
+ this.closedLotteriesFilterTx1 = []
+ this.closedLotteriesFilterTx2 = []
+ this.closedLotteriesFilterTx1 = res.filter(function (el) {
+ return el.type === "DEPLOY_AT"
+ })
+ this.closedLotteriesFilterTx2 = res.filter(function (el) {
+ return el.type === "AT"
+ })
- this.closedLotteriesFilterTx2.map(item1 => {
- const twinner = item1.recipient
- const tjackpot = item1.amount
- const tendblock = item1.blockHeight
- this.closedLotteriesFilterTx1.map(item2 => {
- const tstartblock = item2.blockHeight
- const tdescription = item2.description
- parentEpml.request('apiCall', {
- url: `/names/address/${twinner}?limit=0&reverse=true`
- }).then(res => {
- if (res.length) {
- const winName = res[0].name
- const obj = {
- description: tdescription,
- startblock: tstartblock,
- endblock: tendblock,
- winner: winName,
- jackpot: tjackpot
- }
- prepareClosedLotteriesArray.push(obj)
- } else {
- const winName = twinner
- const obj = {
- description: tdescription,
- startblock: tstartblock,
- endblock: tendblock,
- winner: winName,
- jackpot: tjackpot
- }
- prepareClosedLotteriesArray.push(obj)
- }
- })
- })
- })
- })
- })
+ this.closedLotteriesFilterTx2.map(item1 => {
+ const twinner = item1.recipient
+ const tjackpot = item1.amount
+ const tendblock = item1.blockHeight
+ this.closedLotteriesFilterTx1.map(item2 => {
+ const tstartblock = item2.blockHeight
+ const tdescription = item2.description
+ parentEpml.request('apiCall', {
+ url: `/names/address/${twinner}?limit=0&reverse=true`
+ }).then(res => {
+ if (res.length) {
+ const winName = res[0].name
+ const obj = {
+ description: tdescription,
+ startblock: tstartblock,
+ endblock: tendblock,
+ winner: winName,
+ jackpot: tjackpot
+ }
+ prepareClosedLotteriesArray.push(obj)
+ } else {
+ const obj = {
+ description: tdescription,
+ startblock: tstartblock,
+ endblock: tendblock,
+ winner: twinner,
+ jackpot: tjackpot
+ }
+ prepareClosedLotteriesArray.push(obj)
+ }
+ })
+ })
+ })
+ })
+ })
const appDelay = ms => new Promise(res => setTimeout(res, ms))
await appDelay(5000)
this.closedLotteriesArray = prepareClosedLotteriesArray
@@ -844,11 +843,10 @@ class QortalLottery extends LitElement {
}
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${window.parent.reduxStore.getState().app.selectedAddress.address}`,
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${window.parent.reduxStore.getState().app.selectedAddress.address}`,
+ })
}
const validateName = async (receiverName) => {
@@ -867,8 +865,7 @@ class QortalLottery extends LitElement {
}
const validateAddress = async (receiverAddress) => {
- let myAddress = await window.parent.validateAddress(receiverAddress)
- return myAddress
+ return await window.parent.validateAddress(receiverAddress)
}
const validateReceiver = async (recipient) => {
@@ -923,22 +920,21 @@ class QortalLottery extends LitElement {
let dialogName = get("login.name")
let dialogto = get("transactions.to")
let recipientName = await getName(myReceiver)
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 2,
- nonce: window.parent.reduxStore.getState().app.selectedAddress.nonce,
- params: {
- recipient: myReceiver,
- recipientName: recipientName,
- amount: amount,
- lastReference: mylastRef,
- fee: sendFee,
- dialogamount: dialogamount,
- dialogto: dialogto,
- dialogAddress,
- dialogName
- },
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 2,
+ nonce: window.parent.reduxStore.getState().app.selectedAddress.nonce,
+ params: {
+ recipient: myReceiver,
+ recipientName: recipientName,
+ amount: amount,
+ lastReference: mylastRef,
+ fee: sendFee,
+ dialogamount: dialogamount,
+ dialogto: dialogto,
+ dialogAddress,
+ dialogName
+ },
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -963,7 +959,7 @@ class QortalLottery extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver(recipient)
+ await validateReceiver(recipient)
}
clearConsole() {
@@ -982,13 +978,11 @@ class QortalLottery extends LitElement {
getApiKey() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
- let apiKey = myNode.apiKey
- return apiKey
+ return myNode.apiKey
}
round(number) {
- let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
- return result
+ return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8)
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/reward-share/reward-share.src.js b/plugins/plugins/core/reward-share/reward-share.src.js
index c58151b7..a7c3213f 100644
--- a/plugins/plugins/core/reward-share/reward-share.src.js
+++ b/plugins/plugins/core/reward-share/reward-share.src.js
@@ -2,7 +2,7 @@ import {css, html, LitElement} from 'lit'
import {render} from 'lit/html.js'
import {Epml} from '../../../epml.js'
import isElectron from 'is-electron'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import '@material/mwc-icon'
import '@material/mwc-button'
import '@material/mwc-textfield'
@@ -346,20 +346,18 @@ class RewardShare extends LitElement {
// Get Last Ref
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
};
// Get Account Details
const getAccountDetails = async () => {
- let myAccountDetails = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/${this.selectedAddress.address}`
- })
- return myAccountDetails
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/${this.selectedAddress.address}`
+ })
};
// Get Reward Relationship if it already exists
@@ -369,7 +367,7 @@ class RewardShare extends LitElement {
type: 'api',
url: `/addresses/rewardshares?minters=${minterAddr}&recipients=${recipientAddress}`
})
- isRewardShareExisting = myRewardShareArray.length !== 0 ? true : false
+ isRewardShareExisting = myRewardShareArray.length !== 0
return isRewardShareExisting
}
@@ -459,20 +457,19 @@ class RewardShare extends LitElement {
let rewarddialog2 = get("transactions.rewarddialog2")
let rewarddialog3 = get("transactions.rewarddialog3")
let rewarddialog4 = get("transactions.rewarddialog4")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 38,
- nonce: this.selectedAddress.nonce,
- params: {
- recipientPublicKey,
- percentageShare,
- lastReference: mylastRef,
- rewarddialog1: rewarddialog1,
- rewarddialog2: rewarddialog2,
- rewarddialog3: rewarddialog3,
- rewarddialog4: rewarddialog4,
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 38,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ recipientPublicKey,
+ percentageShare,
+ lastReference: mylastRef,
+ rewarddialog1: rewarddialog1,
+ rewarddialog2: rewarddialog2,
+ rewarddialog3: rewarddialog3,
+ rewarddialog4: rewarddialog4,
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -481,8 +478,7 @@ class RewardShare extends LitElement {
this.message = txnResponse.message
throw new Error(txnResponse)
} else if (txnResponse.success === true && !txnResponse.data.error) {
- let err6string = get("rewardsharepage.rchange21")
- this.message = err6string
+ this.message = get("rewardsharepage.rchange21")
this.error = false
} else {
this.error = true
@@ -490,7 +486,7 @@ class RewardShare extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
this.createRewardShareLoading = false
}
@@ -507,20 +503,18 @@ class RewardShare extends LitElement {
// Get Last Ref
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
};
// Get Account Details
const getAccountDetails = async () => {
- let myAccountDetails = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/${this.selectedAddress.address}`
- })
- return myAccountDetails
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/${this.selectedAddress.address}`
+ })
};
// Get Reward Relationship if it already exists
@@ -530,7 +524,7 @@ class RewardShare extends LitElement {
type: 'api',
url: `/addresses/rewardshares?minters=${minterAddr}&recipients=${recipientAddress}`
})
- isRewardShareExisting = myRewardShareArray.length !== 0 ? true : false
+ isRewardShareExisting = myRewardShareArray.length !== 0
return isRewardShareExisting
}
@@ -620,20 +614,19 @@ class RewardShare extends LitElement {
let rewarddialog2 = get("transactions.rewarddialog2")
let rewarddialog3 = get("transactions.rewarddialog3")
let rewarddialog4 = get("transactions.rewarddialog4")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 38,
- nonce: this.selectedAddress.nonce,
- params: {
- recipientPublicKey,
- percentageShare,
- lastReference: mylastRef,
- rewarddialog1: rewarddialog1,
- rewarddialog2: rewarddialog2,
- rewarddialog3: rewarddialog3,
- rewarddialog4: rewarddialog4,
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 38,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ recipientPublicKey,
+ percentageShare,
+ lastReference: mylastRef,
+ rewarddialog1: rewarddialog1,
+ rewarddialog2: rewarddialog2,
+ rewarddialog3: rewarddialog3,
+ rewarddialog4: rewarddialog4,
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -642,8 +635,7 @@ class RewardShare extends LitElement {
this.message = txnResponse.message
throw new Error(txnResponse)
} else if (txnResponse.success === true && !txnResponse.data.error) {
- let err6string = get("rewardsharepage.rchange21")
- this.message = err6string
+ this.message = get("rewardsharepage.rchange21")
this.error = false
} else {
this.error = true
@@ -651,7 +643,7 @@ class RewardShare extends LitElement {
throw new Error(txnResponse)
}
}
- validateReceiver()
+ await validateReceiver()
this.createRewardShareLoading = false
}
@@ -664,11 +656,10 @@ class RewardShare extends LitElement {
// Get Last Ref
const getLastRef = async () => {
- let myRef = await parentEpml.request('apiCall', {
- type: 'api',
- url: `/addresses/lastreference/${this.selectedAddress.address}`
- })
- return myRef
+ return await parentEpml.request('apiCall', {
+ type: 'api',
+ url: `/addresses/lastreference/${this.selectedAddress.address}`
+ })
};
// Remove Reward Share
@@ -686,19 +677,18 @@ class RewardShare extends LitElement {
let mylastRef = lastRef
let rewarddialog5 = get("transactions.rewarddialog5")
let rewarddialog6 = get("transactions.rewarddialog6")
- let myTxnrequest = await parentEpml.request('transaction', {
- type: 381,
- nonce: this.selectedAddress.nonce,
- params: {
- rewardShareKeyPairPublicKey: rewardShareObject.rewardSharePublicKey,
- recipient: rewardShareObject.recipient,
- percentageShare: myPercentageShare,
- lastReference: mylastRef,
- rewarddialog5: rewarddialog5,
- rewarddialog6: rewarddialog6,
- }
- })
- return myTxnrequest
+ return await parentEpml.request('transaction', {
+ type: 381,
+ nonce: this.selectedAddress.nonce,
+ params: {
+ rewardShareKeyPairPublicKey: rewardShareObject.rewardSharePublicKey,
+ recipient: rewardShareObject.recipient,
+ percentageShare: myPercentageShare,
+ lastReference: mylastRef,
+ rewarddialog5: rewarddialog5,
+ rewarddialog6: rewarddialog6,
+ }
+ })
}
const getTxnRequestResponse = (txnResponse) => {
@@ -716,7 +706,7 @@ class RewardShare extends LitElement {
throw new Error(txnResponse)
}
}
- removeReceiver()
+ await removeReceiver()
}
isEmptyArray(arr) {
diff --git a/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js b/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js
index 8c940407..b8efa0e8 100644
--- a/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js
+++ b/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js
@@ -1,6 +1,6 @@
import {html, LitElement} from 'lit'
import {Epml} from '../../../epml.js'
-import {get, registerTranslateConfig, translate, use} from '../../../../core/translate/index.js'
+import {get, registerTranslateConfig, translate, use} from '../../../../core/translate'
import {blocksNeed} from '../../utils/blocks-needed.js'
import {asyncReplace} from 'lit/directives/async-replace.js'
import {pageStyles} from './sponsorship-list-css.src.js'
@@ -240,7 +240,7 @@ class SponsorshipList extends LitElement {
-
+