From cf76e63b5a220a59057462dc9b1477a164510dab Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Sun, 21 Aug 2022 18:14:48 +0200
Subject: [PATCH] Finisah Adress Book
---
qortal-ui-core/language/de.json | 9 +-
qortal-ui-core/language/es.json | 9 +-
qortal-ui-core/language/fr.json | 9 +-
qortal-ui-core/language/hindi.json | 9 +-
qortal-ui-core/language/hr.json | 9 +-
qortal-ui-core/language/hu.json | 9 +-
qortal-ui-core/language/it.json | 9 +-
qortal-ui-core/language/ko.json | 9 +-
qortal-ui-core/language/no.json | 11 +-
qortal-ui-core/language/pl.json | 9 +-
qortal-ui-core/language/pt.json | 9 +-
qortal-ui-core/language/ro.json | 9 +-
qortal-ui-core/language/rs.json | 9 +-
qortal-ui-core/language/ru.json | 11 +-
qortal-ui-core/language/us.json | 13 +-
qortal-ui-core/language/zhc.json | 9 +-
qortal-ui-core/language/zht.json | 9 +-
qortal-ui-core/src/components/sidenav-menu.js | 12 +-
qortal-ui-plugins/package.json | 1 +
.../plugins/core/wallet/wallet-app.src.js | 1369 ++++++++++++++++-
20 files changed, 1498 insertions(+), 45 deletions(-)
diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json
index 429a41b7..2171ecd6 100644
--- a/qortal-ui-core/language/de.json
+++ b/qortal-ui-core/language/de.json
@@ -244,7 +244,14 @@
"wchange46":"An diese Adresse verschicken",
"wchange47":"Adressbuch",
"wchange48":"Dieses Adressbuch ist leer !",
- "wchange49":"Zum Adressbuch hinzufügen"
+ "wchange49":"Zum Adressbuch hinzufügen",
+ "wchange50":"Der Name darf nicht leer sein!",
+ "wchange51":"Adresse darf nicht leer sein!",
+ "wchange52":"Erfolgreich hinzugefügt!",
+ "wchange53":"Adressbuch importieren",
+ "wchange54":"Adressbuch exportieren",
+ "wchange55":"Ihr bestehendes Adressbuch wird gelöscht und aus einem Backup neu erstellt.",
+ "wchange56":"WARNUNG!"
},
"tradepage":{
"tchange1":"Handelsportal",
diff --git a/qortal-ui-core/language/es.json b/qortal-ui-core/language/es.json
index 80e463c0..41fa7f48 100644
--- a/qortal-ui-core/language/es.json
+++ b/qortal-ui-core/language/es.json
@@ -244,7 +244,14 @@
"wchange46":"Enviar a esta dirección",
"wchange47":"Directorio",
"wchange48":"Esta libreta de direcciones está vacía !",
- "wchange49":"Agregar a la libreta de direcciones"
+ "wchange49":"Agregar a la libreta de direcciones",
+ "wchange50":"El nombre no puede estar vacío!",
+ "wchange51":"La dirección no puede estar vacía!",
+ "wchange52":"Agregado exitosamente!",
+ "wchange53":"Importar libreta de direcciones",
+ "wchange54":"Exportar libreta de direcciones",
+ "wchange55":"Su libreta de direcciones existente se eliminará y se creará una nueva copia de seguridad.",
+ "wchange56":"ADVERTENCIA!"
},
"tradepage":{
"tchange1":"Portal de Comercio",
diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json
index cc8548e0..28027be6 100644
--- a/qortal-ui-core/language/fr.json
+++ b/qortal-ui-core/language/fr.json
@@ -244,7 +244,14 @@
"wchange46":"Envoyer à cette adresse",
"wchange47":"Carnet d'adresses",
"wchange48":"Ce carnet d'adresses est vide !",
- "wchange49":"Ajouter au carnet d'adresses"
+ "wchange49":"Ajouter au carnet d'adresses",
+ "wchange50":"Le nom ne peut pas être vide!",
+ "wchange51":"L'adresse ne peut pas être vide!",
+ "wchange52":"Ajouté avec succès!",
+ "wchange53":"Importer le carnet d'adresses",
+ "wchange54":"Exporter le carnet d'adresses",
+ "wchange55":"Votre carnet d'adresses existant sera supprimé et une nouvelle sauvegarde sera créée.",
+ "wchange56":"ATTENTION!"
},
"tradepage":{
"tchange1":"Portail de commerce",
diff --git a/qortal-ui-core/language/hindi.json b/qortal-ui-core/language/hindi.json
index abea6eed..7f23f9a1 100644
--- a/qortal-ui-core/language/hindi.json
+++ b/qortal-ui-core/language/hindi.json
@@ -245,7 +245,14 @@
"wchange46":"इस पते पर भेजें",
"wchange47":"पता पुस्तिका",
"wchange48":"यह पता पुस्तिका खाली है !",
- "wchange49":"पता सूची में जोड़ें"
+ "wchange49":"पता सूची में जोड़ें",
+ "wchange50":"नाम खाली नहीं हो सकता!",
+ "wchange51":"पता खाली नहीं हो सकता!",
+ "wchange52":"सफलतापूर्वक शामिल!",
+ "wchange53":"पता पुस्तिका आयात करें",
+ "wchange54":"निर्यात पता पुस्तिका",
+ "wchange55":"आपकी मौजूदा पता पुस्तिका हटा दी जाएगी और बैकअप से नया बनाया जाएगा।",
+ "wchange56":"चेतावनी!"
},
"tradepage":{
"tchange1":"व्यापार पोर्टल",
diff --git a/qortal-ui-core/language/hr.json b/qortal-ui-core/language/hr.json
index ce661bdd..4e09f98f 100644
--- a/qortal-ui-core/language/hr.json
+++ b/qortal-ui-core/language/hr.json
@@ -244,7 +244,14 @@
"wchange46":"Šaljite na ovu adresu",
"wchange47":"Adresar",
"wchange48":"Ovaj adresar je prazan !",
- "wchange49":"Dodaj u adresar"
+ "wchange49":"Dodaj u adresar",
+ "wchange50":"Ime ne može biti prazno!",
+ "wchange51":"Adresa ne može biti prazna!",
+ "wchange52":"Uspješno dodano!",
+ "wchange53":"Uvezi adresar",
+ "wchange54":"Izvezi adresar",
+ "wchange55":"Vaš postojeći adresar bit će izbrisan i novi će se stvoriti iz sigurnosne kopije.",
+ "wchange56":"UPOZORENJE!"
},
"tradepage":{
"tchange1":"Portal razmjene",
diff --git a/qortal-ui-core/language/hu.json b/qortal-ui-core/language/hu.json
index f3fec587..c21a6a21 100644
--- a/qortal-ui-core/language/hu.json
+++ b/qortal-ui-core/language/hu.json
@@ -244,7 +244,14 @@
"wchange46":"Küldje el erre a címre",
"wchange47":"Címjegyzék",
"wchange48":"Ez a címjegyzék üres !",
- "wchange49":"Hozzáadás a címjegyzékhez"
+ "wchange49":"Hozzáadás a címjegyzékhez",
+ "wchange50":"A név nem lehet üres!",
+ "wchange51":"A cím nem lehet üres!",
+ "wchange52":"Sikeresen hozzáadva!",
+ "wchange53":"Címjegyzék importálása",
+ "wchange54":"Címjegyzék exportálása",
+ "wchange55":"Meglévő címjegyzéke törlésre kerül, és a biztonsági másolatból új jön létre.",
+ "wchange56":"FIGYELEM!"
},
"tradepage":{
"tchange1":"Kereskedelmi Portál",
diff --git a/qortal-ui-core/language/it.json b/qortal-ui-core/language/it.json
index b5f6d9a8..91f51ab6 100644
--- a/qortal-ui-core/language/it.json
+++ b/qortal-ui-core/language/it.json
@@ -244,7 +244,14 @@
"wchange46":"Invia a questo indirizzo",
"wchange47":"Rubrica",
"wchange48":"Questa rubrica è vuota !",
- "wchange49":"Aggiungi alla rubrica"
+ "wchange49":"Aggiungi alla rubrica",
+ "wchange50":"Il nome non può essere vuoto!",
+ "wchange51":"L'indirizzo non può essere vuoto!",
+ "wchange52":"Aggiunto con successo!",
+ "wchange53":"Importa rubrica",
+ "wchange54":"Esporta rubrica",
+ "wchange55":"La tua rubrica esistente verrà eliminata e dal backup verrà creata una nuova.",
+ "wchange56":"AVVERTIMENTO!"
},
"tradepage":{
"tchange1":"Portale commerciale",
diff --git a/qortal-ui-core/language/ko.json b/qortal-ui-core/language/ko.json
index e8c57fc0..0628f12f 100644
--- a/qortal-ui-core/language/ko.json
+++ b/qortal-ui-core/language/ko.json
@@ -244,7 +244,14 @@
"wchange46":"이 주소로 보내기",
"wchange47":"주소록",
"wchange48":"이 주소록이 비어 있습니다 !",
- "wchange49":"주소록에 추가하다"
+ "wchange49":"주소록에 추가하다",
+ "wchange50":"이름은 비워둘 수 없습니다!",
+ "wchange51":"주소는 비워둘 수 없습니다!",
+ "wchange52":"성공적으로 추가되었습니다!",
+ "wchange53":"주소록 가져오기",
+ "wchange54":"주소록 내보내기",
+ "wchange55":"기존 주소록이 삭제되고 백업에서 새로 생성됩니다.",
+ "wchange56":"경고!"
},
"tradepage":{
"tchange1":"무역 포털",
diff --git a/qortal-ui-core/language/no.json b/qortal-ui-core/language/no.json
index a0ca2e06..0feb8239 100644
--- a/qortal-ui-core/language/no.json
+++ b/qortal-ui-core/language/no.json
@@ -181,7 +181,7 @@
"mchange35":"Sponsing",
"mchange36":"Sponsoren din vil utstede deg en sponsenøkkel (Sponsorship Key) som du vil bruke for å legge til noden din, så du kan begynne å minte (der er ingen belønninger før du når nivå 1.) Når du har nådd nivå 1, oppretter/tildeler du din egen ‘mintenøkkel’ og begynner å tjene belønninger. Du har XXXX blokker igjen i sponsingsperioden.",
"mchange37":"Simpelthen ta kontakt med en minter i Qortal som har et høyt nok nivå til å utstede en sponsenøkkel, skaff den nøkkelen, og kom så tilbake hit og fyll inn nøkkelen for å begynne mintereisen!",
- "mchange38":"i"
+ "mchange38":"om"
},
"becomeMinterPage":{
"bchange7":"Skriv inn sponsornøkkel",
@@ -244,7 +244,14 @@
"wchange46":"Send til denne adressen",
"wchange47":"Adressebok",
"wchange48":"Denne adresseboken er tom !",
- "wchange49":"Legg til i Adresseboken"
+ "wchange49":"Legg til i Adresseboken",
+ "wchange50":"Navnet kan ikke stå tomt!",
+ "wchange51":"Adressen kan ikke være tom!",
+ "wchange52":"Lagt til!",
+ "wchange53":"Importer adressebok",
+ "wchange54":"Eksporter adressebok",
+ "wchange55":"Din eksisterende adressebok vil bli slettet og ny opprettet fra sikkerhetskopi.",
+ "wchange56":"ADVARSEL!"
},
"tradepage":{
"tchange1":"Handelsportal",
diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json
index be76d298..42d45e0b 100644
--- a/qortal-ui-core/language/pl.json
+++ b/qortal-ui-core/language/pl.json
@@ -244,7 +244,14 @@
"wchange46":"Wyślij na ten adres",
"wchange47":"Książka adresowa",
"wchange48":"Ta książka adresowa jest pusta !",
- "wchange49":"Dodaj do książki adresowej"
+ "wchange49":"Dodaj do książki adresowej",
+ "wchange50":"Nazwa nie może być pusta!",
+ "wchange51":"Adres nie może być pusty!",
+ "wchange52":"Pomyslnie dodano!",
+ "wchange53":"Importuj książkę adresową",
+ "wchange54":"Eksportuj książkę adresową",
+ "wchange55":"Twoja istniejąca książka adresowa zostanie usunięta, az kopii zapasowej utworzona nowa.",
+ "wchange56":"OSTRZEŻENIE!"
},
"tradepage":{
"tchange1":"Portal Handlowy",
diff --git a/qortal-ui-core/language/pt.json b/qortal-ui-core/language/pt.json
index 58906973..1e019d99 100644
--- a/qortal-ui-core/language/pt.json
+++ b/qortal-ui-core/language/pt.json
@@ -244,7 +244,14 @@
"wchange46":"Enviar para este endereço",
"wchange47":"Livro de endereços",
"wchange48":"Este catálogo de endereços está vazio !",
- "wchange49":"Adicionar ao catálogo de endereços"
+ "wchange49":"Adicionar ao catálogo de endereços",
+ "wchange50":"O nome não pode ficar vazio!",
+ "wchange51":"O endereço não pode estar vazio!",
+ "wchange52":"Adicionado com sucesso!",
+ "wchange53":"Importar catálogo de endereços",
+ "wchange54":"Exportar catálogo de endereços",
+ "wchange55":"Seu catálogo de endereços existente será excluído e o backup será criado novamente.",
+ "wchange56":"AVISO!"
},
"tradepage":{
"tchange1":"Portal do Comércio",
diff --git a/qortal-ui-core/language/ro.json b/qortal-ui-core/language/ro.json
index 7a638f71..0243a13b 100644
--- a/qortal-ui-core/language/ro.json
+++ b/qortal-ui-core/language/ro.json
@@ -244,7 +244,14 @@
"wchange46":"Trimiteti la aceasta adresa",
"wchange47":"Carte de adrese",
"wchange48":"Aceasta agenda de adrese este goala !",
- "wchange49":"Adauga la agenda cu adrese"
+ "wchange49":"Adauga la agenda cu adrese",
+ "wchange50":"Numele nu poate fi gol!",
+ "wchange51":"Adresa nu poate fi goala!",
+ "wchange52":"Adaugat cu succes!",
+ "wchange53":"Import agenda de adrese",
+ "wchange54":"Exportati agenda de adrese",
+ "wchange55":"Agenda dvs. existenta va fi stearsa si din backup va fi creata o noua.",
+ "wchange56":"AVERTIZARE!"
},
"tradepage":{
"tchange1":"Portal de Tranzactionare",
diff --git a/qortal-ui-core/language/rs.json b/qortal-ui-core/language/rs.json
index d480eb9d..f4dca3cd 100644
--- a/qortal-ui-core/language/rs.json
+++ b/qortal-ui-core/language/rs.json
@@ -244,7 +244,14 @@
"wchange46":"Pošaljite na ovu adresu",
"wchange47":"Adresar",
"wchange48":"Ovaj adresar je prazan !",
- "wchange49":"Dodaj u Adresar"
+ "wchange49":"Dodaj u Adresar",
+ "wchange50":"Ime ne može biti prazno!",
+ "wchange51":"Adresa ne može biti prazna!",
+ "wchange52":"Uspešno dodato!",
+ "wchange53":"Uvezite adresar",
+ "wchange54":"Izvezi adresar",
+ "wchange55":"Vaš postojeći adresar će biti obrisan, a iz rezervne kopije biće kreiran novi.",
+ "wchange56":"UPOZORENJE!"
},
"tradepage":{
"tchange1":"Trgovinski prozor",
diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json
index 97cc5ab3..ee6c61ed 100644
--- a/qortal-ui-core/language/ru.json
+++ b/qortal-ui-core/language/ru.json
@@ -212,7 +212,7 @@
"wchange14":"Время",
"wchange15":"Подпись транзакции",
"wchange16":"Хэш транзакции",
- "wchange17":"Отправлять",
+ "wchange17":"Отправь",
"wchange18":"От адреса",
"wchange19":"Доступные средства",
"wchange20":"Кому (адрес или имя)",
@@ -244,7 +244,14 @@
"wchange46":"Отправить на этот адрес",
"wchange47":"Адресная книга",
"wchange48":"Эта адресная книга пуста !",
- "wchange49":"Добавить в адресную книгу"
+ "wchange49":"Добавить в адресную книгу",
+ "wchange50":"Имя не может быть пустым!",
+ "wchange51":"Адрес не может быть пустым!",
+ "wchange52":"Успешно добавлено!",
+ "wchange53":"Импорт адресной книги",
+ "wchange54":"Экспорт адресной книги",
+ "wchange55":"Ваша существующая адресная книга будет удалена, а из резервной копии создана новая.",
+ "wchange56":"ПРЕДУПРЕЖДЕНИЕ!"
},
"tradepage":{
"tchange1":"Торговый портал",
diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json
index f830a7df..4698dce6 100644
--- a/qortal-ui-core/language/us.json
+++ b/qortal-ui-core/language/us.json
@@ -237,9 +237,16 @@
"wchange44":"Please try again...",
"wchange45":"Send all",
"wchange46":"Send to this address",
- "wchange47":"Addressbook",
- "wchange48":"This Addressbook is empty !",
- "wchange49":"Add to Addressbook"
+ "wchange47":"Address Book",
+ "wchange48":"This Address Book is empty !",
+ "wchange49":"Add to Address Book",
+ "wchange50":"Name cannot be empty!",
+ "wchange51":"Address cannot be empty!",
+ "wchange52":"Successfully added!",
+ "wchange53":"Import Address Book",
+ "wchange54":"Export Address Book",
+ "wchange55":"Your existing address book will be deleted and from backup new created.",
+ "wchange56":"WARNING!"
},
"tradepage":{
"tchange1":"Trade Portal",
diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json
index 80894f45..7d4d1a16 100644
--- a/qortal-ui-core/language/zhc.json
+++ b/qortal-ui-core/language/zhc.json
@@ -244,7 +244,14 @@
"wchange46":"发送到这个地址",
"wchange47":"地址簿",
"wchange48":"此通讯录为空 !",
- "wchange49":"加至地址簿"
+ "wchange49":"加至地址簿",
+ "wchange50":"名称不能为空!",
+ "wchange51":"地址不能为空!",
+ "wchange52":"添加成功!",
+ "wchange53":"导入通讯录",
+ "wchange54":"导出通讯录",
+ "wchange55":"您现有的通讯簿将被删除并从新创建的备份中。",
+ "wchange56":"警告!"
},
"tradepage":{
"tchange1":"交易门户",
diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json
index 4b248e2a..6084d162 100644
--- a/qortal-ui-core/language/zht.json
+++ b/qortal-ui-core/language/zht.json
@@ -244,7 +244,14 @@
"wchange46":"發送到這個地址",
"wchange47":"地址簿",
"wchange48":"此通訊錄為空 !",
- "wchange49":"加至地址簿"
+ "wchange49":"加至地址簿",
+ "wchange50":"名稱不能為空!",
+ "wchange51":"地址不能為空!",
+ "wchange52":"添加成功!",
+ "wchange53":"導入通訊錄",
+ "wchange54":"導出通訊錄",
+ "wchange55":"您現有的通訊簿將被刪除並從新創建的備份中。",
+ "wchange56":"警告!"
},
"tradepage":{
"tchange1":"交易門戶",
diff --git a/qortal-ui-core/src/components/sidenav-menu.js b/qortal-ui-core/src/components/sidenav-menu.js
index b5bbd39c..bac9f3b3 100644
--- a/qortal-ui-core/src/components/sidenav-menu.js
+++ b/qortal-ui-core/src/components/sidenav-menu.js
@@ -190,6 +190,12 @@ class SidenavMenu extends connect(store)(LitElement) {
>
+
+
+
${this.renderNodeManagement()}
-
-
-
`;
}
}
diff --git a/qortal-ui-plugins/package.json b/qortal-ui-plugins/package.json
index 42ba39b1..9ca4301a 100644
--- a/qortal-ui-plugins/package.json
+++ b/qortal-ui-plugins/package.json
@@ -50,6 +50,7 @@
"@vaadin/grid": "23.1.5",
"@vaadin/icons": "23.1.5",
"epml": "0.3.3",
+ "file-saver": "2.0.5",
"html-escaper": "3.0.3",
"lit": "2.3.0",
"lit-translate": "2.0.1",
diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
index b84beb3d..04f67787 100644
--- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
+++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js
@@ -9,6 +9,9 @@ registerTranslateConfig({
import '../components/ButtonIconCopy.js'
import '../components/QortalQrcodeGenerator.js'
+import '../components/frag-file-input.js'
+import FileSaver from 'file-saver'
+import '@github/time-elements'
import '@material/mwc-button'
import '@material/mwc-checkbox'
import '@material/mwc-dialog'
@@ -25,7 +28,6 @@ import '@vaadin/button'
import '@vaadin/grid'
import '@vaadin/icon'
import '@vaadin/icons'
-import '@github/time-elements'
const parentEpml = new Epml({ type: 'WINDOW', source: window.parent })
@@ -65,7 +67,26 @@ class MultiWallet extends LitElement {
dogeFeePerByte: { type: Number },
dgbFeePerByte: { type: Number },
rvnFeePerByte: { type: Number },
- balanceString: { type: String }
+ balanceString: { type: String },
+ exportErrorMessage: { type: String },
+ qortBook: { type: Array },
+ btcBook: { type: Array },
+ ltcBook: { type: Array },
+ dogeBook: { type: Array },
+ dgbBook: { type: Array },
+ rvnBook: { type: Array },
+ qortBookName: { type: String },
+ btcBookName: { type: String },
+ ltcBookName: { type: String },
+ dogeBookName: { type: String },
+ dgbBookName: { type: String },
+ rvnBookName: { type: String },
+ qortBookAddress: { type: String },
+ btcBookAddress: { type: String },
+ ltcBookAddress: { type: String },
+ dogeBookAddress: { type: String },
+ dgbBookAddress: { type: String },
+ rvnBookAddress: { type: String }
}
}
@@ -81,6 +102,8 @@ class MultiWallet extends LitElement {
--mdc-theme-secondary: var(--mdc-theme-primary);
--mdc-theme-surface: var(--white);
--mdc-dialog-content-ink-color: var(--black);
+ --mdc-dialog-min-width: 400px;
+ --mdc-dialog-max-width: 1024px;
--paper-input-container-focus-color: var(--mdc-theme-primary);
--lumo-primary-text-color: rgb(0, 167, 245);
--lumo-primary-color-50pct: rgba(0, 167, 245, 0.5);
@@ -196,6 +219,14 @@ class MultiWallet extends LitElement {
word-break: break-all;
}
+ .floatleft {
+ float: left;
+ }
+
+ .floatright {
+ float: right;
+ }
+
.title {
font-weight: 600;
font-size: 12px;
@@ -504,8 +535,20 @@ class MultiWallet extends LitElement {
}
.qrcode-pos {
- margin-top: -180px;
- margin-left: 425px;
+ margin-top: -175px;
+ margin-left: 450px;
+ }
+
+ .send-pos {
+ margin-top: 20px;
+ margin-left: 20px;
+ width: 185px;
+ }
+
+ .book-pos {
+ margin-top: -44px;
+ margin-left: 215px;
+ width: 185px;
}
@media (max-width: 863px) {
@@ -602,6 +645,26 @@ class MultiWallet extends LitElement {
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light';
+ this.exportErrorMessage = ''
+ this.qortBook = []
+ this.btcBook = []
+ this.ltcBook = []
+ this.dogeBook = []
+ this.dgbBook = []
+ this.rvnBook = []
+ this.qortBookName = ''
+ this.btcBookName = ''
+ this.ltcBookName = ''
+ this.dogeBookName = ''
+ this.dgbBookName = ''
+ this.rvnBookName = ''
+ this.qortBookAddress = ''
+ this.btcBookAddress = ''
+ this.ltcBookAddress = ''
+ this.dogeBookAddress = ''
+ this.dgbBookAddress = ''
+ this.rvnBookAddress = ''
+
this.recipient = ''
this.btcRecipient = ''
this.ltcRecipient = ''
@@ -732,10 +795,16 @@ class MultiWallet extends LitElement {
- ${this.balanceString}
- ${this.renderSendButton()}
+ ${this.balanceString}
+
+
+ ${this.renderSendButton()}
+
+
+ ${this.renderAddressbookButton()}
+
@@ -813,7 +882,9 @@ class MultiWallet extends LitElement {
${translate("walletpage.wchange10")}
-
${this.selectedTransaction.btcReceiver} this.sendToBtcAddress()} title="${translate("walletpage.wchange46")}">
+
${this.selectedTransaction.btcReceiver}
+
this.sendToBtcAddress()} title="${translate("walletpage.wchange46")}">
+
this.openAddBtcAddressDialog()} title="${translate("walletpage.wchange49")}">
${translate("walletpage.wchange12")}
@@ -864,7 +935,9 @@ class MultiWallet extends LitElement {
${translate("walletpage.wchange10")}
-
${this.selectedTransaction.ltcReceiver} this.sendToLtcAddress()} title="${translate("walletpage.wchange46")}">
+
${this.selectedTransaction.ltcReceiver}
+
this.sendToLtcAddress()} title="${translate("walletpage.wchange46")}">
+
this.openAddLtcAddressDialog()} title="${translate("walletpage.wchange49")}">
${translate("walletpage.wchange12")}
@@ -916,7 +989,9 @@ class MultiWallet extends LitElement {
${translate("walletpage.wchange10")}
-
${this.selectedTransaction.dogeReceiver} this.sendToDogeAddress()} title="${translate("walletpage.wchange46")}">
+
${this.selectedTransaction.dogeReceiver}
+
this.sendToDogeAddress()} title="${translate("walletpage.wchange46")}">
+
this.openAddDogeAddressDialog()} title="${translate("walletpage.wchange49")}">
${translate("walletpage.wchange12")}
@@ -967,7 +1042,9 @@ class MultiWallet extends LitElement {
${translate("walletpage.wchange10")}
-
${this.selectedTransaction.dgbReceiver} this.sendToDgbAddress()} title="${translate("walletpage.wchange46")}">
+
${this.selectedTransaction.dgbReceiver}
+
this.sendToDgbAddress()} title="${translate("walletpage.wchange46")}">
+
this.openAddDgbAddressDialog()} title="${translate("walletpage.wchange49")}">
${translate("walletpage.wchange12")}
@@ -1018,7 +1095,9 @@ class MultiWallet extends LitElement {
${translate("walletpage.wchange10")}
-
${this.selectedTransaction.rvnReceiver} this.sendToRvnAddress()} title="${translate("walletpage.wchange46")}">
+
${this.selectedTransaction.rvnReceiver}
+
this.sendToRvnAddress()} title="${translate("walletpage.wchange46")}">
+
this.openAddRvnAddressDialog()} title="${translate("walletpage.wchange49")}">
${translate("walletpage.wchange12")}
@@ -1505,6 +1584,630 @@ class MultiWallet extends LitElement {
${translate("general.close")}
+
+
+
+
+
Qortal ${translate("walletpage.wchange47")}
+
+ ${this.renderExportAddressbookButton()}
${this.renderImportAddressbookButton()}
+
+
+
+
+
+ {
+ render(html`${this.renderSendFromQortAddressbookButton(data.item)}`, root);
+ }}>
+
+
+ ${this.isEmptyArray(this.qortBook) ? html`
+ ${translate("walletpage.wchange48")}
+ `: ''}
+
+ ${translate("general.close")}
+
+ this.openAddToQortAddressbook()}
+ >
+ ${translate("rewardsharepage.rchange14")}
+
+
+
+
+
+
+
Bitcoin ${translate("walletpage.wchange47")}
+
+ ${this.renderExportAddressbookButton()}
${this.renderImportAddressbookButton()}
+
+
+
+
+
+ {
+ render(html`${this.renderSendFromBtcAddressbookButton(data.item)}`, root);
+ }}>
+
+
+ ${this.isEmptyArray(this.btcBook) ? html`
+ ${translate("walletpage.wchange48")}
+ `: ''}
+
+ ${translate("general.close")}
+
+ this.openAddToBtcAddressbook()}
+ >
+ ${translate("rewardsharepage.rchange14")}
+
+
+
+
+
+
+
Litecoin ${translate("walletpage.wchange47")}
+
+ ${this.renderExportAddressbookButton()}
${this.renderImportAddressbookButton()}
+
+
+
+
+
+ {
+ render(html`${this.renderSendFromLtcAddressbookButton(data.item)}`, root);
+ }}>
+
+
+ ${this.isEmptyArray(this.ltcBook) ? html`
+ ${translate("walletpage.wchange48")}
+ `: ''}
+
+ ${translate("general.close")}
+
+ this.openAddToLtcAddressbook()}
+ >
+ ${translate("rewardsharepage.rchange14")}
+
+
+
+
+
+
+
Dogecoin ${translate("walletpage.wchange47")}
+
+ ${this.renderExportAddressbookButton()}
${this.renderImportAddressbookButton()}
+
+
+
+
+
+ {
+ render(html`${this.renderSendFromDogeAddressbookButton(data.item)}`, root);
+ }}>
+
+
+ ${this.isEmptyArray(this.dogeBook) ? html`
+ ${translate("walletpage.wchange48")}
+ `: ''}
+
+ ${translate("general.close")}
+
+ this.openAddToDogeAddressbook()}
+ >
+ ${translate("rewardsharepage.rchange14")}
+
+
+
+
+
+
+
Digibyte ${translate("walletpage.wchange47")}
+
+ ${this.renderExportAddressbookButton()}
${this.renderImportAddressbookButton()}
+
+
+
+
+
+ {
+ render(html`${this.renderSendFromDgbAddressbookButton(data.item)}`, root);
+ }}>
+
+
+ ${this.isEmptyArray(this.dgbBook) ? html`
+ ${translate("walletpage.wchange48")}
+ `: ''}
+
+ ${translate("general.close")}
+
+ this.openAddToDgbAddressbook()}
+ >
+ ${translate("rewardsharepage.rchange14")}
+
+
+
+
+
+
+
Ravencoin ${translate("walletpage.wchange47")}
+
+ ${this.renderExportAddressbookButton()}
${this.renderImportAddressbookButton()}
+
+
+
+
+
+ {
+ render(html`${this.renderSendFromRvnAddressbookButton(data.item)}`, root);
+ }}>
+
+
+ ${this.isEmptyArray(this.rvnBook) ? html`
+ ${translate("walletpage.wchange48")}
+ `: ''}
+
+ ${translate("general.close")}
+
+ this.openAddToRvnAddressbook()}
+ >
+ ${translate("rewardsharepage.rchange14")}
+
+
+
+
+
+
+
Qortal ${translate("walletpage.wchange47")}
+
${translate("walletpage.wchange49")}
+
+
+
+
+
+ this.closeQortAddressDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+
+
+
+
+
Bitcoin ${translate("walletpage.wchange47")}
+
${translate("walletpage.wchange49")}
+
+
+
+
+
+ this.closeBtcAddressDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+
+
+
+
+
Litecoin ${translate("walletpage.wchange47")}
+
${translate("walletpage.wchange49")}
+
+
+
+
+
+ this.closeLtcAddressDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+
+
+
+
+
Dogecoin ${translate("walletpage.wchange47")}
+
${translate("walletpage.wchange49")}
+
+
+
+
+
+ this.closeDogeAddressDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+
+
+
+
+
Digibyte ${translate("walletpage.wchange47")}
+
${translate("walletpage.wchange49")}
+
+
+
+
+
+ this.closeDgbAddressDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+
+
+
+
+
Ravencoin ${translate("walletpage.wchange47")}
+
${translate("walletpage.wchange49")}
+
+
+
+
+
+ this.closeRvnAddressDialog()}"
+ class="red"
+ >
+ ${translate("general.close")}
+
+
+
+
+
+
+
Qortal ${translate("walletpage.wchange53")}
+
+
+
+
+ this.importQortAddressbook(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("walletpage.wchange55")}
+
+
+ ${translate("general.close")}
+
+
+
+
+
+
+
Bitcoin ${translate("walletpage.wchange53")}
+
+
+
+
+ this.importBtcAddressbook(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("walletpage.wchange55")}
+
+
+ ${translate("general.close")}
+
+
+
+
+
+
+
Litecoin ${translate("walletpage.wchange53")}
+
+
+
+
+ this.importLtcAddressbook(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("walletpage.wchange55")}
+
+
+ ${translate("general.close")}
+
+
+
+
+
+
+
Dogecoin ${translate("walletpage.wchange53")}
+
+
+
+
+ this.importDogeAddressbook(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("walletpage.wchange55")}
+
+
+ ${translate("general.close")}
+
+
+
+
+
+
+
Digibyte ${translate("walletpage.wchange53")}
+
+
+
+
+ this.importDgbAddressbook(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("walletpage.wchange55")}
+
+
+ ${translate("general.close")}
+
+
+
+
+
+
+
Litecoin ${translate("walletpage.wchange53")}
+
+
+
+
+ this.importRvnAddressbook(e.detail.result)}">
+
${translate("walletpage.wchange56")}
+ ${translate("walletpage.wchange55")}
+
+
+ ${translate("general.close")}
+
+
`
}
@@ -1513,6 +2216,12 @@ class MultiWallet extends LitElement {
this.changeTheme()
this.changeLanguage()
+ this.qortAddressbook()
+ this.btcAddressbook()
+ this.ltcAddressbook()
+ this.dogeAddressbook()
+ this.dgbAddressbook()
+ this.rvnAddressbook()
this.currencyBoxes = this.shadowRoot.querySelectorAll('.currency-box')
this.transactionsDOM = this.shadowRoot.getElementById('transactionsDOM')
@@ -1866,6 +2575,572 @@ class MultiWallet extends LitElement {
}
}
+ qortAddressbook() {
+ if (localStorage.getItem("adressbookQort") === null) {
+ localStorage.setItem("adressbookQort", "")
+ } else {
+ this.qortBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+ }
+ }
+
+ btcAddressbook() {
+ if (localStorage.getItem("adressbookBtc") === null) {
+ localStorage.setItem("adressbookBtc", "")
+ } else {
+ this.btcBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+ }
+ }
+
+ ltcAddressbook() {
+ if (localStorage.getItem("adressbookLtc") === null) {
+ localStorage.setItem("adressbookLtc", "")
+ } else {
+ this.ltcBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+ }
+ }
+
+ dogeAddressbook() {
+ if (localStorage.getItem("adressbookDoge") === null) {
+ localStorage.setItem("adressbookDoge", "")
+ } else {
+ this.dogeBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+ }
+ }
+
+ dgbAddressbook() {
+ if (localStorage.getItem("adressbookDgb") === null) {
+ localStorage.setItem("adressbookDgb", "")
+ } else {
+ this.dgbBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+ }
+ }
+
+ rvnAddressbook() {
+ if (localStorage.getItem("adressbookRvn") === null) {
+ localStorage.setItem("adressbookRvn", "")
+ } else {
+ this.rvnBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+ }
+ }
+
+ openQortAddressbook() {
+ this.shadowRoot.querySelector("#qortBookDialog").show()
+ }
+
+ openBtcAddressbook() {
+ this.shadowRoot.querySelector("#btcBookDialog").show()
+ }
+
+ openLtcAddressbook() {
+ this.shadowRoot.querySelector("#ltcBookDialog").show()
+ }
+
+ openDogeAddressbook() {
+ this.shadowRoot.querySelector("#dogeBookDialog").show()
+ }
+
+ openDgbAddressbook() {
+ this.shadowRoot.querySelector("#dgbBookDialog").show()
+ }
+
+ openRvnAddressbook() {
+ this.shadowRoot.querySelector("#rvnBookDialog").show()
+ }
+
+ openAddQortAddressDialog() {
+ this.qortBookAddress = this.selectedTransaction.recipient
+ this.openAddToQortAddressbook()
+ this.shadowRoot.querySelector('#showTransactionDetailsDialog').close()
+ }
+
+ openAddBtcAddressDialog() {
+ this.btcBookAddress = this.selectedTransaction.btcReceiver
+ this.openAddToBtcAddressbook()
+ this.shadowRoot.querySelector('#showBtcTransactionDetailsDialog').close()
+ }
+
+ openAddLtcAddressDialog() {
+ this.qortBookAddress = this.selectedTransaction.ltcReceiver
+ this.openAddToLtcAddressbook()
+ this.shadowRoot.querySelector('#showLtcTransactionDetailsDialog').close()
+ }
+
+ openAddDogeAddressDialog() {
+ this.qortBookAddress = this.selectedTransaction.dogeReceiver
+ this.openAddToDogeAddressbook()
+ this.shadowRoot.querySelector('#showDogeTransactionDetailsDialog').close()
+ }
+
+ openAddDgbAddressDialog() {
+ this.qortBookAddress = this.selectedTransaction.dgbReceiver
+ this.openAddToDgbAddressbook()
+ this.shadowRoot.querySelector('#showDgbTransactionDetailsDialog').close()
+ }
+
+ openAddRvnAddressDialog() {
+ this.qortBookAddress = this.selectedTransaction.rvnReceiver
+ this.openAddToRvnAddressbook()
+ this.shadowRoot.querySelector('#showRvnTransactionDetailsDialog').close()
+ }
+
+ openAddToQortAddressbook() {
+ this.shadowRoot.querySelector("#addQortAddressDialog").show()
+ }
+
+ openAddToBtcAddressbook() {
+ this.shadowRoot.querySelector("#addBtcAddressDialog").show()
+ }
+
+ openAddToLtcAddressbook() {
+ this.shadowRoot.querySelector("#addLtcAddressDialog").show()
+ }
+
+ openAddToDogeAddressbook() {
+ this.shadowRoot.querySelector("#addDogeAddressDialog").show()
+ }
+
+ openAddToDgbAddressbook() {
+ this.shadowRoot.querySelector("#addDgbAddressDialog").show()
+ }
+
+ openAddToRvnAddressbook() {
+ this.shadowRoot.querySelector("#addRvnAddressDialog").show()
+ }
+
+ openImportQortAdressbook() {
+ this.shadowRoot.querySelector("#importQortAddressbookDialog").show()
+ }
+
+ openImportBtcAdressbook() {
+ this.shadowRoot.querySelector("#importBtcAddressbookDialog").show()
+ }
+
+ openImportLtcAdressbook() {
+ this.shadowRoot.querySelector("#importLtcAddressbookDialog").show()
+ }
+
+ openImportDogeAdressbook() {
+ this.shadowRoot.querySelector("#importDogeAddressbookDialog").show()
+ }
+
+ openImportDgbAdressbook() {
+ this.shadowRoot.querySelector("#importDgbAddressbookDialog").show()
+ }
+
+ openImportRvnAdressbook() {
+ this.shadowRoot.querySelector("#importRvnAddressbookDialog").show()
+ }
+
+ closeQortAddressDialog() {
+ this.shadowRoot.querySelector('#addQortAddressDialog').close()
+ }
+
+ closeBtcAddressDialog() {
+ this.shadowRoot.querySelector('#addBtcAddressDialog').close()
+ }
+
+ closeLtcAddressDialog() {
+ this.shadowRoot.querySelector('#addLtcAddressDialog').close()
+ }
+
+ closeDogeAddressDialog() {
+ this.shadowRoot.querySelector('#addDogeAddressDialog').close()
+ }
+
+ closeDgbAddressDialog() {
+ this.shadowRoot.querySelector('#addDgbAddressDialog').close()
+ }
+
+ closeRvnAddressDialog() {
+ this.shadowRoot.querySelector('#addRvnAddressDialog').close()
+ }
+
+ closeImportQortAddressbookDialog() {
+ this.shadowRoot.querySelector("#importQortAddressbookDialog").close()
+ }
+
+ closeImportBtcAddressbookDialog() {
+ this.shadowRoot.querySelector("#importBtcAddressbookDialog").close()
+ }
+
+ closeImportLtcAddressbookDialog() {
+ this.shadowRoot.querySelector("#importLtcAddressbookDialog").close()
+ }
+
+ closeImportDogeAddressbookDialog() {
+ this.shadowRoot.querySelector("#importDogeAddressbookDialog").close()
+ }
+
+ closeImportDgbAddressbookDialog() {
+ this.shadowRoot.querySelector("#importDgbAddressbookDialog").close()
+ }
+
+ closeImportRvnAddressbookDialog() {
+ this.shadowRoot.querySelector("#importRvnAddressbookDialog").close()
+ }
+
+
+
+ addToQortalAddressbook() {
+ let name = this.shadowRoot.getElementById('qortNameInput').value
+ let address = this.shadowRoot.getElementById('qortAddressInput').value
+
+ var oldQortalBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+
+ if (name.length === 0) {
+ let qortbookstring1 = get("walletpage.wchange50")
+ parentEpml.request('showSnackBar', `${qortbookstring1}`)
+ return false
+ }
+
+ if (address.length === 0) {
+ let qortbookstring2 = get("walletpage.wchange51")
+ parentEpml.request('showSnackBar', `${qortbookstring2}`)
+ return false
+ }
+
+ const newQortalBookItem = {
+ name: name,
+ address: address
+ }
+
+ oldQortalBook.push(newQortalBookItem)
+
+ localStorage.setItem("adressbookQort", JSON.stringify(oldQortalBook))
+
+ let qortbookstring2 = get("walletpage.wchange52")
+ parentEpml.request('showSnackBar', `${qortbookstring2}`)
+
+ this.closeQortAddressDialog()
+ this.qortBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+ }
+
+ addToBitcoinAddressbook() {
+ let name = this.shadowRoot.getElementById('btcNameInput').value
+ let address = this.shadowRoot.getElementById('btcAddressInput').value
+
+ var oldBitcoinBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+
+ if (name.length === 0) {
+ let btcbookstring1 = get("walletpage.wchange50")
+ parentEpml.request('showSnackBar', `${btcbookstring1}`)
+ return false
+ }
+
+ if (address.length === 0) {
+ let btcbookstring2 = get("walletpage.wchange51")
+ parentEpml.request('showSnackBar', `${btcbookstring2}`)
+ return false
+ }
+
+ const newBitcoinBookItem = {
+ name: name,
+ address: address
+ }
+
+ oldBitcoinBook.push(newBitcoinBookItem)
+
+ localStorage.setItem("adressbookBtc", JSON.stringify(oldBitcoinBook))
+
+ let btcbookstring3 = get("walletpage.wchange52")
+ parentEpml.request('showSnackBar', `${btcbookstring3}`)
+
+ this.closeBtcAddressDialog()
+ this.btcBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+ }
+
+ addToLitecoinAddressbook() {
+ let name = this.shadowRoot.getElementById('ltcNameInput').value
+ let address = this.shadowRoot.getElementById('ltcAddressInput').value
+
+ var oldLitecoinBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+
+ if (name.length === 0) {
+ let ltcbookstring1 = get("walletpage.wchange50")
+ parentEpml.request('showSnackBar', `${ltcbookstring1}`)
+ return false
+ }
+
+ if (address.length === 0) {
+ let ltcbookstring2 = get("walletpage.wchange51")
+ parentEpml.request('showSnackBar', `${ltcbookstring2}`)
+ return false
+ }
+
+ const newLitecoinBookItem = {
+ name: name,
+ address: address
+ }
+
+ oldLitecoinBook.push(newLitecoinBookItem)
+
+ localStorage.setItem("adressbookLtc", JSON.stringify(oldLitecoinBook))
+
+ let ltcbookstring3 = get("walletpage.wchange52")
+ parentEpml.request('showSnackBar', `${ltcbookstring3}`)
+
+ this.closeLtcAddressDialog()
+ this.ltcBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+ }
+
+ addToDogecoinAddressbook() {
+ let name = this.shadowRoot.getElementById('dogeNameInput').value
+ let address = this.shadowRoot.getElementById('dogeAddressInput').value
+
+ var oldDogecoinBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+
+ if (name.length === 0) {
+ let dogebookstring1 = get("walletpage.wchange50")
+ parentEpml.request('showSnackBar', `${dogebookstring1}`)
+ return false
+ }
+
+ if (address.length === 0) {
+ let dogebookstring2 = get("walletpage.wchange51")
+ parentEpml.request('showSnackBar', `${dogebookstring2}`)
+ return false
+ }
+
+ const newDogecoinBookItem = {
+ name: name,
+ address: address
+ }
+
+ oldDogecoinBook.push(newDogecoinBookItem)
+
+ localStorage.setItem("adressbookDoge", JSON.stringify(oldDogecoinBook))
+
+ let dogebookstring3 = get("walletpage.wchange52")
+ parentEpml.request('showSnackBar', `${dogebookstring3}`)
+
+ this.closeDogeAddressDialog()
+ this.dogeBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+ }
+
+ addToDigibyteAddressbook() {
+ let name = this.shadowRoot.getElementById('dgbNameInput').value
+ let address = this.shadowRoot.getElementById('dgbAddressInput').value
+
+ var oldDigibyteBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+
+ if (name.length === 0) {
+ let dgbbookstring1 = get("walletpage.wchange50")
+ parentEpml.request('showSnackBar', `${dgbbookstring1}`)
+ return false
+ }
+
+ if (address.length === 0) {
+ let dgbbookstring2 = get("walletpage.wchange51")
+ parentEpml.request('showSnackBar', `${dgbbookstring2}`)
+ return false
+ }
+
+ const newDigibyteBookItem = {
+ name: name,
+ address: address
+ }
+
+ oldDigibyteBook.push(newDigibyteBookItem)
+
+ localStorage.setItem("adressbookDgb", JSON.stringify(oldDigibyteBook))
+
+ let dgbbookstring3 = get("walletpage.wchange52")
+ parentEpml.request('showSnackBar', `${dgbbookstring3}`)
+
+ this.closeDgbAddressDialog()
+ this.dgbBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+ }
+
+ addToRavencoinAddressbook() {
+ let name = this.shadowRoot.getElementById('rvnNameInput').value
+ let address = this.shadowRoot.getElementById('rvnAddressInput').value
+
+ var oldRavencoinBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+
+ if (name.length === 0) {
+ let rvnbookstring1 = get("walletpage.wchange50")
+ parentEpml.request('showSnackBar', `${rvnbookstring1}`)
+ return false
+ }
+
+ if (address.length === 0) {
+ let rvnbookstring2 = get("walletpage.wchange51")
+ parentEpml.request('showSnackBar', `${rvnbookstring2}`)
+ return false
+ }
+
+ const newRavencoinBookItem = {
+ name: name,
+ address: address
+ }
+
+ oldRavencoinBook.push(newRavencoinBookItem)
+
+ localStorage.setItem("adressbookRvn", JSON.stringify(oldRavencoinBook))
+
+ let rvnbookstring3 = get("walletpage.wchange52")
+ parentEpml.request('showSnackBar', `${rvnbookstring3}`)
+
+ this.closeRvnAddressDialog()
+ this.rvnBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+ }
+
+ sendFromQortAddressbook(websiteObj) {
+ let address = websiteObj.address
+ this.recipient = address
+ this.openSendQort()
+ this.shadowRoot.querySelector('#qortBookDialog').close()
+ }
+
+ sendFromBtcAddressbook(websiteObj) {
+ let address = websiteObj.address
+ this.recipient = address
+ this.openSendBtc()
+ this.shadowRoot.querySelector('#btcBookDialog').close()
+ }
+
+ sendFromLtcAddressbook(websiteObj) {
+ let address = websiteObj.address
+ this.recipient = address
+ this.openSendLtc()
+ this.shadowRoot.querySelector('#ltcBookDialog').close()
+ }
+
+ sendFromDogeAddressbook(websiteObj) {
+ let address = websiteObj.address
+ this.recipient = address
+ this.openSendDoge()
+ this.shadowRoot.querySelector('#dogeBookDialog').close()
+ }
+
+ sendFromDgbAddressbook(websiteObj) {
+ let address = websiteObj.address
+ this.recipient = address
+ this.openSendDgb()
+ this.shadowRoot.querySelector('#dgbBookDialog').close()
+ }
+
+ sendFromRvnAddressbook(websiteObj) {
+ let address = websiteObj.address
+ this.recipient = address
+ this.openSendRvn()
+ this.shadowRoot.querySelector('#rvnBookDialog').close()
+ }
+
+ renderSendFromQortAddressbookButton(websiteObj) {
+ return html` this.sendFromQortAddressbook(websiteObj)}">`
+ }
+
+ renderSendFromBtcAddressbookButton(websiteObj) {
+ return html` this.sendFromBtcAddressbook(websiteObj)}">`
+ }
+
+ renderSendFromLtcAddressbookButton(websiteObj) {
+ return html` this.sendFromLtcAddressbook(websiteObj)}">`
+ }
+
+ renderSendFromDogeAddressbookButton(websiteObj) {
+ return html` this.sendFromDogeAddressbook(websiteObj)}">`
+ }
+
+ renderSendFromDgbAddressbookButton(websiteObj) {
+ return html` this.sendFromDgbAddressbook(websiteObj)}">`
+ }
+
+ renderSendFromRvnAddressbookButton(websiteObj) {
+ return html` this.sendFromRvnAddressbook(websiteObj)}">`
+ }
+
+ exportQortAdressbook() {
+ const qortBookData = JSON.stringify(localStorage.getItem("adressbookQort"))
+ const qortBookSave = JSON.parse((qortBookData) || "[]")
+ const blob = new Blob([qortBookSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `qortal_addressbook.qort.json`)
+ }
+
+ exportBtcAdressbook() {
+ const btcBookData = JSON.stringify(localStorage.getItem("adressbookBtc"))
+ const btcBookSave = JSON.parse((btcBookData) || "[]")
+ const blob = new Blob([btcBookSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `bitcoin_addressbook.btc.json`)
+ }
+
+ exportLtcAdressbook() {
+ const ltcBookData = JSON.stringify(localStorage.getItem("adressbookLtc"))
+ const ltcBookSave = JSON.parse((ltcBookData) || "[]")
+ const blob = new Blob([ltcBookSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `litecoin_addressbook.ltc.json`)
+ }
+
+ exportDogeAdressbook() {
+ const dogeBookData = JSON.stringify(localStorage.getItem("adressbookDoge"))
+ const dogeBookSave = JSON.parse((dogeBookData) || "[]")
+ const blob = new Blob([dogeBookSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `dogecoin_addressbook.doge.json`)
+ }
+
+ exportDgbAdressbook() {
+ const dgbBookData = JSON.stringify(localStorage.getItem("adressbookDgb"))
+ const dgbBookSave = JSON.parse((dgbBookData) || "[]")
+ const blob = new Blob([dgbBookSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `digibyte_addressbook.dgb.json`)
+ }
+
+ exportRvnAdressbook() {
+ const rvnBookData = JSON.stringify(localStorage.getItem("adressbookRvn"))
+ const rvnBookSave = JSON.parse((rvnBookData) || "[]")
+ const blob = new Blob([rvnBookSave], { type: 'text/plain;charset=utf-8' })
+ FileSaver.saveAs(blob, `ravencoin_addressbook.rvn.json`)
+ }
+
+ importQortAddressbook(file) {
+ localStorage.removeItem("adressbookQort")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("adressbookQort", JSON.stringify(newItems))
+ this.qortBook = JSON.parse(localStorage.getItem("adressbookQort") || "[]")
+ this.shadowRoot.querySelector('#importQortAddressbookDialog').close()
+ }
+
+ importBtcAddressbook(file) {
+ localStorage.removeItem("adressbookBtc")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("adressbookBtc", JSON.stringify(newItems))
+ this.btcBook = JSON.parse(localStorage.getItem("adressbookBtc") || "[]")
+ this.shadowRoot.querySelector('#importBtcAddressbookDialog').close()
+ }
+
+ importLtcAddressbook(file) {
+ localStorage.removeItem("adressbookLtc")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("adressbookLtc", JSON.stringify(newItems))
+ this.ltcBook = JSON.parse(localStorage.getItem("adressbookLtc") || "[]")
+ this.shadowRoot.querySelector('#importLtcAddressbookDialog').close()
+ }
+
+ importDogeAddressbook(file) {
+ localStorage.removeItem("adressbookDoge")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("adressbookDoge", JSON.stringify(newItems))
+ this.dogeBook = JSON.parse(localStorage.getItem("adressbookDoge") || "[]")
+ this.shadowRoot.querySelector('#importDogeAddressbookDialog').close()
+ }
+
+ importDgbAddressbook(file) {
+ localStorage.removeItem("adressbookDgb")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("adressbookDgb", JSON.stringify(newItems))
+ this.dgbBook = JSON.parse(localStorage.getItem("adressbookDgb") || "[]")
+ this.shadowRoot.querySelector('#importDgbAddressbookDialog').close()
+ }
+
+ importRvnAddressbook(file) {
+ localStorage.removeItem("adressbookRvn")
+ const newItems = JSON.parse((file) || "[]")
+ localStorage.setItem("adressbookRvn", JSON.stringify(newItems))
+ this.rvnBook = JSON.parse(localStorage.getItem("adressbookRvn") || "[]")
+ this.shadowRoot.querySelector('#importRvnAddressbookDialog').close()
+ }
+
closeQortDialog() {
this.shadowRoot.querySelector('#sendQortDialog').close()
this.successMessage = ''
@@ -2002,7 +3277,11 @@ class MultiWallet extends LitElement {
if (displaybutton == null) {
return html`${this.selectedTransaction.recipient}`
} else {
- return html`${this.selectedTransaction.recipient} this.sendToQortAddress()} title="${translate("walletpage.wchange46")}">`
+ return html`
+ ${this.selectedTransaction.recipient}
+ this.sendToQortAddress()} title="${translate("walletpage.wchange46")}">
+ this.openAddQortAddressDialog()} title="${translate("walletpage.wchange49")}">
+ `
}
}
@@ -2570,17 +3849,71 @@ class MultiWallet extends LitElement {
renderSendButton() {
if ( this._selectedWallet === "qort" ) {
- return html` this.openSendQort()}> ${translate("walletpage.wchange17")} QORT`
+ return html` this.openSendQort()}> ${translate("walletpage.wchange17")} QORT`
} else if ( this._selectedWallet === "btc" ) {
- return html` this.openSendBtc()}> ${translate("walletpage.wchange17")} BTC`
+ return html` this.openSendBtc()}> ${translate("walletpage.wchange17")} BTC`
} else if ( this._selectedWallet === "ltc" ) {
- return html` this.openSendLtc()}> ${translate("walletpage.wchange17")} LTC`
+ return html` this.openSendLtc()}> ${translate("walletpage.wchange17")} LTC`
} else if ( this._selectedWallet === "doge" ) {
- return html` this.openSendDoge()}> ${translate("walletpage.wchange17")} DOGE`
+ return html` this.openSendDoge()}> ${translate("walletpage.wchange17")} DOGE`
} else if ( this._selectedWallet === "dgb" ) {
- return html` this.openSendDgb()}> ${translate("walletpage.wchange17")} DGB`
+ return html` this.openSendDgb()}> ${translate("walletpage.wchange17")} DGB`
} else if ( this._selectedWallet === "rvn" ) {
- return html` this.openSendRvn()}> ${translate("walletpage.wchange17")} RVN`
+ return html` this.openSendRvn()}> ${translate("walletpage.wchange17")} RVN`
+ } else {
+ return html``
+ }
+ }
+
+ renderAddressbookButton() {
+ if ( this._selectedWallet === "qort" ) {
+ return html` this.openQortAddressbook()}> ${translate("walletpage.wchange47")}`
+ } else if ( this._selectedWallet === "btc" ) {
+ return html` this.openBtcAddressbook()}> ${translate("walletpage.wchange47")}`
+ } else if ( this._selectedWallet === "ltc" ) {
+ return html` this.openLtcAddressbook()}> ${translate("walletpage.wchange47")}`
+ } else if ( this._selectedWallet === "doge" ) {
+ return html` this.openDogeAddressbook()}> ${translate("walletpage.wchange47")}`
+ } else if ( this._selectedWallet === "dgb" ) {
+ return html` this.openDgbAddressbook()}> ${translate("walletpage.wchange47")}`
+ } else if ( this._selectedWallet === "rvn" ) {
+ return html` this.openRvnAddressbook()}> ${translate("walletpage.wchange47")}`
+ } else {
+ return html``
+ }
+ }
+
+ renderExportAddressbookButton() {
+ if ( this._selectedWallet === "qort" ) {
+ return html` this.exportQortAdressbook()}> ${translate("walletpage.wchange54")}`
+ } else if ( this._selectedWallet === "btc" ) {
+ return html` this.exportBtcAdressbook()}> ${translate("walletpage.wchange54")}`
+ } else if ( this._selectedWallet === "ltc" ) {
+ return html` this.exportKLtcAdressbook()}> ${translate("walletpage.wchange54")}`
+ } else if ( this._selectedWallet === "doge" ) {
+ return html` this.exportDogeAdressbook()}> ${translate("walletpage.wchange54")}`
+ } else if ( this._selectedWallet === "dgb" ) {
+ return html` this.exportDgbAdressbook()}> ${translate("walletpage.wchange54")}`
+ } else if ( this._selectedWallet === "rvn" ) {
+ return html` this.exportRvnAdressbook()}> ${translate("walletpage.wchange54")}`
+ } else {
+ return html``
+ }
+ }
+
+ renderImportAddressbookButton() {
+ if ( this._selectedWallet === "qort" ) {
+ return html` this.openImportQortAdressbook()}> ${translate("walletpage.wchange53")}`
+ } else if ( this._selectedWallet === "btc" ) {
+ return html` this.openImportBtcAdressbook()}> ${translate("walletpage.wchange53")}`
+ } else if ( this._selectedWallet === "ltc" ) {
+ return html` this.openImportLtcAdressbook()}> ${translate("walletpage.wchange53")}`
+ } else if ( this._selectedWallet === "doge" ) {
+ return html` this.openImportDogeAdressbook()}> ${translate("walletpage.wchange53")}`
+ } else if ( this._selectedWallet === "dgb" ) {
+ return html` this.openImportDgbAdressbook()}> ${translate("walletpage.wchange53")}`
+ } else if ( this._selectedWallet === "rvn" ) {
+ return html` this.openImportRvnAdressbook()}> ${translate("walletpage.wchange53")}`
} else {
return html``
}