diff --git a/core/language/de.json b/core/language/de.json
index 073b4316..d412d3d3 100644
--- a/core/language/de.json
+++ b/core/language/de.json
@@ -248,7 +248,9 @@
"balance": "Guthaben",
"balances": "IHR WALLET-GUTHABEN",
"update": "AKTUALISIERE WALLET-GUTHABEN",
- "view": "Ansehen"
+ "view": "Ansehen",
+ "all": "Alle",
+ "page": "Seite"
},
"gifs": {
"gchange1": "GIF-Explorer",
diff --git a/core/language/es.json b/core/language/es.json
index 8a61f827..d3dbce32 100644
--- a/core/language/es.json
+++ b/core/language/es.json
@@ -248,7 +248,9 @@
"balance": "Saldo",
"balances": "LOS SALDOS DE TU BILLETERA",
"update": "ACTUALIZAR SALDOS DE CARTERA",
- "view": "Vista"
+ "view": "Vista",
+ "all": "Todo",
+ "page": "Página"
},
"gifs": {
"gchange1": "Explorador de gifs",
diff --git a/core/language/et.json b/core/language/et.json
index 378bafc6..e71dff39 100644
--- a/core/language/et.json
+++ b/core/language/et.json
@@ -248,7 +248,9 @@
"balance": "Saldo",
"balances": "Sinu saldoseisud",
"update": "Saldoseisude uuendamine",
- "view": "Vaata"
+ "view": "Vaata",
+ "all": "Kõik",
+ "page": "Lehekülg"
},
"gifs": {
"gchange1": "Gif avastaja",
diff --git a/core/language/fi.json b/core/language/fi.json
index 4ec24b80..cf3d198b 100644
--- a/core/language/fi.json
+++ b/core/language/fi.json
@@ -248,7 +248,9 @@
"balance": "Saldosi",
"balances": "Sinun saldosi",
"update": "Saldot päivitetään",
- "view": "Katso"
+ "view": "Katso",
+ "all": "Kaikki",
+ "page": "Sivu"
},
"gifs": {
"gchange1": "Gif tutkija",
diff --git a/core/language/fr.json b/core/language/fr.json
index 986f4069..5fda13d4 100644
--- a/core/language/fr.json
+++ b/core/language/fr.json
@@ -248,7 +248,9 @@
"balance": "Solde",
"balances": "VOS SOLDES DE PORTEFEUILLE",
"update": "METTRE À JOUR LES SOLDES DES PORTEFEUILLES",
- "view": "Voir"
+ "view": "Voir",
+ "all": "Tous",
+ "page": "Page"
},
"gifs": {
"gchange1": "Explorateur GIF",
diff --git a/core/language/hindi.json b/core/language/hindi.json
index f37c22fe..73e43e23 100644
--- a/core/language/hindi.json
+++ b/core/language/hindi.json
@@ -248,7 +248,9 @@
"balance": "संतुलन",
"balances": "आपका वॉलेट बैलेंस",
"update": "अपडेट वॉलेट बैलेंस",
- "view": "देखना"
+ "view": "देखना",
+ "all": "सभी",
+ "page": "पृष्ठ"
},
"gifs": {
"gchange1": "जीआईएफ एक्सप्लोरर",
diff --git a/core/language/hr.json b/core/language/hr.json
index 43c7c244..a85b01ae 100644
--- a/core/language/hr.json
+++ b/core/language/hr.json
@@ -248,7 +248,9 @@
"balance": "Kreditna",
"balances": "VAŠ NOVČANIK JE NA SALJU",
"update": "AŽURIRAJTE STANJE NOVČANIKA",
- "view": "Pogled"
+ "view": "Pogled",
+ "all": "svi",
+ "page": "Stranica"
},
"gifs": {
"gchange1": "Gif Explorer",
diff --git a/core/language/hu.json b/core/language/hu.json
index 8a7ef20f..3854e294 100644
--- a/core/language/hu.json
+++ b/core/language/hu.json
@@ -248,7 +248,9 @@
"balance": "Hitel",
"balances": "A PÉNZTÁRCSA EGYENLEGEK",
"update": "FRISSÍTSE A PÉNZTÁRCSA-EGYENLEGEKET",
- "view": "Kilátás"
+ "view": "Kilátás",
+ "all": "Minden",
+ "page": "Oldal"
},
"gifs": {
"gchange1": "Gif Explorer",
diff --git a/core/language/it.json b/core/language/it.json
index d8e5e55c..a4b1207f 100644
--- a/core/language/it.json
+++ b/core/language/it.json
@@ -248,7 +248,9 @@
"balance": "Saldo",
"balances": "I SALDI DEL TUO PORTAFOGLIO",
"update": "AGGIORNA I SALDI DEL PORTAFOGLIO",
- "view": "Vedere"
+ "view": "Vedere",
+ "all": "Tutto",
+ "page": "Pagina"
},
"gifs": {
"gchange1": "Esplora Gif",
diff --git a/core/language/jp.json b/core/language/jp.json
index 27f7f200..8934fce9 100644
--- a/core/language/jp.json
+++ b/core/language/jp.json
@@ -248,7 +248,9 @@
"balance": "残高",
"balances": "あなたのウォレット残高",
"update": "ウォレット残高を更新",
- "view": "表示"
+ "view": "表示",
+ "all": "全て",
+ "page": "ページ"
},
"gifs": {
"gchange1": "GIF エクスプローラー",
diff --git a/core/language/ko.json b/core/language/ko.json
index dfbed137..24291d55 100644
--- a/core/language/ko.json
+++ b/core/language/ko.json
@@ -248,7 +248,9 @@
"balance": "균형",
"balances": "지갑 잔액",
"update": "월렛 잔액 업데이트",
- "view": "보다"
+ "view": "보다",
+ "all": "모두",
+ "page": "페이지"
},
"gifs": {
"gchange1": "Gif 탐색기",
diff --git a/core/language/nl.json b/core/language/nl.json
index 5a88c2e5..4ff80b78 100644
--- a/core/language/nl.json
+++ b/core/language/nl.json
@@ -248,7 +248,9 @@
"balance": "Saldo",
"balances": "SALDI VAN UW PORTEFEUILLES",
"update": "SALDI VAN PORTEFEUILLES HEROPVRAGEN",
- "view": "Bekijken"
+ "view": "Bekijken",
+ "all": "Alle",
+ "page": "Bladzijde"
},
"gifs": {
"gchange1": "GIF-Explorer",
diff --git a/core/language/no.json b/core/language/no.json
index 229e6968..f07f29bc 100644
--- a/core/language/no.json
+++ b/core/language/no.json
@@ -248,7 +248,9 @@
"balance": "Saldo",
"balances": "DIN WALLET-SALDO",
"update": "OPPDATERT WALLET-SALDOER",
- "view": "Utsikt"
+ "view": "Utsikt",
+ "all": "Alle",
+ "page": "Side"
},
"gifs": {
"gchange1": "Gif Explorer",
diff --git a/core/language/pl.json b/core/language/pl.json
index 7c6b7ee6..f30ee4a2 100644
--- a/core/language/pl.json
+++ b/core/language/pl.json
@@ -248,7 +248,9 @@
"balance": "Saldo",
"balances": "SALDO TWOJEGO PORTFELA",
"update": "AKTUALIZUJ SALDA W PORTFELU",
- "view": "Pogląd"
+ "view": "Pogląd",
+ "all": "Wszystko",
+ "page": "Strona"
},
"gifs": {
"gchange1": "Eksplorator gifów",
diff --git a/core/language/pt.json b/core/language/pt.json
index 7cff6741..6d7450ed 100644
--- a/core/language/pt.json
+++ b/core/language/pt.json
@@ -248,7 +248,9 @@
"balance": "Saldo",
"balances": "SEUS SALDOS DE CARTEIRA",
"update": "ATUALIZAR SALDOS DA CARTEIRA",
- "view": "Ver"
+ "view": "Ver",
+ "all": "Todos",
+ "page": "Página"
},
"gifs": {
"gchange1": "Gif Explorer",
diff --git a/core/language/ro.json b/core/language/ro.json
index 3fba32a0..01be225f 100644
--- a/core/language/ro.json
+++ b/core/language/ro.json
@@ -248,7 +248,9 @@
"balance": "Credit",
"balances": "SOLDELE PORTOTELULUI DVS",
"update": "ACTUALIZAȚI SOLDELE PORTOTELULUI",
- "view": "Vedere"
+ "view": "Vedere",
+ "all": "Toate",
+ "page": "Pagină"
},
"gifs": {
"gchange1": "Explorator GIF",
diff --git a/core/language/rs.json b/core/language/rs.json
index a1e70f56..b731873a 100644
--- a/core/language/rs.json
+++ b/core/language/rs.json
@@ -248,7 +248,9 @@
"balance": "Kredit",
"balances": "VAŠI STANJE U NOVČANIKU",
"update": "AŽURIRAJTE STANJE NOVČANIKA",
- "view": "Pogled"
+ "view": "Pogled",
+ "all": "Sve",
+ "page": "Strana"
},
"gifs": {
"gchange1": "Gif Ekplorer",
diff --git a/core/language/ru.json b/core/language/ru.json
index 871ec655..aa2d98b9 100644
--- a/core/language/ru.json
+++ b/core/language/ru.json
@@ -248,7 +248,9 @@
"balance": "кредит",
"balances": "БАЛАНС ВАШЕГО КОШЕЛЬКА",
"update": "ОБНОВИТЬ БАЛАНС КОШЕЛЬКА",
- "view": "Вид"
+ "view": "Вид",
+ "all": "Все",
+ "page": "Страница"
},
"gifs": {
"gchange1": "Проводник гифок",
diff --git a/core/language/us.json b/core/language/us.json
index c1832904..16ebdcf6 100644
--- a/core/language/us.json
+++ b/core/language/us.json
@@ -248,7 +248,9 @@
"balance": "Balance",
"balances": "YOUR WALLET BALANCES",
"update": "UPDATE WALLET BALANCES",
- "view": "View"
+ "view": "View",
+ "all": "All",
+ "page": "Page"
},
"gifs": {
"gchange1": "Gif Explorer",
diff --git a/core/language/zhc.json b/core/language/zhc.json
index 5149f748..aa8626d4 100644
--- a/core/language/zhc.json
+++ b/core/language/zhc.json
@@ -248,7 +248,9 @@
"balance": "余额",
"balances": "您的钱包余额",
"update": "更新钱包余额",
- "view": "看法"
+ "view": "看法",
+ "all": "全部",
+ "page": "页"
},
"gifs": {
"gchange1": "Gif 浏览器",
diff --git a/core/language/zht.json b/core/language/zht.json
index 01dba82e..79e555e6 100644
--- a/core/language/zht.json
+++ b/core/language/zht.json
@@ -248,7 +248,9 @@
"balance": "餘額",
"balances": "您的錢包餘額",
"update": "更新錢包餘額",
- "view": "看法"
+ "view": "看法",
+ "all": "全部",
+ "page": "頁"
},
"gifs": {
"gchange1": "Gif 瀏覽器",
diff --git a/core/src/components/show-plugin.js b/core/src/components/show-plugin.js
index 8885a5fa..df2fd077 100644
--- a/core/src/components/show-plugin.js
+++ b/core/src/components/show-plugin.js
@@ -1225,6 +1225,34 @@ class NavBar extends connect(store)(LitElement) {
this.myMenuPlugins = JSON.parse(localStorage.getItem('myMenuPlugs') || '[]')
} else {
+ let newPluginMenu = JSON.parse(localStorage.getItem('myMenuPlugs') || '[]')
+
+ const oldQchat = 'messaging/q-chat/index.html'
+ const newQchat = 'q-chat/index.html'
+ const oldMinting = 'minting/index.html'
+ const newMinting = 'minting-info/index.html'
+ const oldWebsites = 'qdn/index.html'
+ const newWebsites = 'q-website/index.html'
+ const oldDatamanager = 'qdn/data-management/index.html'
+ const newDatamanager = 'data-management/index.html'
+
+ // Check if local storage have broken links and replace them
+ newPluginMenu.find(a => {
+ if (a.page === oldQchat) {
+ a.page = newQchat
+ } else if (a.page === oldMinting) {
+ a.page = newMinting
+ } else if (a.page === oldWebsites) {
+ a.page = newWebsites
+ } else if (a.page === oldDatamanager) {
+ a.page = newDatamanager
+ } else {}
+ })
+
+ localStorage.setItem('myMenuPlugs', JSON.stringify(newPluginMenu))
+
+ await appDelay(250)
+
this.myMenuPlugins = JSON.parse(localStorage.getItem('myMenuPlugs') || '[]')
}
}
diff --git a/package-lock.json b/package-lock.json
index 6a7982f5..6a5daa9f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -47,7 +47,7 @@
"prosemirror-state": "1.4.3",
"prosemirror-transform": "1.9.0",
"prosemirror-view": "1.33.6",
- "sass": "1.77.1",
+ "sass": "1.77.2",
"short-unique-id": "5.2.0",
"xhr2": "0.2.1"
},
@@ -101,10 +101,13 @@
"@vaadin/grid": "24.2.9",
"@vaadin/icons": "24.2.9",
"@vaadin/password-field": "24.2.9",
+ "@vaadin/scroller": "24.2.9",
+ "@vaadin/tabs": "24.2.9",
+ "@vaadin/tabsheet": "24.2.9",
"@vaadin/tooltip": "24.2.9",
"@zip.js/zip.js": "2.7.44",
- "axios": "1.6.8",
- "electron": "30.0.5",
+ "axios": "1.7.1",
+ "electron": "30.0.6",
"electron-builder": "24.13.3",
"epml": "0.3.3",
"eslint": "8.57.0",
@@ -3965,6 +3968,50 @@
"@vaadin/vaadin-themable-mixin": "~24.2.9"
}
},
+ "node_modules/@vaadin/scroller": {
+ "version": "24.2.9",
+ "resolved": "https://registry.npmjs.org/@vaadin/scroller/-/scroller-24.2.9.tgz",
+ "integrity": "sha512-CFAaJ6hGzncq46wARiu+B+AoSBiW+qJ4mJ4jmn2gIeTEAbv/IhMPv7GeuF2zKO6/eW6YyHm6wJRTMWcJszOYaQ==",
+ "dev": true,
+ "dependencies": {
+ "@polymer/polymer": "^3.0.0",
+ "@vaadin/a11y-base": "~24.2.9",
+ "@vaadin/component-base": "~24.2.9",
+ "@vaadin/vaadin-lumo-styles": "~24.2.9",
+ "@vaadin/vaadin-material-styles": "~24.2.9",
+ "@vaadin/vaadin-themable-mixin": "~24.2.9"
+ }
+ },
+ "node_modules/@vaadin/tabs": {
+ "version": "24.2.9",
+ "resolved": "https://registry.npmjs.org/@vaadin/tabs/-/tabs-24.2.9.tgz",
+ "integrity": "sha512-cmiFzWyhEKXPGk7r3ExvZLiHJ7aVrN2fN//6PCPwag2ofLqNXvL2xw9RJrCDx1n8/aabNpRvYz0mAf+ucuE1Sw==",
+ "dev": true,
+ "dependencies": {
+ "@polymer/polymer": "^3.0.0",
+ "@vaadin/a11y-base": "~24.2.9",
+ "@vaadin/component-base": "~24.2.9",
+ "@vaadin/item": "~24.2.9",
+ "@vaadin/vaadin-lumo-styles": "~24.2.9",
+ "@vaadin/vaadin-material-styles": "~24.2.9",
+ "@vaadin/vaadin-themable-mixin": "~24.2.9"
+ }
+ },
+ "node_modules/@vaadin/tabsheet": {
+ "version": "24.2.9",
+ "resolved": "https://registry.npmjs.org/@vaadin/tabsheet/-/tabsheet-24.2.9.tgz",
+ "integrity": "sha512-M5Wn60dEJepSQR6BmLveHVQqeZ+OiaoHBG4KAl8cAg3xFRy7peO3w6fVJfn5XhHO1BEoGx5rqAa31YXguV9hiw==",
+ "dev": true,
+ "dependencies": {
+ "@polymer/polymer": "^3.0.0",
+ "@vaadin/component-base": "~24.2.9",
+ "@vaadin/scroller": "~24.2.9",
+ "@vaadin/tabs": "~24.2.9",
+ "@vaadin/vaadin-lumo-styles": "~24.2.9",
+ "@vaadin/vaadin-material-styles": "~24.2.9",
+ "@vaadin/vaadin-themable-mixin": "~24.2.9"
+ }
+ },
"node_modules/@vaadin/text-field": {
"version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.2.9.tgz",
@@ -4619,9 +4666,9 @@
}
},
"node_modules/axios": {
- "version": "1.6.8",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
- "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.1.tgz",
+ "integrity": "sha512-+LV37nQcd1EpFalkXksWNBiA17NZ5m5/WspmHGmZmdx1qBOg/VNq/c4eRJiA9VQQHBOs+N0ZhhdU10h2TyNK7Q==",
"dev": true,
"dependencies": {
"follow-redirects": "^1.15.6",
@@ -5018,9 +5065,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001618",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz",
- "integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==",
+ "version": "1.0.30001620",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz",
+ "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==",
"dev": true,
"funding": [
{
@@ -5741,9 +5788,9 @@
}
},
"node_modules/electron": {
- "version": "30.0.5",
- "resolved": "https://registry.npmjs.org/electron/-/electron-30.0.5.tgz",
- "integrity": "sha512-+a7PjcAq2HrfF1l+Ez8n0W9YeZIam7E9ERHEGs+L2dqKu7qxk8GNSEFoBEPCpLI00p/fc0d76L9IcLCQJdNFqA==",
+ "version": "30.0.6",
+ "resolved": "https://registry.npmjs.org/electron/-/electron-30.0.6.tgz",
+ "integrity": "sha512-PkhEPFdpYcTzjAO3gMHZ+map7g2+xCrMDedo/L1i0ir2BRXvAB93IkTJX497U6Srb/09r2cFt+k20VPNVCdw3Q==",
"dev": true,
"hasInstallScript": true,
"dependencies": {
@@ -6032,9 +6079,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.769",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.769.tgz",
- "integrity": "sha512-bZu7p623NEA2rHTc9K1vykl57ektSPQYFFqQir8BOYf6EKOB+yIsbFB9Kpm7Cgt6tsLr9sRkqfqSZUw7LP1XxQ==",
+ "version": "1.4.774",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.774.tgz",
+ "integrity": "sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg==",
"dev": true
},
"node_modules/electron-updater": {
@@ -9701,9 +9748,9 @@
}
},
"node_modules/sass": {
- "version": "1.77.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.1.tgz",
- "integrity": "sha512-OMEyfirt9XEfyvocduUIOlUSkWOXS/LAt6oblR/ISXCTukyavjex+zQNm51pPCOiFKY1QpWvEH1EeCkgyV3I6w==",
+ "version": "1.77.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz",
+ "integrity": "sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
diff --git a/package.json b/package.json
index ce4f2996..528edea7 100644
--- a/package.json
+++ b/package.json
@@ -69,7 +69,7 @@
"prosemirror-state": "1.4.3",
"prosemirror-transform": "1.9.0",
"prosemirror-view": "1.33.6",
- "sass": "1.77.1",
+ "sass": "1.77.2",
"short-unique-id": "5.2.0",
"xhr2": "0.2.1"
},
@@ -123,10 +123,13 @@
"@vaadin/grid": "24.2.9",
"@vaadin/icons": "24.2.9",
"@vaadin/password-field": "24.2.9",
+ "@vaadin/scroller": "24.2.9",
+ "@vaadin/tabs": "24.2.9",
+ "@vaadin/tabsheet": "24.2.9",
"@vaadin/tooltip": "24.2.9",
"@zip.js/zip.js": "2.7.44",
- "axios": "1.6.8",
- "electron": "30.0.5",
+ "axios": "1.7.1",
+ "electron": "30.0.6",
"electron-builder": "24.13.3",
"epml": "0.3.3",
"eslint": "8.57.0",
diff --git a/plugins/plugins/core/components/plugins-css.js b/plugins/plugins/core/components/plugins-css.js
index e4b00fb1..6ee176c2 100644
--- a/plugins/plugins/core/components/plugins-css.js
+++ b/plugins/plugins/core/components/plugins-css.js
@@ -6791,8 +6791,6 @@ export const qchatStyles = css`
--_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 {
@@ -6824,7 +6822,7 @@ export const qchatStyles = css`
float: left;
height: 100vh;
overflow-y: hidden;
- border-right: 3px #ddd solid;
+ border-right: 2px #ddd solid;
}
.people-list .blockedusers {
@@ -6972,20 +6970,6 @@ export const qchatStyles = css`
overflow-x: hidden;
}
- .people-list ul::-webkit-scrollbar-track {
- background: #a1a1a1;
- }
-
- .people-list ul::-webkit-scrollbar {
- width: 11px;
- }
-
- .people-list ul::-webkit-scrollbar-thumb {
- background-color: #6a6c75;
- border-radius: 6px;
- border: 3px solid #a1a1a1;
- }
-
.chat {
width: 80vw;
height: 100vh;
@@ -13205,7 +13189,7 @@ export const multiWalletStyles = css`
}
#transactions {
- margin-top: 30px;
+ margin-top: 25px;
margin-left: 20px;
margin-right: 20px;
border-top: 1px solid var(--border);
diff --git a/plugins/plugins/core/q-chat/q-chat.src.js b/plugins/plugins/core/q-chat/q-chat.src.js
index a2cdfd96..7a5b75d1 100644
--- a/plugins/plugins/core/q-chat/q-chat.src.js
+++ b/plugins/plugins/core/q-chat/q-chat.src.js
@@ -24,6 +24,7 @@ import '@material/mwc-icon'
import '@material/mwc-snackbar'
import '@polymer/paper-spinner/paper-spinner-lite.js'
import '@vaadin/grid'
+import '@vaadin/scroller'
import '@vaadin/tooltip'
// Multi language support
@@ -149,9 +150,14 @@ class Chat extends LitElement {
-
- ${this.isEmptyArray(this.chatHeads) ? this.renderLoadingText() : this.renderChatHead(this.chatHeads)}
-
+
+
+ ${this.isEmptyArray(this.chatHeads) ? this.renderLoadingText() : this.renderChatHead(this.chatHeads)}
+
+
this.scrollToBottom()}>
diff --git a/plugins/plugins/core/wallet/wallet-app.src.js b/plugins/plugins/core/wallet/wallet-app.src.js
index a49333d4..d2fc024f 100644
--- a/plugins/plugins/core/wallet/wallet-app.src.js
+++ b/plugins/plugins/core/wallet/wallet-app.src.js
@@ -29,6 +29,8 @@ import '@vaadin/grid'
import '@vaadin/icon'
import '@vaadin/icons'
import '@vaadin/password-field'
+import '@vaadin/tabs'
+import '@vaadin/tabsheet'
// Multi language support
import { get, registerTranslateConfig, translate, use } from '../../../../core/translate'
@@ -127,7 +129,12 @@ class MultiWallet extends LitElement {
bookDogecoinAddress: { type: String },
bookDigibyteAddress: { type: String },
bookRavencoinAddress: { type: String },
- bookPiratechainAddress: { type: String }
+ bookPiratechainAddress: { type: String },
+ visitedTab: { type: Number },
+ searchOffset: { type: Number },
+ searchLimit: { type: Number },
+ counter: { type: Number },
+ pageButtonsHidden: { type: Boolean }
}
}
@@ -235,6 +242,11 @@ class MultiWallet extends LitElement {
this.bookDigibyteAddress = ''
this.bookRavencoinAddress = ''
this.bookPiratechainAddress = ''
+ this.visitedTab = 0
+ this.searchOffset = 0
+ this.searchLimit = 10
+ this.counter = 1
+ this.pageButtonsHidden = false
this.wallets = new Map()
let coinProp = {
@@ -387,6 +399,7 @@ class MultiWallet extends LitElement {
+ ${this.renderTabTransactions()}
${this.loading ? html`
@@ -2246,7 +2259,7 @@ class MultiWallet extends LitElement {
this.transactionsDOM = this.shadowRoot.getElementById('transactionsDOM')
- this.showWallet()
+ this.showNewQortWallet()
window.addEventListener('storage', () => {
const checkLanguage = localStorage.getItem('qortalLanguage')
@@ -2282,6 +2295,38 @@ class MultiWallet extends LitElement {
}, 600000)
}
+ async myTabChanged(value) {
+ this.pageButtonsHidden = false
+ this.visitedTab = value
+ this.searchOffset = 0
+ this.searchLimit = 10
+ this.counter = 1
+ await this.renderNewDom()
+ }
+
+ renderTabTransactions() {
+ if (this._selectedWallet == 'qort') {
+ return html`
+
+
+ ${translate("walletpage.wchange6")} :
+ this.myTabChanged(0)}>PAYMENT
+ this.myTabChanged(1)}>ARBITARY
+ this.myTabChanged(2)}>AT
+ this.myTabChanged(3)}>GROUP
+ this.myTabChanged(4)}>NAME
+ this.myTabChanged(5)}>ASSET
+ this.myTabChanged(6)}>POLL
+ this.myTabChanged(7)}>REWARDSHARE
+ this.myTabChanged(8)}>MISC
+
+
+ `
+ } else {
+ return html``
+ }
+ }
+
async paymentFee() {
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
@@ -2499,7 +2544,11 @@ class MultiWallet extends LitElement {
tabWalletQort() {
this._selectedWallet = 'qort'
- this.showWallet()
+ this.visitedTab = 0
+ this.searchOffset = 0
+ this.searchLimit = 10
+ this.pageButtonsHidden = false
+ this.showNewQortWallet()
}
tabWalletBtc() {
@@ -3538,19 +3587,18 @@ class MultiWallet extends LitElement {
renderCAB() {
return html`
-
${this.selectedTransaction.aTAddress}
-
-
- `
+
${this.selectedTransaction.aTAddress}
+
+ `
}
renderFetchText() {
@@ -3857,7 +3905,7 @@ class MultiWallet extends LitElement {
}
}
await validateReceiver(recipient)
- await this.showWallet()
+ await this.showNewQortWallet()
}
async sendBtc() {
@@ -4139,15 +4187,21 @@ class MultiWallet extends LitElement {
if (this._selectedWallet == 'qort') {
if (!window.parent.reduxStore.getState().app.blockInfo.height) {
- await parentEpml.request('apiCall', { url: `/blocks/height`, type: 'api' })
- .then(height => parentEpml.request('updateBlockInfo', { height }))
+ await parentEpml.request('apiCall', {
+ url: `/blocks/height`,
+ type: 'api'
+ }).then(height => parentEpml.request('updateBlockInfo', {
+ height
+ }))
}
}
+
const coin = this._selectedWallet
+
await this.fetchWalletAddress(this._selectedWallet)
- await this.fetchWalletServer(this._selectedWallet)
await this.fetchWalletDetails(this._selectedWallet)
await this.fetchWalletServer(this._selectedWallet)
+
if (this._selectedWallet == coin) {
await this.renderTransactions()
await this.getTransactionGrid(this._selectedWallet)
@@ -4157,32 +4211,314 @@ class MultiWallet extends LitElement {
}
}
+
+ async showNewQortWallet() {
+ this.pageButtonsHidden = false
+ this.transactionsDOM.hidden = true
+ this.loading = true
+
+ if (!window.parent.reduxStore.getState().app.blockInfo.height) {
+ await parentEpml.request('apiCall', {
+ url: `/blocks/height`,
+ type: 'api'
+ }).then(height => parentEpml.request('updateBlockInfo', {
+ height
+ }))
+ }
+
+ const coin = this._selectedWallet
+
+ this.balanceString = this.renderFetchText()
+
+ parentEpml.request('apiCall', {
+ url: `/addresses/balance/${this.wallets.get('qort').wallet.address}`
+ }).then((res) => {
+ if (isNaN(Number(res))) {
+ let snack4string = get("walletpage.wchange32")
+ parentEpml.request('showSnackBar', `${snack4string}`)
+ } else {
+ if (this._selectedWallet == coin) {
+ this.wallets.get(coin).balance = Number(res).toFixed(8)
+ this.balanceString = this.wallets.get(this._selectedWallet).balance + " " + this._selectedWallet.toLocaleUpperCase()
+ this.balance = this.wallets.get(this._selectedWallet).balance
+ }
+ }
+ })
+
+ await this.fetchWalletDetails(this._selectedWallet)
+ await this.fetchWalletServer(this._selectedWallet)
+
+ this.shadowRoot.getElementById('type').selected = false
+ this.shadowRoot.getElementById('payment-tab').selected = true
+ this.shadowRoot.getElementById('arbitary-tab').selected = false
+ this.shadowRoot.getElementById('at-tab').selected = false
+ this.shadowRoot.getElementById('group-tab').selected = false
+ this.shadowRoot.getElementById('name-tab').selected = false
+ this.shadowRoot.getElementById('asset-tab').selected = false
+ this.shadowRoot.getElementById('poll-tab').selected = false
+ this.shadowRoot.getElementById('rewarshare-tab').selected = false
+ this.shadowRoot.getElementById('misc-tab').selected = false
+
+ if (this._selectedWallet == coin) {
+ await this.renderTransactions()
+ await this.getTransactionGrid(this._selectedWallet)
+ this.loading = false
+ this.transactionsDOM.hidden = false
+ }
+ }
+
+ async renderNewDom() {
+ this.transactionsDOM.hidden = true
+ this.loading = true
+
+ if (!window.parent.reduxStore.getState().app.blockInfo.height) {
+ await parentEpml.request('apiCall', {
+ url: `/blocks/height`,
+ type: 'api'
+ }).then(height => parentEpml.request('updateBlockInfo', {
+ height
+ }))
+ }
+
+ const coin = this._selectedWallet
+
+ await this.fetchWalletDetails(this._selectedWallet)
+
+ if (this._selectedWallet == coin) {
+ await this.renderTransactions()
+ await this.getTransactionGrid(this._selectedWallet)
+ this.loading = false
+ this.transactionsDOM.hidden = false
+ }
+ }
+
+ goBackwardTX() {
+ if (this.searchOffset === 0) {
+ this.pageButtonsHidden = false
+ this.searchLimit = 10
+ this.counter = 1
+ } else {
+ this.pageButtonsHidden = false
+ this.searchLimit = 10
+ this.counter = this.searchOffset / 10
+ this.searchOffset = this.searchOffset - 10
+ this.renderNewDom()
+ }
+ }
+
+ goForwardTX() {
+ this.pageButtonsHidden = false
+ this.searchLimit = 10
+ this.searchOffset = this.searchOffset + 10
+ this.counter = (this.searchOffset / 10) + 1
+ this.renderNewDom()
+ }
+
+ showAllTX() {
+ this.pageButtonsHidden = true
+ this.searchLimit = 0
+ this.searchOffset = 0
+ this.counter = 1
+ this.renderNewDom()
+ }
+
async fetchWalletDetails(coin) {
switch (coin) {
case 'qort':
- this.balanceString = this.renderFetchText()
- parentEpml.request('apiCall', {
- url: `/addresses/balance/${this.wallets.get('qort').wallet.address}?apiKey=${this.getApiKey()}`
- }).then((res) => {
- if (isNaN(Number(res))) {
- let snack4string = get("walletpage.wchange32")
- parentEpml.request('showSnackBar', `${snack4string}`)
- } else {
- if (this._selectedWallet == coin) {
- this.wallets.get(coin).balance = Number(res).toFixed(8)
- this.balanceString = this.wallets.get(this._selectedWallet).balance + " " + this._selectedWallet.toLocaleUpperCase()
- this.balance = this.wallets.get(this._selectedWallet).balance
- }
- }
+ const paymentTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=PAYMENT
+ `
})
- const txsQort = await parentEpml.request('apiCall', {
- url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true&txType=PAYMENT&txType=REGISTER_NAME&txType=UPDATE_NAME&txType=SELL_NAME&txType=CANCEL_SELL_NAME&txType=BUY_NAME&txType=CREATE_POLL&txType=VOTE_ON_POLL&txType=ARBITRARY&txType=ISSUE_ASSET&txType=TRANSFER_ASSET&txType=CREATE_ASSET_ORDER&txType=CANCEL_ASSET_ORDER&txType=MULTI_PAYMENT&txType=DEPLOY_AT&txType=MESSAGE&txType=AIRDROP&txType=AT&txType=CREATE_GROUP&txType=UPDATE_GROUP&txType=ADD_GROUP_ADMIN&txType=REMOVE_GROUP_ADMIN&txType=GROUP_BAN&txType=CANCEL_GROUP_BAN&txType=GROUP_KICK&txType=GROUP_INVITE&txType=CANCEL_GROUP_INVITE&txType=JOIN_GROUP&txType=LEAVE_GROUP&txType=GROUP_APPROVAL&txType=SET_GROUP&txType=UPDATE_ASSET&txType=ACCOUNT_FLAGS&txType=ENABLE_FORGING&txType=REWARD_SHARE&txType=ACCOUNT_LEVEL&txType=TRANSFER_PRIVS&txType=PRESENCE`,
+ const pendingPaymentTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=PAYMENT
+ `
})
- const pendingTxsQort = await parentEpml.request('apiCall', {
- url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true&txType=PAYMENT&txType=REGISTER_NAME&txType=UPDATE_NAME&txType=SELL_NAME&txType=CANCEL_SELL_NAME&txType=BUY_NAME&txType=CREATE_POLL&txType=VOTE_ON_POLL&txType=ARBITRARY&txType=ISSUE_ASSET&txType=TRANSFER_ASSET&txType=CREATE_ASSET_ORDER&txType=CANCEL_ASSET_ORDER&txType=MULTI_PAYMENT&txType=DEPLOY_AT&txType=MESSAGE&txType=AIRDROP&txType=AT&txType=CREATE_GROUP&txType=UPDATE_GROUP&txType=ADD_GROUP_ADMIN&txType=REMOVE_GROUP_ADMIN&txType=GROUP_BAN&txType=CANCEL_GROUP_BAN&txType=GROUP_KICK&txType=GROUP_INVITE&txType=CANCEL_GROUP_INVITE&txType=JOIN_GROUP&txType=LEAVE_GROUP&txType=GROUP_APPROVAL&txType=SET_GROUP&txType=UPDATE_ASSET&txType=ACCOUNT_FLAGS&txType=ENABLE_FORGING&txType=REWARD_SHARE&txType=ACCOUNT_LEVEL&txType=TRANSFER_PRIVS&txType=PRESENCE`,
+ const arbitaryTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=ARBITRARY
+ `
+ })
+ const pendingArbitaryTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=ARBITRARY
+ `
+ })
+ const atTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=AT
+ &txType=DEPLOY_AT
+ &txType=MESSAGE
+ `
+ })
+ const pendingAtTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=AT
+ &txType=DEPLOY_AT
+ &txType=MESSAGE
+ `
+ })
+ const groupTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=CREATE_GROUP
+ &txType=UPDATE_GROUP
+ &txType=ADD_GROUP_ADMIN
+ &txType=REMOVE_GROUP_ADMIN
+ &txType=GROUP_BAN
+ &txType=CANCEL_GROUP_BAN
+ &txType=GROUP_KICK
+ &txType=GROUP_INVITE
+ &txType=CANCEL_GROUP_INVITE
+ &txType=JOIN_GROUP
+ &txType=LEAVE_GROUP
+ &txType=GROUP_APPROVAL
+ &txType=SET_GROUP
+ `
+ })
+ const pendingGroupTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=CREATE_GROUP
+ &txType=UPDATE_GROUP
+ &txType=ADD_GROUP_ADMIN
+ &txType=REMOVE_GROUP_ADMIN
+ &txType=GROUP_BAN
+ &txType=CANCEL_GROUP_BAN
+ &txType=GROUP_KICK
+ &txType=GROUP_INVITE
+ &txType=CANCEL_GROUP_INVITE
+ &txType=JOIN_GROUP
+ &txType=LEAVE_GROUP
+ &txType=GROUP_APPROVAL
+ &txType=SET_GROUP
+ `
+ })
+ const nameTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=REGISTER_NAME
+ &txType=UPDATE_NAME
+ &txType=SELL_NAME
+ &txType=CANCEL_SELL_NAME
+ &txType=BUY_NAME
+ `
+ })
+ const pendingNameTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=REGISTER_NAME
+ &txType=UPDATE_NAME
+ &txType=SELL_NAME
+ &txType=CANCEL_SELL_NAME
+ &txType=BUY_NAME
+ `
+ })
+ const assetTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=ISSUE_ASSET
+ &txType=TRANSFER_ASSET
+ &txType=CREATE_ASSET_ORDER
+ &txType=CANCEL_ASSET_ORDER
+ &txType=UPDATE_ASSET
+ `
+ })
+ const pendingAssetTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=ISSUE_ASSET
+ &txType=TRANSFER_ASSET
+ &txType=CREATE_ASSET_ORDER
+ &txType=CANCEL_ASSET_ORDER
+ &txType=UPDATE_ASSET
+ `
+ })
+ const pollTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=CREATE_POLL
+ &txType=VOTE_ON_POLL
+ `
+ })
+ const pendingPollTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=CREATE_POLL
+ &txType=VOTE_ON_POLL
+ `
+ })
+ const rewardshareTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=REWARD_SHARE
+ `
+ })
+ const pendingRewardshareTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=REWARD_SHARE
+ `
+ })
+ const miscTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/search?address=${this.wallets.get('qort').wallet.address}&confirmationStatus=CONFIRMED&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=TRANSFER_PRIVS
+ &txType=PRESENCE
+ `
+ })
+ const pendingMiscTxsQort = await parentEpml.request('apiCall', {
+ url: `/transactions/unconfirmed?creator=${this.wallets.get('qort').wallet.base58PublicKey}&reverse=true
+ &limit=${this.searchLimit}
+ &offset=${this.searchOffset}
+ &txType=TRANSFER_PRIVS
+ &txType=PRESENCE
+ `
})
if (this._selectedWallet == coin) {
- this.wallets.get(coin).transactions = pendingTxsQort.concat(txsQort)
+ if (this.visitedTab === 0) {
+ this.wallets.get(coin).transactions = pendingPaymentTxsQort.concat(paymentTxsQort)
+ } else if (this.visitedTab === 1) {
+ this.wallets.get(coin).transactions = pendingArbitaryTxsQort.concat(arbitaryTxsQort)
+ } else if (this.visitedTab === 2) {
+ this.wallets.get(coin).transactions = pendingAtTxsQort.concat(atTxsQort)
+ } else if (this.visitedTab === 3) {
+ this.wallets.get(coin).transactions = pendingGroupTxsQort.concat(groupTxsQort)
+ } else if (this.visitedTab === 4) {
+ this.wallets.get(coin).transactions = pendingNameTxsQort.concat(nameTxsQort)
+ } else if (this.visitedTab === 5) {
+ this.wallets.get(coin).transactions = pendingAssetTxsQort.concat(assetTxsQort)
+ } else if (this.visitedTab === 6) {
+ this.wallets.get(coin).transactions = pendingPollTxsQort.concat(pollTxsQort)
+ } else if (this.visitedTab === 7) {
+ this.wallets.get(coin).transactions = pendingRewardshareTxsQort.concat(rewardshareTxsQort)
+ } else if (this.visitedTab === 8) {
+ this.wallets.get(coin).transactions = pendingMiscTxsQort.concat(miscTxsQort)
+ }
}
break
case 'btc':
@@ -4643,7 +4979,7 @@ class MultiWallet extends LitElement {
}
return html`
${translate("walletpage.wchange38")}
-
+
-
+
+
this.goBackwardTX()}>
+ << ${translate("general.back")}
+
+
${translate("general.page")} ${this.counter}
+
this.goForwardTX()}>
+ ${translate("general.next")} >>
+
+
+ this.showAllTX()}>
+ ${translate("general.view")} ${translate("general.all")}
+
+
+
`
}