Browse Source

Merge remote-tracking branch 'upstream/master' into feature/group-features

q-apps
Phillip Lang Martinez 2 years ago
parent
commit
53f2aa93f7
  1. 9
      qortal-ui-core/language/de.json
  2. 9
      qortal-ui-core/language/es.json
  3. 9
      qortal-ui-core/language/fr.json
  4. 9
      qortal-ui-core/language/hindi.json
  5. 9
      qortal-ui-core/language/hr.json
  6. 9
      qortal-ui-core/language/hu.json
  7. 9
      qortal-ui-core/language/it.json
  8. 9
      qortal-ui-core/language/ko.json
  9. 9
      qortal-ui-core/language/no.json
  10. 9
      qortal-ui-core/language/pl.json
  11. 9
      qortal-ui-core/language/pt.json
  12. 9
      qortal-ui-core/language/ro.json
  13. 9
      qortal-ui-core/language/rs.json
  14. 9
      qortal-ui-core/language/ru.json
  15. 117
      qortal-ui-core/language/us.json
  16. 9
      qortal-ui-core/language/zhc.json
  17. 9
      qortal-ui-core/language/zht.json
  18. 30
      qortal-ui-core/src/components/app-view.js
  19. 10
      qortal-ui-core/src/components/user-info-view/user-info-view.js
  20. 121
      qortal-ui-plugins/plugins/core/group-management/group-management.src.js
  21. 2
      qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js

9
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",

9
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",

9
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",

9
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":"पहि",

9
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",

9
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",

9
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",

9
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":"퍼즐",

9
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",

9
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",

9
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",

9
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",

9
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",

9
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":"Головоломки",

117
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",

9
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":"益智游戏",

9
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":"益智游戲",

30
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) {
</div>
<div id="balanceheader">
<span class="balanceheadertext">
${translate("general.balances")}
<vaadin-button theme="icon" id="reload" @click="${() => this.getAllBalances()}">
<vaadin-icon icon="vaadin:refresh"></vaadin-icon>
</vaadin-button>
<vaadin-tooltip text="Reload Balances" for="reload" position="top"></vaadin-tooltip>
${this.getAllBalancesLoading ? html`
${translate("general.update")}
` : html`
${translate("general.balances")}
<vaadin-button theme="icon" id="reload" @click="${() => this.getAllBalances()}">
<vaadin-icon icon="vaadin:refresh"></vaadin-icon>
</vaadin-button>
<vaadin-tooltip text="${translate("general.update")}" for="reload" position="top"></vaadin-tooltip>
`}
</span>
</div>
${this.getAllBalancesLoading ? html`<paper-progress indeterminate style="width: 100%; margin: 4px;"></paper-progress>` : ''}
${this.balanceTicker}
<app-info></app-info>
</div>
@ -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)

