diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index 449987b0..e197a97e 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -155,7 +155,8 @@ "continue":"Fortsetzen", "save":"Speichern", "balance":"Guthaben", - "balances":"IHR WALLET-GUTHABEN" + "balances":"IHR WALLET-GUTHABEN", + "update":"AKTUALISIERE WALLET-GUTHABEN" }, "startminting":{ "smchange1":"Prägekonten können nicht abgerufen werden", @@ -606,7 +607,11 @@ "gchange51":"Beitreten", "gchange52":"Administrator", "gchange53":"Mitglied", - "gchange54":"Mitglieder" + "gchange54":"Mitglieder", + "gchange55":"Private Gruppe suchen", + "gchange56":"Zu suchender Gruppenname", + "gchange57":"Privater Gruppenname nicht gefunden", + "gchange58":"Beachten Sie, dass der Gruppenname genau übereinstimmen muss." }, "puzzlepage":{ "pchange1":"Rätsel", diff --git a/qortal-ui-core/language/es.json b/qortal-ui-core/language/es.json index 19e7c00f..0312fa3f 100644 --- a/qortal-ui-core/language/es.json +++ b/qortal-ui-core/language/es.json @@ -155,7 +155,8 @@ "continue":"Continuar", "save":"Guardar", "balance":"Saldo", - "balances":"LOS SALDOS DE TU BILLETERA" + "balances":"LOS SALDOS DE TU BILLETERA", + "update":"ACTUALIZAR SALDOS DE CARTERA" }, "startminting":{ "smchange1":"No se pueden obtener cuentas de acuñación", @@ -606,7 +607,11 @@ "gchange51":"Unirse", "gchange52":"Aministrador", "gchange53":"Miembro", - "gchange54":"Miembros" + "gchange54":"Miembros", + "gchange55":"Buscar grupo privado", + "gchange56":"Nombre del grupo a buscar", + "gchange57":"Nombre de grupo privado no encontrado", + "gchange58":"Tenga en cuenta que el nombre del grupo debe coincidir exactamente." }, "puzzlepage":{ "pchange1":"Rompecabezas", diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index 9cc2d17c..d677edd0 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -155,7 +155,8 @@ "continue":"Continuer", "save":"Sauvegarder", "balance":"Solde", - "balances":"VOS SOLDES DE PORTEFEUILLE" + "balances":"VOS SOLDES DE PORTEFEUILLE", + "update":"METTRE À JOUR LES SOLDES DES PORTEFEUILLES" }, "startminting":{ "smchange1":"Impossible de récupérer les comptes de frappe", @@ -606,7 +607,11 @@ "gchange51":"Rejoindre", "gchange52":"Admin", "gchange53":"Membre", - "gchange54":"Membres" + "gchange54":"Membres", + "gchange55":"Rechercher un groupe privé", + "gchange56":"Nom du groupe à rechercher", + "gchange57":"Nom de groupe privé introuvable", + "gchange58":"Notez que le nom du groupe doit correspondre exactement." }, "puzzlepage":{ "pchange1":"Puzzles", diff --git a/qortal-ui-core/language/hindi.json b/qortal-ui-core/language/hindi.json index 77e0de5a..a35856f4 100644 --- a/qortal-ui-core/language/hindi.json +++ b/qortal-ui-core/language/hindi.json @@ -156,7 +156,8 @@ "continue":"जारी रखें", "save":"सहेजें", "balance":"संतुलन", - "balances":"आपका वॉलेट बैलेंस" + "balances":"आपका वॉलेट बैलेंस", + "update":"अपडेट वॉलेट बैलेंस" }, "startminting":{ "smchange1":"खनन खाते नहीं लाए जा सकते", @@ -607,7 +608,11 @@ "gchange51":"शामिल हों", "gchange52":"व्यवस्थापक", "gchange53":"सदस्य", - "gchange54":"सदस्यों" + "gchange54":"सदस्यों", + "gchange55":"निजी समूह खोजें", + "gchange56":"खोजने के लिए समूह का नाम", + "gchange57":"निजी समूह का नाम नहीं मिला", + "gchange58":"ध्यान दें कि समूह का नाम सटीक मेल खाना चाहिए।" }, "puzzlepage":{ "pchange1":"पहेलि", diff --git a/qortal-ui-core/language/hr.json b/qortal-ui-core/language/hr.json index 0c3013c1..8478c342 100644 --- a/qortal-ui-core/language/hr.json +++ b/qortal-ui-core/language/hr.json @@ -155,7 +155,8 @@ "continue":"Nastavi", "save":"Spremi", "balance":"Kreditna", - "balances":"VAŠ NOVČANIK JE NA SALJU" + "balances":"VAŠ NOVČANIK JE NA SALJU", + "update":"AŽURIRAJTE STANJE NOVČANIKA" }, "startminting":{ "smchange1":"Nije moguće dohvatiti račune za kovanje", @@ -606,7 +607,11 @@ "gchange51":"Pridruži", "gchange52":"Admin", "gchange53":"Član", - "gchange54":"Članovi" + "gchange54":"Članovi", + "gchange55":"Traži privatnu grupu", + "gchange56":"Naziv grupe za pretraživanje", + "gchange57":"Ime privatne grupe nije pronađeno", + "gchange58":"Imajte na umu da se naziv grupe mora točno podudarati." }, "puzzlepage":{ "pchange1":"Zagonetke", diff --git a/qortal-ui-core/language/hu.json b/qortal-ui-core/language/hu.json index 5bebf438..6fdc4f54 100644 --- a/qortal-ui-core/language/hu.json +++ b/qortal-ui-core/language/hu.json @@ -155,7 +155,8 @@ "continue":"Folytatódik/folytatáshoz", "save":"Mentéshez", "balance":"Hitel", - "balances":"A PÉNZTÁRCSA EGYENLEGEK" + "balances":"A PÉNZTÁRCSA EGYENLEGEK", + "update":"FRISSÍTSE A PÉNZTÁRCSA-EGYENLEGEKET" }, "startminting":{ "smchange1":"Nem lehet lekérni a pénzverési számlákat", @@ -606,7 +607,11 @@ "gchange51":"Csatlakoz", "gchange52":"Kormányozo", "gchange53":"Tag", - "gchange54":"Tagok" + "gchange54":"Tagok", + "gchange55":"Keresés privát csoportban", + "gchange56":"A keresendő csoport neve", + "gchange57":"A privát csoport neve nem található", + "gchange58":"Ne feledje, hogy a csoport nevének pontosan meg kell egyeznie." }, "puzzlepage":{ "pchange1":"Rejtvények", diff --git a/qortal-ui-core/language/it.json b/qortal-ui-core/language/it.json index 1592451a..7cea8646 100644 --- a/qortal-ui-core/language/it.json +++ b/qortal-ui-core/language/it.json @@ -155,7 +155,8 @@ "continue":"Continua", "save":"Salva", "balance":"Saldo", - "balances":"IL TUO SALDO DEL PORTAFOGLIO" + "balances":"I SALDI DEL TUO PORTAFOGLIO", + "update":"AGGIORNA I SALDI DEL PORTAFOGLIO" }, "startminting":{ "smchange1":"Impossibile recuperare i conti di conio", @@ -606,7 +607,11 @@ "gchange51":"Unisciti", "gchange52":"Amministratore", "gchange53":"Membro", - "gchange54":"Membri" + "gchange54":"Membri", + "gchange55":"Cerca gruppo privato", + "gchange56":"Nome gruppo da cercare", + "gchange57":"Nome gruppo privato non trovato", + "gchange58":"Nota che il nome del gruppo deve corrispondere esattamente." }, "puzzlepage":{ "pchange1":"Puzzle", diff --git a/qortal-ui-core/language/ko.json b/qortal-ui-core/language/ko.json index c36bd93b..edd76c68 100644 --- a/qortal-ui-core/language/ko.json +++ b/qortal-ui-core/language/ko.json @@ -155,7 +155,8 @@ "continue":"계속하다", "save":"저장", "balance":"균형", - "balances":"지갑 잔액" + "balances":"지갑 잔액", + "update":"월렛 잔액 업데이트" }, "startminting":{ "smchange1":"발행 계정을 가져올 수 없습니다", @@ -606,7 +607,11 @@ "gchange51":"가입", "gchange52":"관리자", "gchange53":"회원", - "gchange54":"회원들" + "gchange54":"회원들", + "gchange55":"비공개 그룹 검색", + "gchange56":"검색할 그룹 이름", + "gchange57":"비공개 그룹 이름을 찾을 수 없음", + "gchange58":"그룹 이름이 정확히 일치해야 합니다." }, "puzzlepage":{ "pchange1":"퍼즐", diff --git a/qortal-ui-core/language/no.json b/qortal-ui-core/language/no.json index 9a16ace5..24e94b7d 100644 --- a/qortal-ui-core/language/no.json +++ b/qortal-ui-core/language/no.json @@ -155,7 +155,8 @@ "continue":"Fortsett", "save":"Lagre", "balance":"Saldo", - "balances":"DIN WALLET-SALDO" + "balances":"DIN WALLET-SALDO", + "update":"OPPDATERT WALLET-SALDOER" }, "startminting":{ "smchange1":"Kan ikke hente myntingkontoer", @@ -606,7 +607,11 @@ "gchange51":"Bli med", "gchange52":"Admin", "gchange53":"Medlem", - "gchange54":"Medlemmer" + "gchange54":"Medlemmer", + "gchange55":"Søk i privat gruppe", + "gchange56":"Gruppenavn å søke", + "gchange57":"Privat gruppenavn ikke funnet", + "gchange58":"Merk at gruppenavnet må samsvare nøyaktig." }, "puzzlepage":{ "pchange1":"Puzzles", diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index e57f725a..cd4f76c3 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -155,7 +155,8 @@ "continue":"Kontynuuj", "save":"Zapisz", "balance":"Saldo", - "balances":"SALDO TWOJEGO PORTFELA" + "balances":"SALDO TWOJEGO PORTFELA", + "update":"AKTUALIZUJ SALDA W PORTFELU" }, "startminting":{ "smchange1":"Nie można pobrać kont menniczych", @@ -606,7 +607,11 @@ "gchange51":"Dołącz", "gchange52":"Administrator", "gchange53":"Członek", - "gchange54":"Członkowie" + "gchange54":"Członkowie", + "gchange55":"Wyszukaj grupę prywatną", + "gchange56":"Nazwa grupy do wyszukania", + "gchange57":"Nie znaleziono nazwy grupy prywatnej", + "gchange58":"Zauważ, że nazwa grupy musi dokładnie pasować." }, "puzzlepage":{ "pchange1":"Zagadki", diff --git a/qortal-ui-core/language/pt.json b/qortal-ui-core/language/pt.json index 5f56fe4c..bce9759d 100644 --- a/qortal-ui-core/language/pt.json +++ b/qortal-ui-core/language/pt.json @@ -155,7 +155,8 @@ "continue":"Continuar", "save":"Salvar", "balance":"Saldo", - "balances":"SEUS SALDOS DE CARTEIRA" + "balances":"SEUS SALDOS DE CARTEIRA", + "update":"ATUALIZAR SALDOS DA CARTEIRA" }, "startminting":{ "smchange1":"Não é possível buscar contas de cunhagem", @@ -606,7 +607,11 @@ "gchange51":"Entrar", "gchange52":"Administrador", "gchange53":"Membro", - "gchange54":"Membros" + "gchange54":"Membros", + "gchange55":"Pesquisar Grupo Privado", + "gchange56":"Nome do grupo para pesquisar", + "gchange57":"Nome do grupo privado não encontrado", + "gchange58":"Observe que o nome do grupo deve corresponder exatamente." }, "puzzlepage":{ "pchange1":"Enigmas", diff --git a/qortal-ui-core/language/ro.json b/qortal-ui-core/language/ro.json index d65da8f2..97861bf6 100644 --- a/qortal-ui-core/language/ro.json +++ b/qortal-ui-core/language/ro.json @@ -155,7 +155,8 @@ "continue":"Continua", "save":"Salveza", "balance":"Credit", - "balances":"SOLDELE PORTOTELULUI DVS" + "balances":"SOLDELE PORTOTELULUI DVS", + "update":"ACTUALIZAȚI SOLDELE PORTOTELULUI" }, "startminting":{ "smchange1":"Nu se pot prelua conturile de batere", @@ -606,7 +607,11 @@ "gchange51":"Inscriere", "gchange52":"Admin", "gchange53":"Membru", - "gchange54":"Membrii" + "gchange54":"Membrii", + "gchange55":"Căutați grup privat", + "gchange56":"Numele grupului de căutat", + "gchange57":"Numele grupului privat nu a fost găsit", + "gchange58":"Rețineți că numele grupului trebuie să se potrivească exact." }, "puzzlepage":{ "pchange1":"Puzzle-uri", diff --git a/qortal-ui-core/language/rs.json b/qortal-ui-core/language/rs.json index 1cad90c9..0670c642 100644 --- a/qortal-ui-core/language/rs.json +++ b/qortal-ui-core/language/rs.json @@ -155,7 +155,8 @@ "continue":"Nastavite", "save":"Sačuvajte", "balance":"Kredit", - "balances":"VAŠI STANJE U NOVČANIKU" + "balances":"VAŠI STANJE U NOVČANIKU", + "update":"AŽURIRAJTE STANJE NOVČANIKA" }, "startminting":{ "smchange1":"Nije moguće preuzeti naloge za kovanje", @@ -606,7 +607,11 @@ "gchange51":"Uđite", "gchange52":"Administrator", "gchange53":"Član", - "gchange54":"Članovi" + "gchange54":"Članovi", + "gchange55":"Pretraži privatnu grupu", + "gchange56":"Ime grupe za pretragu", + "gchange57":"Ime privatne grupe nije pronađeno", + "gchange58":"Imajte na umu da ime grupe mora potpuno da se podudara." }, "puzzlepage":{ "pchange1":"Slagalice", diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json index 1865f095..1828a4af 100644 --- a/qortal-ui-core/language/ru.json +++ b/qortal-ui-core/language/ru.json @@ -155,7 +155,8 @@ "continue":"Продолжить", "save":"Сохранить", "balance":"кредит", - "balances":"БАЛАНС ВАШЕГО КОШЕЛЬКА" + "balances":"БАЛАНС ВАШЕГО КОШЕЛЬКА", + "update":"ОБНОВИТЬ БАЛАНС КОШЕЛЬКА" }, "startminting":{ "smchange1":"Не удается получить учетные записи минтинга", @@ -606,7 +607,11 @@ "gchange51":"Присоединиться", "gchange52":"Администратор", "gchange53":"Член", - "gchange54":"Члены" + "gchange54":"Члены", + "gchange55":"Поиск в закрытой группе", + "gchange56":"Имя группы для поиска", + "gchange57":"Имя частной группы не найдено", + "gchange58":"Обратите внимание, что название группы должно точно совпадать." }, "puzzlepage":{ "pchange1":"Головоломки", diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index e6a0ab28..63b5d13b 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -155,7 +155,8 @@ "continue":"Continue", "save":"Save", "balance":"Balance", - "balances":"YOUR WALLET BALANCES" + "balances":"YOUR WALLET BALANCES", + "update":"UPDATE WALLET BALANCES" }, "startminting": { "smchange1": "Cannot fetch minting accounts", @@ -575,61 +576,65 @@ "bcchange16": "Choose Recipient or Search for One Below", "bcchange17": "FORWARDED" }, - "grouppage": { - "gchange1": "Qortal Groups", - "gchange2": "Create Group", - "gchange3": "Your Joined Groups", - "gchange4": "Group Name", - "gchange5": "Description", - "gchange6": "Role", - "gchange7": "Action", - "gchange8": "Not a member of any group!", - "gchange9": "Public Groups", - "gchange10": "Owner", - "gchange11": "No Open Public Groups available!", - "gchange12": "Create a New Group", - "gchange13": "Group Type", - "gchange14": "This Field is Required", - "gchange15": "Select an option", - "gchange16": "Public", - "gchange17": "Private", - "gchange18": "Group Approval Threshold (number / percentage of Admins that must approve a transaction):", - "gchange19": "NONE", - "gchange20": "ONE", - "gchange21": "Minimum Block delay for Group Transaction Approvals:", - "gchange22": "minutes", - "gchange23": "hour", - "gchange24": "hours", - "gchange25": "day", - "gchange26": "days", - "gchange27": "Maximum Block delay for Group Transaction Approvals:", - "gchange28": "Creating Group", - "gchange29": "Create Group", - "gchange30": "Join Group Request", - "gchange31": "Date Created", - "gchange32": "Date Updated", - "gchange33": "Joining", - "gchange34": "Join Group", - "gchange35": "Leave Group Request", - "gchange36": "Leaving", - "gchange37": "Leave Group", - "gchange38": "Manage Group Owner:", - "gchange39": "Manage Group Admin:", - "gchange40": "Manage Group", - "gchange41": "Group Creation Successful!", - "gchange42": "Invalid Group Name", - "gchange43": "Invalid Group Description", - "gchange44": "Select a Group Typ", - "gchange45": "Select a Group Approval Threshold", - "gchange46": "Select a Minimum Block delay for Group Transaction Approvals", - "gchange47": "Select a Maximum Block delay for Group Transaction Approvals", - "gchange48": "Join Group Request Sent Successfully!", - "gchange49": "Leave Group Request Sent Successfully!", - "gchange50": "Leave", - "gchange51": "Join", - "gchange52": "Admin", - "gchange53": "Member", - "gchange54": "Members" + "grouppage":{ + "gchange1":"Qortal Groups", + "gchange2":"Create Group", + "gchange3":"Your Joined Groups", + "gchange4":"Group Name", + "gchange5":"Description", + "gchange6":"Role", + "gchange7":"Action", + "gchange8":"Not a member of any group!", + "gchange9":"Public Groups", + "gchange10":"Owner", + "gchange11":"No Open Public Groups available!", + "gchange12":"Create a New Group", + "gchange13":"Group Type", + "gchange14":"This Field is Required", + "gchange15":"Select an option", + "gchange16":"Public", + "gchange17":"Private", + "gchange18":"Group Approval Threshold (number / percentage of Admins that must approve a transaction):", + "gchange19":"NONE", + "gchange20":"ONE", + "gchange21":"Minimum Block delay for Group Transaction Approvals:", + "gchange22":"minutes", + "gchange23":"hour", + "gchange24":"hours", + "gchange25":"day", + "gchange26":"days", + "gchange27":"Maximum Block delay for Group Transaction Approvals:", + "gchange28":"Creating Group", + "gchange29":"Create Group", + "gchange30":"Join Group Request", + "gchange31":"Date Created", + "gchange32":"Date Updated", + "gchange33":"Joining", + "gchange34":"Join Group", + "gchange35":"Leave Group Request", + "gchange36":"Leaving", + "gchange37":"Leave Group", + "gchange38":"Manage Group Owner:", + "gchange39":"Manage Group Admin:", + "gchange40":"Manage Group", + "gchange41":"Group Creation Successful!", + "gchange42":"Invalid Group Name", + "gchange43":"Invalid Group Description", + "gchange44":"Select a Group Typ", + "gchange45":"Select a Group Approval Threshold", + "gchange46":"Select a Minimum Block delay for Group Transaction Approvals", + "gchange47":"Select a Maximum Block delay for Group Transaction Approvals", + "gchange48":"Join Group Request Sent Successfully!", + "gchange49":"Leave Group Request Sent Successfully!", + "gchange50":"Leave", + "gchange51":"Join", + "gchange52":"Admin", + "gchange53":"Member", + "gchange54":"Members", + "gchange55":"Search Private Group", + "gchange56":"Group Name To Search", + "gchange57":"Private Group Name Not Found", + "gchange58":"Note that group name must exact match." }, "puzzlepage": { "pchange1": "Puzzles", diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json index b8052dfd..c034caf0 100644 --- a/qortal-ui-core/language/zhc.json +++ b/qortal-ui-core/language/zhc.json @@ -155,7 +155,8 @@ "continue":"继续", "save":"保存", "balance":"信用", - "balances":"您的钱包余额" + "balances":"您的钱包余额", + "update":"更新钱包余额" }, "startminting":{ "smchange1":"无法获取铸币帐户", @@ -606,7 +607,11 @@ "gchange51":"加入", "gchange52":"管理员", "gchange53":"成员", - "gchange54":"成员数量" + "gchange54":"成员数量", + "gchange55":"搜索私人群组", + "gchange56":"要搜索的组名", + "gchange57":"未找到私人组名", + "gchange58":"注意组名必须完全匹配。" }, "puzzlepage":{ "pchange1":"益智游戏", diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json index 113b8b14..94e0c663 100644 --- a/qortal-ui-core/language/zht.json +++ b/qortal-ui-core/language/zht.json @@ -155,7 +155,8 @@ "continue":"繼續", "save":"保存", "balance":"信用", - "balances":"您的錢包餘額" + "balances":"您的錢包餘額", + "update":"更新錢包餘額" }, "startminting":{ "smchange1":"無法獲取鑄幣帳戶", @@ -606,7 +607,11 @@ "gchange51":"加入", "gchange52":"管理員", "gchange53":"成員", - "gchange54":"成員數量" + "gchange54":"成員數量", + "gchange55":"搜索私人群組", + "gchange56":"要搜索的組名", + "gchange57":"未找到私人組名", + "gchange58":"注意組名必須完全匹配。" }, "puzzlepage":{ "pchange1":"益智游戲", diff --git a/qortal-ui-core/src/components/app-view.js b/qortal-ui-core/src/components/app-view.js index 57a274a4..c57ccb88 100644 --- a/qortal-ui-core/src/components/app-view.js +++ b/qortal-ui-core/src/components/app-view.js @@ -6,6 +6,7 @@ import { addTradeBotRoutes } from '../tradebot/addTradeBotRoutes.js' import { get, translate, translateUnsafeHTML } from 'lit-translate' import '@polymer/paper-icon-button/paper-icon-button.js' +import '@polymer/paper-progress/paper-progress.js' import '@polymer/iron-icons/iron-icons.js' import '@polymer/app-layout/app-layout.js' import '@polymer/paper-ripple' @@ -38,6 +39,7 @@ class AppView extends connect(store)(LitElement) { theme: { type: String, reflect: true }, addressInfo: { type: Object }, searchContentString: { type: String }, + getAllBalancesLoading: { type: Boolean }, botQortWallet: { type: String }, botBtcWallet: { type: String }, botLtcWallet: { type: String }, @@ -156,6 +158,10 @@ class AppView extends connect(store)(LitElement) { padding: 3px; } + paper-progress { + --paper-progress-active-color: var(--mdc-theme-primary); + } + .s-menu { list-style: none; padding: 0px 0px; @@ -209,7 +215,7 @@ class AppView extends connect(store)(LitElement) { .balanceheadertext { position: absolute; margin: auto; - font-size: 16px; + font-size: 14px; font-weight: 400; width: 250px; display: inline; @@ -325,11 +331,12 @@ class AppView extends connect(store)(LitElement) { constructor() { super() + this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' this.searchContentString = '' this.urls = []; this.nodeType = '' this.addressInfo = {} - this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' + this.getAllBalancesLoading = false this.botQortWallet = '' this.botBtcWallet = '' this.botLtcWallet = '' @@ -416,13 +423,18 @@ class AppView extends connect(store)(LitElement) {
- ${translate("general.balances")} - - - - + ${this.getAllBalancesLoading ? html` + ${translate("general.update")} + ` : html` + ${translate("general.balances")} + + + + + `}
+ ${this.getAllBalancesLoading ? html`` : ''} ${this.balanceTicker} @@ -1507,6 +1519,7 @@ class AppView extends connect(store)(LitElement) { } async getAllBalances() { + this.getAllBalancesLoading = true await this.updateQortWalletBalance() await this.updateBtcWalletBalance() await this.updateLtcWalletBalance() @@ -1515,6 +1528,7 @@ class AppView extends connect(store)(LitElement) { await this.updateRvnWalletBalance() await this.fetchArrrWalletAddress() await this.updateArrrWalletBalance() + this.getAllBalancesLoading = false } async renderBalances() { @@ -2134,4 +2148,4 @@ class AppView extends connect(store)(LitElement) { } } -window.customElements.define('app-view', AppView) +window.customElements.define('app-view', AppView) \ No newline at end of file diff --git a/qortal-ui-core/src/components/user-info-view/user-info-view.js b/qortal-ui-core/src/components/user-info-view/user-info-view.js index ada00969..453b6ccf 100644 --- a/qortal-ui-core/src/components/user-info-view/user-info-view.js +++ b/qortal-ui-core/src/components/user-info-view/user-info-view.js @@ -6,8 +6,6 @@ import { doLogout } from '../../redux/app/app-actions.js' import { get, translate, translateUnsafeHTML } from 'lit-translate' import '@polymer/paper-dialog/paper-dialog.js' -import '@polymer/neon-animation/animations/scale-up-animation.js'; -import '@polymer/neon-animation/animations/fade-out-animation.js'; import '@material/mwc-button' import '@material/mwc-icon' import '@vaadin/grid' @@ -1173,7 +1171,7 @@ class UserInfoView extends connect(store)(LitElement) { - +
${this.boughtBTCTemplate()} @@ -1193,7 +1191,7 @@ class UserInfoView extends connect(store)(LitElement) {
- +
${this.soldBTCTemplate()} @@ -1213,7 +1211,7 @@ class UserInfoView extends connect(store)(LitElement) {
- +

${translate("walletpage.wchange5")}


@@ -1773,7 +1771,7 @@ class UserInfoView extends connect(store)(LitElement) { openTrades() { this.shadowRoot.getElementById('userTrades').open() - this.shadowRoot.getElementById('userInfoDialog').close() + this.shadowRoot.getElementById('userFullInfoDialog').close() } async openUserBoughtDialog() { diff --git a/qortal-ui-plugins/plugins/core/group-management/group-management.src.js b/qortal-ui-plugins/plugins/core/group-management/group-management.src.js index e9f6d011..25dbdd19 100644 --- a/qortal-ui-plugins/plugins/core/group-management/group-management.src.js +++ b/qortal-ui-plugins/plugins/core/group-management/group-management.src.js @@ -30,8 +30,10 @@ class GroupManagement extends LitElement { return { loading: { type: Boolean }, publicGroups: { type: Array }, + privateGroups: { type: Array }, joinedGroups: { type: Array }, groupInvites: { type: Array }, + privateGroupSearch: { type: Array }, newMembersList: { type: Array }, newAdminsList: { type: Array }, newBannedList: { type: Array }, @@ -77,6 +79,7 @@ class GroupManagement extends LitElement { toInviteMemberToGroup: { type: String }, toCancelInviteMemberName: { type: String }, toCancelInviteMemberAddress: { type: String }, + searchGroupName: { type: String }, errorMessage: { type: String }, successMessage: { type: String } } @@ -410,6 +413,13 @@ class GroupManagement extends LitElement { background: var(--white); color: var(--black); } + + #search { + width: 100%; + display: flex; + margin: auto; + align-items: center; + } ` } @@ -418,8 +428,10 @@ class GroupManagement extends LitElement { this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' this.selectedAddress = {} this.publicGroups = [] + this.privateGroups = [] this.joinedGroups = [] this.groupInvites = [] + this.privateGroupSearch = [] this.newMembersList = [] this.newAdminsList = [] this.newBannedList = [] @@ -458,6 +470,7 @@ class GroupManagement extends LitElement { this.toInviteMemberToGroup = '' this.toCancelInviteMemberName = '' this.toCancelInviteMemberAddress = '' + this.searchGroupName = '' this.errorMessage = '' this.successMessage = '' this.selectedView = { id: 'group-members', name: 'Group Members' } @@ -1136,6 +1149,45 @@ class GroupManagement extends LitElement { this.shadowRoot.querySelector('#createGroupDialog').show()}>add${translate("grouppage.gchange2")}
+
+

${translate("grouppage.gchange55")}

+
+ + + + { + if (data.item.isOpen === true) { + render(html`${translate("managegroup.mg44")}`, root) + } else { + render(html`${translate("managegroup.mg45")}`, root) + } + }}> + + + { + render(html` this.joinGroup(data.item)}>queue ${translate("grouppage.gchange51")}`, root) + }}> + +
+

${translate("grouppage.gchange3")}

@@ -1150,7 +1202,9 @@ class GroupManagement extends LitElement { }}> ${this.isEmptyArray(this.joinedGroups) ? html` - ${translate("grouppage.gchange8")} +
+ ${translate("grouppage.gchange8")} +
`: ''}
@@ -1175,7 +1229,9 @@ class GroupManagement extends LitElement { }}> ${this.isEmptyArray(this.groupInvites) ? html` - ${translate("managegroup.mg35")} +
+ ${translate("managegroup.mg35")} +
`: ''}
@@ -1477,6 +1533,22 @@ class GroupManagement extends LitElement { ${translate("general.close")} + + +
+ warning +

${translate("grouppage.gchange57")}

+

${translate("grouppage.gchange58")}

+
+ + this.closePrivateGroupErrorDialog()} + class="red" + > + ${translate("general.close")} + +
` } @@ -1504,6 +1576,14 @@ class GroupManagement extends LitElement { return myGs } + 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 + } + const getJoinedGroups = async () => { let joinedG = await parentEpml.request('apiCall', { url: `/groups/member/${this.selectedAddress.address}` @@ -1563,13 +1643,15 @@ class GroupManagement extends LitElement { const getOpen_JoinedGroups = async () => { 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.privateGroups = _privateGroups this.joinedGroups = _joinedGroups - setTimeout(getOpen_JoinedGroups, 30000) + setTimeout(getOpen_JoinedGroups, 60000) } window.addEventListener("contextmenu", (event) => { @@ -1723,6 +1805,36 @@ class GroupManagement extends LitElement { } } + searchGroupListener(e) { + if (e.key === 'Enter') { + this.doGroupSearch(e) + } + } + + doGroupSearch(e) { + this.renderSearchResult() + } + + renderSearchResult() { + this.privateGroupSearch = [] + let searchGroupName = this.shadowRoot.getElementById('searchGroupName').value + if (searchGroupName.length === 0) { + let err1string = get("websitespage.schange34") + parentEpml.request('showSnackBar', `${err1string}`) + } else { + this.privateGroupSearch = this.privateGroups.filter(myS => myS.groupName === searchGroupName) + if (this.privateGroupSearch.length === 0) { + this.shadowRoot.querySelector('#privateGroupErrorDialog').show() + } + } + } + + closePrivateGroupErrorDialog() { + this.shadowRoot.querySelector('#privateGroupErrorDialog').close() + this.shadowRoot.getElementById('searchGroupName').value = '' + this.privateGroupSearch = [] + } + renderBanButton(groupObj) { return html` this.openCreateBanMemberDialog(groupObj)}>create ${translate("managegroup.mg6")}` } @@ -1940,6 +2052,7 @@ class GroupManagement extends LitElement { closeFieldErrorDialog() { this.shadowRoot.querySelector('#fieldErrorDialog').close() } + async unitCreateFee() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port @@ -3179,4 +3292,4 @@ class GroupManagement extends LitElement { } } -window.customElements.define('group-management', GroupManagement) +window.customElements.define('group-management', GroupManagement) \ No newline at end of file diff --git a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js index 879dda46..05019570 100644 --- a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js +++ b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js @@ -280,7 +280,7 @@ class NameRegistration extends LitElement { } async uploadAvatar(nameObj) { - let name = nameObj.name + let name = encodeURIComponent(nameObj.name) window.location.href = `../qdn/publish/index.html?service=THUMBNAIL&identifier=qortal_avatar&name=${name}&uploadType=file&category=Avatar&showName=false&showService=false&showIdentifier=false` }