10
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) {
</div>
</paper-dialog>
<paper-dialog style="background: var(--white); border: 1px solid var(--black); border-radius: 5px;" id="userBoughtDialog" entry-animation="scale-up-animation" exit-animation="fade-out-animation" with-backdrop>
<paper-dialog style="background: var(--white); border: 1px solid var(--black); border-radius: 5px;" id="userBoughtDialog" modal>
<div class="card-explorer-container">
<div id="first-explorer-section">
${this.boughtBTCTemplate()}
@ -1193,7 +1191,7 @@ class UserInfoView extends connect(store)(LitElement) {
</div>
</paper-dialog>
<paper-dialog style="background: var(--white); border: 1px solid var(--black); border-radius: 5px; overflow: auto;" id="userSoldDialog" entry-animation="scale-up-animation" exit-animation="fade-out-animation" with-backdrop>
<paper-dialog style="background: var(--white); border: 1px solid var(--black); border-radius: 5px; overflow: auto;" id="userSoldDialog" modal>
<div class="card-explorer-container">
<div id="first-explorer-section">
${this.soldBTCTemplate()}
@ -1213,7 +1211,7 @@ class UserInfoView extends connect(store)(LitElement) {
</div>
</paper-dialog>
<paper-dialog style="background: var(--white); border: 1px solid var(--black); border-radius: 5px;" id="showTxDetailsDialog" entry-animation="scale-up-animation" exit-animation="fade-out-animation" with-backdrop>
<paper-dialog style="background: var(--white); border: 1px solid var(--black); border-radius: 5px;" id="showTxDetailsDialog" modal>
<div style="text-align: center; color: var(--black);">
<h1>${translate("walletpage.wchange5")}</h1>
<hr />
@ -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() {

121
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 {
<mwc-button style="float:right;" @click=${() => this.shadowRoot.querySelector('#createGroupDialog').show()}><mwc-icon>add</mwc-icon>${translate("grouppage.gchange2")}</mwc-button>
</div>
<div class="divCard">
<h3 style="margin: 0; margin-bottom: 1em; text-align: left;">${translate("grouppage.gchange55")}</h3>
<div id="search">
<vaadin-text-field
theme="medium"
style="width: 20em"
minlength="3"
maxlength="32"
id="searchGroupName"
placeholder="${translate("grouppage.gchange56")}"
value="${this.searchGroupName}"
@keydown="${this.searchGroupListener}"
clear-button-visible
>
<vaadin-icon slot="prefix" icon="vaadin:user"></vaadin-icon>
</vaadin-text-field>&nbsp;&nbsp;<br>
<vaadin-button theme="medium" @click="${(e) => this.doGroupSearch(e)}">
<vaadin-icon icon="vaadin:search" slot="prefix"></vaadin-icon>
${translate("websitespage.schange35")}
</vaadin-button>
</div><br />
<vaadin-grid theme="large" id="priveGroupSearchGrid" ?hidden="${this.isEmptyArray(this.privateGroupSearch)}" .items="${this.privateGroupSearch}" aria-label="My Search Result" all-rows-visible>
<vaadin-grid-column width="8rem" flex-grow="0" header="${translate("grouppage.gchange54")}" path="memberCount"></vaadin-grid-column>
<vaadin-grid-column header="${translate("grouppage.gchange4")}" path="groupName"></vaadin-grid-column>
<vaadin-grid-column header="${translate("managegroup.mg42")}" .renderer=${(root, column, data) => {
if (data.item.isOpen === true) {
render(html`${translate("managegroup.mg44")}`, root)
} else {
render(html`${translate("managegroup.mg45")}`, root)
}
}}></vaadin-grid-column>
<vaadin-grid-column header="${translate("grouppage.gchange5")}" path="description"></vaadin-grid-column>
<vaadin-grid-column header="${translate("grouppage.gchange10")}" path="owner"></vaadin-grid-column>
<vaadin-grid-column width="11rem" flex-grow="0" header="${translate("grouppage.gchange7")}" .renderer=${(root, column, data) => {
render(html`<mwc-button @click=${() => this.joinGroup(data.item)}><mwc-icon>queue</mwc-icon>&nbsp;${translate("grouppage.gchange51")}</mwc-button>`, root)
}}></vaadin-grid-column>
</vaadin-grid>
</div>
<div class="divCard">
<h3 style="margin: 0; margin-bottom: 1em; text-align: center;">${translate("grouppage.gchange3")}</h3>
<vaadin-grid theme="large" id="joinedGroupsGrid" ?hidden="${this.isEmptyArray(this.joinedGroups)}" .items="${this.joinedGroups}" aria-label="Joined Groups" all-rows-visible>
@ -1150,7 +1202,9 @@ class GroupManagement extends LitElement {
}}></vaadin-grid-column>
</vaadin-grid>
${this.isEmptyArray(this.joinedGroups) ? html`
<span style="color: var(--black);">${translate("grouppage.gchange8")}</span>
<div style="text-align: center;">
<span style="color: var(--black);">${translate("grouppage.gchange8")}</span>
</div>
`: ''}
</div>
@ -1175,7 +1229,9 @@ class GroupManagement extends LitElement {
}}></vaadin-grid-column>
</vaadin-grid>
${this.isEmptyArray(this.groupInvites) ? html`
<span style="color: var(--black);">${translate("managegroup.mg35")}</span>
<div style="text-align: center;">
<span style="color: var(--black);">${translate("managegroup.mg35")}</span>
</div>
`: ''}
</div>
@ -1477,6 +1533,22 @@ class GroupManagement extends LitElement {
${translate("general.close")}
</mwc-button>
</mwc-dialog>
<mwc-dialog id="privateGroupErrorDialog" scrimClickAction="" escapeKeyAction="">
<div style="text-align: center;">
<mwc-icon class="error-icon">warning</mwc-icon>
<h2>${translate("grouppage.gchange57")}</h2>
<h4>${translate("grouppage.gchange58")}</h4>
</div>
<mwc-button
slot="primaryAction"
@click=${() => this.closePrivateGroupErrorDialog()}
class="red"
>
${translate("general.close")}
</mwc-button>
</mwc-dialog>
</div>
`
}
@ -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`<mwc-button class="warning" @click=${() => this.openCreateBanMemberDialog(groupObj)}><mwc-icon>create</mwc-icon>&nbsp;${translate("managegroup.mg6")}</mwc-button>`
}
@ -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)

2
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`
}

Loading…
Cancel
Save