add buttons and translatations

This commit is contained in:
AlphaX-Projects 2022-09-05 14:22:33 +02:00
parent 988dc74ae9
commit 84b97836e1
21 changed files with 533 additions and 351 deletions

View File

@ -646,10 +646,21 @@
"schange2":"Kontoadresse", "schange2":"Kontoadresse",
"schange3":"Aktive Patenschaften insgesamt", "schange3":"Aktive Patenschaften insgesamt",
"schange4":"Nächste Patenschaft endet in", "schange4":"Nächste Patenschaft endet in",
"schange5":"Sponsor New Minter", "schange5":"Sponsor einen neuen Minter",
"schange6":"Abgeschlossene Patenschaften", "schange6":"Abgeschlossene Patenschaften",
"schange7":"Abgeschlossen", "schange7":"Abgeschlossen",
"schange8":"Adressen", "schange8":"Adressen",
"schange9":"Sie haben derzeit keine aktiven Patenschaften" "schange9":"Sie haben derzeit keine aktiven Patenschaften",
"schange10":"Suche nach öffentlichen Schlüsseln",
"schange11":"Kopieren",
"schange12":"Konverter von Adresse zu öffentlichem Schlüssel",
"schange13":"Adresse eingeben",
"schange14":"Im Gange",
"schange15":"Beenden",
"schange16":"Kopieren Sie den unten stehenden Schlüssel und teilen Sie ihn mit Ihrer gesponserten Person.",
"schange17":"In die Zwischenablage kopiert",
"schange18":"Warnung: Verlassen Sie dieses Plugin nicht und schließen Sie die Qortal-Benutzeroberfläche nicht, bis es fertig ist!",
"schange19":"Sponsoring-Schlüssel kopieren",
"schange20":"Beziehung schaffen"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Patrocinios Finalizados", "schange6":"Patrocinios Finalizados",
"schange7":"Terminado", "schange7":"Terminado",
"schange8":"direcciones", "schange8":"direcciones",
"schange9":"Actualmente no tienes patrocinios activos" "schange9":"Actualmente no tienes patrocinios activos",
"schange10":"Búsqueda de clave pública",
"schange11":"Copiar",
"schange12":"Convertidor de dirección a clave pública",
"schange13":"Ingresa la direccion",
"schange14":"En progreso",
"schange15":"Terminando",
"schange16":"Copie la clave a continuación y compártala con su persona patrocinada.",
"schange17":"Copiado al portapapeles",
"schange18":"Advertencia: ¡no deje este complemento ni cierre la interfaz de usuario de Qortal hasta que finalice!",
"schange19":"Copiar clave de patrocinio",
"schange20":"Creando relación"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Parrainages terminés", "schange6":"Parrainages terminés",
"schange7":"Complété", "schange7":"Complété",
"schange8":"adresses", "schange8":"adresses",
"schange9":"Vous n'avez actuellement aucun parrainage actif" "schange9":"Vous n'avez actuellement aucun parrainage actif",
"schange10":"Recherche de clé publique",
"schange11":"Copie",
"schange12":"Convertisseur d'adresse en clé publique",
"schange13":"Entrer l'adresse",
"schange14":"En cours",
"schange15":"Finir",
"schange16":"Copiez la clé ci-dessous et partagez-la avec votre filleul.",
"schange17":"Copié dans le presse-papier",
"schange18":"Attention : ne quittez pas ce plugin ou ne fermez pas l'interface utilisateur de Qortal jusqu'à ce qu'il soit terminé !",
"schange19":"Copier la clé de parrainage",
"schange20":"Créer une relation"
} }
} }

View File

@ -651,6 +651,17 @@
"schange6":"समाप्त प्रायोजन", "schange6":"समाप्त प्रायोजन",
"schange7":"पूरा हुआ", "schange7":"पूरा हुआ",
"schange8":"पते", "schange8":"पते",
"schange9":"वर्तमान में आपके पास कोई सक्रिय प्रायोजन नहीं है" "schange9":"वर्तमान में आपके पास कोई सक्रिय प्रायोजन नहीं है",
"schange10":"सार्वजनिक कुंजी लुकअप",
"schange11":"प्रतिलिपि",
"schange12":"सार्वजनिक कुंजी परिवर्तक का पता",
"schange13":"पता लिखिए",
"schange14":"चालू",
"schange15":"
"schange16":"नीचे दी गई कुंजी को कॉपी करें और इसे अपने प्रायोजित व्यक्ति के साथ साझा करें।",
"schange17":"क्लिपबोर्ड पर नकल",
"schange18":"चेतावनी: इस प्लगइन को न छोड़ें या पूरा होने तक Qortal UI को बंद न करें!",
"schange19":"कॉपी प्रायोजन कुंजी",
"schange20":"संबंध बनाना"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Završena sponzorstva", "schange6":"Završena sponzorstva",
"schange7":"Završeno", "schange7":"Završeno",
"schange8":"Adrese", "schange8":"Adrese",
"schange9":"Trenutno nemate aktivnih sponzorstava" "schange9":"Trenutno nemate aktivnih sponzorstava",
"schange10":"Pregled javnog ključa",
"schange11":"Kopirati",
"schange12":"Pretvarač adrese u javni ključ",
"schange13":"Unesite adresu",
"schange14":"U nastajanju",
"schange15":"Završavam",
"schange16":"Kopirajte ključ ispod i podijelite ga sa svojom sponzoriranom osobom.",
"schange17":"Kopirano u međuspremnik",
"schange18":"Upozorenje: nemojte napuštati ovaj dodatak niti zatvarati Qortal UI do završetka!",
"schange19":"Kopiraj ključ sponzorstva",
"schange20":"Stvaranje odnosa"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Befejezett szponzorálás", "schange6":"Befejezett szponzorálás",
"schange7":"kész", "schange7":"kész",
"schange8":"Címek", "schange8":"Címek",
"schange9":"Jelenleg nincs aktív szponzorálásod" "schange9":"Jelenleg nincs aktív szponzorálásod",
"schange10":"Nyilvános kulcs keresése",
"schange11":"Másolat",
"schange12":"Cím a nyilvános kulcs konverterhez",
"schange13":"Adja meg a címet",
"schange14":"Folyamatban",
"schange15":"Befejezés",
"schange16":"Másolja ki az alábbi kulcsot, és ossza meg szponzorált személlyel.",
"schange17":"Vágólapra másolva",
"schange18":"Figyelmeztetés: ne hagyja el ezt a beépülő modult, és ne zárja be a Qortal felhasználói felületet a befejezésig!",
"schange19":"Szponzori kulcs másolása",
"schange20":"Kapcsolatteremtés"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Sponsorizzazioni terminate", "schange6":"Sponsorizzazioni terminate",
"schange7":"Completato", "schange7":"Completato",
"schange8":"Indirizzi", "schange8":"Indirizzi",
"schange9":"Al momento non hai sponsorizzazioni attive" "schange9":"Al momento non hai sponsorizzazioni attive",
"schange10":"Ricerca chiave pubblica",
"schange11":"copia",
"schange12":"Convertitore da indirizzo a chiave pubblica",
"schange13":"Inserisci indirizzo",
"schange14":"In corso",
"schange15":"Finendo",
"schange16":"Copia la chiave qui sotto e condividila con la persona sponsorizzata.",
"schange17":"Copiato negli appunti",
"schange18":"Attenzione: non abbandonare questo plugin o chiudere l'interfaccia utente di Qortal fino al completamento!",
"schange19":"Copia la chiave di sponsorizzazione",
"schange20":"Creare relazione"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"후원완료", "schange6":"후원완료",
"schange7":"완전한", "schange7":"완전한",
"schange8":"구애", "schange8":"구애",
"schange9":"현재 활성 스폰서십이 없습니다." "schange9":"현재 활성 스폰서십이 없습니다.",
"schange10":"공개 키 조회",
"schange11":"복사",
"schange12":"공개 키 변환기 주소",
"schange13":"주소 입력",
"schange14":"진행 중",
"schange15":"마무리",
"schange16":"아래 키를 복사하여 후원자와 공유하세요.",
"schange17":"클립보드에 복사됨",
"schange18":"경고: 완료될 때까지 이 플러그인을 종료하거나 Qortal UI를 닫지 마십시오!",
"schange19":"후원 키 복사",
"schange20":"관계 만들기"
} }
} }

View File

@ -645,6 +645,17 @@
"schange6":"Ferdige sponsorater", "schange6":"Ferdige sponsorater",
"schange7":"Fullført", "schange7":"Fullført",
"schange8":"Adresser", "schange8":"Adresser",
"schange9":"Du har for øyeblikket ingen aktive sponsorater" "schange9":"Du har for øyeblikket ingen aktive sponsorater",
"schange10":"Offentlig nøkkeloppslag",
"schange11":"Kopiere",
"schange12":"Adresse til Public Key Converter",
"schange13":"Skriv inn adresse",
"schange14":"I prosess",
"schange15":"Etterbehandling",
"schange16":"Kopier nøkkelen nedenfor og del den med din sponsede person.",
"schange17":"Kopiert til utklippstavlen",
"schange18":"Advarsel: ikke forlat denne plugin-en eller lukk Qortal-grensesnittet før det er fullført!",
"schange19":"Kopier sponsornøkkel",
"schange20":"Skaper forhold"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Zakończone sponsoringi", "schange6":"Zakończone sponsoringi",
"schange7":"Zakończony", "schange7":"Zakończony",
"schange8":"Adresy", "schange8":"Adresy",
"schange9":"Obecnie nie masz aktywnych sponsorów" "schange9":"Obecnie nie masz aktywnych sponsorów",
"schange10":"Wyszukiwanie klucza publicznego",
"schange11":"Kopiuj",
"schange12":"Adres do konwertera kluczy publicznych",
"schange13":"Podaj adres",
"schange14":"W trakcie",
"schange15":"Kończąc",
"schange16":"Skopiuj poniższy klucz i udostępnij go swojej sponsorowanej osobie.",
"schange17":"Skopiowane do schowka",
"schange18":"Ostrzeżenie: nie opuszczaj tej wtyczki ani nie zamykaj interfejsu użytkownika Qortal do czasu zakończenia!",
"schange19":"Kopiuj klucz sponsorski",
"schange20":"Tworzenie relacji"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Patrocínios Concluídos", "schange6":"Patrocínios Concluídos",
"schange7":"Concluído", "schange7":"Concluído",
"schange8":"Endereços", "schange8":"Endereços",
"schange9":"No momento, você não tem patrocínios ativos" "schange9":"No momento, você não tem patrocínios ativos",
"schange10":"Pesquisa de chave pública",
"schange11":"cópia de",
"schange12":"Conversor de endereço para chave pública",
"schange13":"Insira o endereço",
"schange14":"Em andamento",
"schange15":"Terminando",
"schange16":"Copie a chave abaixo e compartilhe com seu patrocinador.",
"schange17":"Copiado para a área de transferência",
"schange18":"Aviso: não saia deste plugin ou feche a interface do usuário do Qortal até a conclusão!",
"schange19":"Copiar chave de patrocínio",
"schange20":"Criando relacionamento"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Sponsorizari terminate", "schange6":"Sponsorizari terminate",
"schange7":"Efectuat", "schange7":"Efectuat",
"schange8":"Adrese", "schange8":"Adrese",
"schange9":"In prezent, nu aveti sponsorizari active" "schange9":"In prezent, nu aveti sponsorizari active",
"schange10":"Cautare cheie publica",
"schange11":"Copie",
"schange12":"Adresa catre convertorul de chei publice",
"schange13":"Introdu adresa",
"schange14":"În curs",
"schange15":"Terminand",
"schange16":"Copiati cheia de mai jos si împartasiti-o persoanei dvs. sponsorizate.",
"schange17":"Copiat în clipboard",
"schange18":"Atentie: nu lasati acest plugin si nu închideti interfata Qortal pâna la finalizare!",
"schange19":"Copiati cheia de sponsorizare",
"schange20":"Crearea unei relatii"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"Završena sponzorstva", "schange6":"Završena sponzorstva",
"schange7":"Završeno", "schange7":"Završeno",
"schange8":"Adrese", "schange8":"Adrese",
"schange9":"Trenutno nemate aktivna sponzorstva" "schange9":"Trenutno nemate aktivna sponzorstva",
"schange10":"Traženje javnog ključa",
"schange11":"Kopiraj",
"schange12":"Address to Public Kei Converter",
"schange13":"Unesite adresu",
"schange14":"U toku",
"schange15":"Zavrsavam",
"schange16":"Kopirajte ključ ispod i podelite ga sa sponzoriranom osobom.",
"schange17":"Kopirano u međuspremnik",
"schange18":"Upozorenje: ne napuštajte ovaj dodatak ili zatvarajte Kortal UI dok se ne završi!",
"schange19":"Kopiraj sponzorski ključ",
"schange20":"Stvaranje odnosa"
} }
} }

View File

@ -645,6 +645,17 @@
"schange6":"Завершенные спонсорские услуги", "schange6":"Завершенные спонсорские услуги",
"schange7":"Завершенный", "schange7":"Завершенный",
"schange8":"Адреса", "schange8":"Адреса",
"schange9":"В настоящее время у вас нет активных спонсоров" "schange9":"В настоящее время у вас нет активных спонсоров",
"schange10":"Поиск открытого ключа",
"schange11":"Копировать",
"schange12":"Преобразователь адреса в открытый ключ",
"schange13":"Введите адрес",
"schange14":"В ходе выполнения",
"schange15":"Заканчивать",
"schange16":"Скопируйте приведенный ниже ключ и поделитесь им со своим спонсируемым лицом.",
"schange17":"Скопировано в буфер обмена",
"schange18":"Предупреждение: не покидайте этот плагин и не закрывайте пользовательский интерфейс Qortal до завершения!",
"schange19":"Копировать спонсорский ключ",
"schange20":"Создание отношений"
} }
} }

View File

@ -654,6 +654,13 @@
"schange10":"Public Key Lookup", "schange10":"Public Key Lookup",
"schange11":"Copy", "schange11":"Copy",
"schange12":"Address to Public Key Converter", "schange12":"Address to Public Key Converter",
"schange13" : "Enter address" "schange13":"Enter address",
"schange14":"In progress",
"schange15":"Finishing up",
"schange16":"Copy the key below and share it with your sponsored person.",
"schange17":"Copied to clipboard",
"schange18":"Warning: do not leave this plugin or close the Qortal UI until completion!",
"schange19":"Copy Sponsorship Key",
"schange20":"Creating relationship"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"已完成赞助", "schange6":"已完成赞助",
"schange7":"已完成", "schange7":"已完成",
"schange8":"钱包地址", "schange8":"钱包地址",
"schange9":"您目前没有有效的赞助记录" "schange9":"您目前没有有效的赞助记录",
"schange10":"公钥查找",
"schange11":"复制",
"schange12":"地址到公钥转换器",
"schange13":"输入地址",
"schange14":"进行中",
"schange15":"整理起来",
"schange16":"复制下面的密钥并与您的赞助人分享。",
"schange17":"已复制到剪贴板",
"schange18":"警告:在完成之前不要离开这个插件或关闭 Qortal UI",
"schange19":"复制赞助密钥",
"schange20":"建立关系"
} }
} }

View File

@ -650,6 +650,17 @@
"schange6":"已完成贊助", "schange6":"已完成贊助",
"schange7":"已完成", "schange7":"已完成",
"schange8":"錢包地址", "schange8":"錢包地址",
"schange9":"您目前沒有有效的贊助記錄" "schange9":"您目前沒有有效的贊助記錄",
"schange10":"公鑰查找",
"schange11":"複製",
"schange12":"地址到公鑰轉換器",
"schange13":"輸入地址",
"schange14":"進行中",
"schange15":"整理起來",
"schange16":"複製下面的密鑰並與您的讚助人分享。",
"schange17":"已復製到剪貼板",
"schange18":"警告:在完成之前不要離開這個插件或關閉 Qortal UI",
"schange19":"複製贊助密鑰",
"schange20":"建立關係"
} }
} }

View File

@ -2,8 +2,19 @@ import { css } from 'lit';
export const pageStyles = css` export const pageStyles = css`
* { * {
box-sizing: border-box;
--mdc-theme-primary: rgb(3, 169, 244);
--mdc-theme-secondary: var(--mdc-theme-primary);
--mdc-theme-surface: var(--white); --mdc-theme-surface: var(--white);
--mdc-dialog-content-ink-color: var(--black); --mdc-dialog-content-ink-color: var(--black);
--lumo-primary-text-color: rgb(0, 167, 245);
--lumo-primary-color-50pct: rgba(0, 167, 245, 0.5);
--lumo-primary-color-10pct: rgba(0, 167, 245, 0.1);
--lumo-primary-color: hsl(199, 100%, 48%);
--lumo-base-color: var(--white);
--lumo-body-text-color: var(--black);
--_lumo-grid-border-color: var(--border);
--_lumo-grid-secondary-border-color: var(--border2);
} }
.header-title { .header-title {
@ -12,14 +23,17 @@ export const pageStyles = css`
font-weight: 400; font-weight: 400;
text-align: center; text-align: center;
} }
.divider { .divider {
color: #eee; color: #eee;
border-radius: 80%; border-radius: 80%;
margin-bottom: 2rem; margin-bottom: 2rem;
} }
.fullWidth { .fullWidth {
width: 100%; width: 100%;
} }
.page-container { .page-container {
display: flex; display: flex;
align-items: center; align-items: center;
@ -27,6 +41,7 @@ export const pageStyles = css`
margin-bottom: 75px; margin-bottom: 75px;
width: 100%; width: 100%;
} }
.inner-container { .inner-container {
display: flex; display: flex;
align-items: center; align-items: center;
@ -78,9 +93,11 @@ export const pageStyles = css`
.column-center { .column-center {
align-items: center; align-items: center;
} }
.no-margin { .no-margin {
margin: 0; margin: 0;
} }
.no-wrap { .no-wrap {
flex-wrap: nowrap !important; flex-wrap: nowrap !important;
} }
@ -89,6 +106,7 @@ export const pageStyles = css`
justify-content: center; justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
} }
.form-item { .form-item {
display: flex; display: flex;
height: 100%; height: 100%;
@ -122,9 +140,11 @@ export const pageStyles = css`
margin-bottom: 5px; margin-bottom: 5px;
flex-basis: 250px; flex-basis: 250px;
} }
.gap { .gap {
gap: 10px; gap: 10px;
} }
.level-black { .level-black {
font-size: 32px; font-size: 32px;
color: var(--black); color: var(--black);
@ -133,6 +153,7 @@ export const pageStyles = css`
margin-top: 2rem; margin-top: 2rem;
text-align: center; text-align: center;
} }
.title { .title {
font-weight: 600; font-weight: 600;
font-size: 20px; font-size: 20px;
@ -152,9 +173,11 @@ export const pageStyles = css`
line-height: 28px; line-height: 28px;
color: var(--black); color: var(--black);
} }
mwc-textfield { mwc-textfield {
width: 100%; width: 100%;
} }
vaadin-button { vaadin-button {
height: 100%; height: 100%;
margin: 0; margin: 0;
@ -162,12 +185,14 @@ export const pageStyles = css`
outline: 1px var(--black) solid; outline: 1px var(--black) solid;
min-width: 80px; min-width: 80px;
} }
.loader, .loader,
.loader:after { .loader:after {
border-radius: 50%; border-radius: 50%;
width: 10em; width: 10em;
height: 10em; height: 10em;
} }
.loadingContainer { .loadingContainer {
position: fixed; position: fixed;
top: 50%; top: 50%;

View File

@ -154,8 +154,6 @@ class BecomeMinter extends LitElement {
?.address ?.address
); );
const isAlreadySponsored = const isAlreadySponsored =
this.addressInfo?.error !== 124 && this.addressInfo?.error !== 124 &&
this.addressInfo?.level === 0 && this.addressInfo?.level === 0 &&
@ -175,6 +173,7 @@ class BecomeMinter extends LitElement {
<h1 class="header-title"> <h1 class="header-title">
${translate('mintingpage.mchange32')} ${translate('mintingpage.mchange32')}
</h1> </h1>
<div class="fullWidth"> <div class="fullWidth">
<hr class="divider" /> <hr class="divider" />
</div> </div>
@ -184,7 +183,8 @@ class BecomeMinter extends LitElement {
: html` : html`
<not-sponsored <not-sponsored
.atMount="${() => this.atMount()}" .atMount="${() => this.atMount()}"
></not-sponsored> >
</not-sponsored>
`} `}
${!isAlreadySponsored ${!isAlreadySponsored
? '' ? ''
@ -194,7 +194,8 @@ class BecomeMinter extends LitElement {
.rewardSharePublicKey} .rewardSharePublicKey}
.addressInfo=${this.addressInfo} .addressInfo=${this.addressInfo}
.isMinting=${!!findMintingAccount} .isMinting=${!!findMintingAccount}
></yes-sponsored> >
</yes-sponsored>
`} `}
</div> </div>
`; `;

View File

@ -2,9 +2,19 @@ import { css } from "lit"
export const pageStyles = css` export const pageStyles = css`
* { * {
box-sizing: border-box;
--mdc-theme-primary: rgb(3, 169, 244);
--mdc-theme-secondary: var(--mdc-theme-primary);
--mdc-theme-surface: var(--white); --mdc-theme-surface: var(--white);
--mdc-dialog-content-ink-color: var(--black); --mdc-dialog-content-ink-color: var(--black);
box-sizing: border-box; --lumo-primary-text-color: rgb(0, 167, 245);
--lumo-primary-color-50pct: rgba(0, 167, 245, 0.5);
--lumo-primary-color-10pct: rgba(0, 167, 245, 0.1);
--lumo-primary-color: hsl(199, 100%, 48%);
--lumo-base-color: var(--white);
--lumo-body-text-color: var(--black);
--_lumo-grid-border-color: var(--border);
--_lumo-grid-secondary-border-color: var(--border2);
} }
.header-title { .header-title {
@ -13,27 +23,31 @@ export const pageStyles = css`
font-weight: 400; font-weight: 400;
text-align: center; text-align: center;
} }
.avatar-img { .avatar-img {
border-radius: 50%; border-radius: 50%;
height: 20px; height: 20px;
width: 20px; width: 20px;
margin-right: 10px; margin-right: 10px;
} }
.divider { .divider {
color: #eee; color: #eee;
border-radius: 80%; border-radius: 80%;
margin-bottom: 2rem; margin-bottom: 2rem;
} }
.fullWidth { .fullWidth {
width: 100%; width: 100%;
} }
.page-container { .page-container {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
margin-bottom: 75px; margin-bottom: 75px;
} }
.inner-container { .inner-container {
display: flex; display: flex;
align-items: center; align-items: center;
@ -42,14 +56,10 @@ export const pageStyles = css`
max-width: 1100px; max-width: 1100px;
} }
.message-error { .message-error {
color: var(--error); color: var(--error);
} }
.form-wrapper { .form-wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
@ -79,6 +89,7 @@ export const pageStyles = css`
.inactiveText { .inactiveText {
opacity: .60 opacity: .60
} }
.column { .column {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -88,9 +99,11 @@ export const pageStyles = css`
.column-center { .column-center {
align-items: center; align-items: center;
} }
.no-margin { .no-margin {
margin: 0; margin: 0;
} }
.no-wrap { .no-wrap {
flex-wrap: nowrap !important; flex-wrap: nowrap !important;
} }
@ -99,6 +112,7 @@ export const pageStyles = css`
justify-content: center; justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
} }
.form-item { .form-item {
display: flex; display: flex;
height: 100%; height: 100%;
@ -114,9 +128,6 @@ export const pageStyles = css`
min-width: 275px; min-width: 275px;
} }
.gap { .gap {
gap: 10px; gap: 10px;
} }
@ -140,29 +151,32 @@ export const pageStyles = css`
line-height: 28px; line-height: 28px;
color: var(--black); color: var(--black);
} }
mwc-textfield { mwc-textfield {
width: 100%; width: 100%;
} }
vaadin-button { vaadin-button {
height: 100%; height: 100%;
margin: 0; margin: 0;
cursor: pointer; cursor: pointer;
outline: 1px var(--black) solid;
min-width: 80px; min-width: 80px;
} }
mwc-icon-button { mwc-icon-button {
height: 100%; height: 100%;
margin: 0; margin: 0;
cursor: pointer; cursor: pointer;
outline: 1px var(--black) solid;
min-width: 80px; min-width: 80px;
} }
.loader, .loader,
.loader:after { .loader:after {
border-radius: 50%; border-radius: 50%;
width: 10em; width: 10em;
height: 10em; height: 10em;
} }
.loadingContainer { .loadingContainer {
position: fixed; position: fixed;
top: 50%; top: 50%;
@ -179,12 +193,15 @@ export const pageStyles = css`
z-index: 9; z-index: 9;
position: fixed; position: fixed;
} }
.marginLoader { .marginLoader {
margin-left: 10px; margin-left: 10px;
} }
.marginRight { .marginRight {
margin-right: 10px; margin-right: 10px;
} }
.smallLoading, .smallLoading,
.smallLoading:after { .smallLoading:after {
border-radius: 50%; border-radius: 50%;
@ -271,7 +288,6 @@ export const pageStyles = css`
word-break: break-word ; word-break: break-word ;
} }
.grid-item { .grid-item {
text-align: center; text-align: center;
color: var(--black); color: var(--black);
@ -293,12 +309,12 @@ export const pageStyles = css`
.text { .text {
color: var(--black) color: var(--black)
} }
.text--bold { .text--bold {
font-weight: bold; font-weight: bold;
} }
.summary-box { .summary-box {
display: flex; display: flex;
margin-top: 25px; margin-top: 25px;
width: 100%; width: 100%;
@ -328,11 +344,13 @@ export const pageStyles = css`
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
.red { .red {
--mdc-theme-primary: #f44336; --mdc-theme-primary: #f44336;
border-radius: 2px; border-radius: 2px;
} }
.btn--sponsorshipfinished { .btn--sponsorshipfinished {
background-color: var(--menuactive); background-color: var(--menuactive);
transition: all .2s; transition: all .2s;
@ -340,20 +358,18 @@ export const pageStyles = css`
--mdc-theme-primary: var(--black); --mdc-theme-primary: var(--black);
} }
.word-break { .word-break {
word-break:break-all; word-break:break-all;
} }
.dialog-container { .dialog-container {
width: 300px; width: 400px;
min-height: 300px; min-height: 300px;
max-height: 75vh; max-height: 75vh;
padding: 5px; padding: 5px;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
flex-direction: column; flex-direction: column;
} }
.dialog-paragraph { .dialog-paragraph {
@ -361,16 +377,16 @@ export const pageStyles = css`
color: var(--black) color: var(--black)
} }
.dialog-header h1 { .dialog-header h1 {
font-size: 18px; font-size: 18px;
text-align: center;
} }
@keyframes onOff { @keyframes onOff {
from {opacity: 1} from {opacity: 1}
to {opacity: .5} to {opacity: .5}
} }
.grid-item-text { .grid-item-text {
display: none; display: none;
} }
@ -401,6 +417,7 @@ export const pageStyles = css`
.table-header { .table-header {
display: none; display: none;
} }
.grid-item-text { .grid-item-text {
display: inline; display: inline;
color: var(--black); color: var(--black);
@ -416,6 +433,7 @@ export const pageStyles = css`
display: grid; display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
} }
.name-container { .name-container {
justify-content: flex-start justify-content: flex-start
} }
@ -440,6 +458,7 @@ export const pageStyles = css`
.between { .between {
justify-content: space-between; justify-content: space-between;
} }
.no-width { .no-width {
width: auto width: auto
} }

View File

@ -4,7 +4,6 @@ import "../components/ButtonIconCopy.js"
import { use, get, translate, registerTranslateConfig } from "lit-translate" import { use, get, translate, registerTranslateConfig } from "lit-translate"
import { blocksNeed } from "../../utils/blocks-needed.js" import { blocksNeed } from "../../utils/blocks-needed.js"
import "../components/ButtonIconCopy.js" import "../components/ButtonIconCopy.js"
import '@material/mwc-icon-button'
registerTranslateConfig({ registerTranslateConfig({
loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()),
@ -12,6 +11,8 @@ registerTranslateConfig({
import "@polymer/paper-spinner/paper-spinner-lite.js" import "@polymer/paper-spinner/paper-spinner-lite.js"
import "@material/mwc-button" import "@material/mwc-button"
import '@material/mwc-icon'
import '@material/mwc-icon-button'
import "@material/mwc-textfield" import "@material/mwc-textfield"
import "@vaadin/button" import "@vaadin/button"
import "@polymer/paper-spinner/paper-spinner-lite.js" import "@polymer/paper-spinner/paper-spinner-lite.js"
@ -23,13 +24,10 @@ import { pageStyles } from "./sponsorship-list-css.src.js"
const parentEpml = new Epml({ type: "WINDOW", source: window.parent }) const parentEpml = new Epml({ type: "WINDOW", source: window.parent })
async function* countDown(count, callback) { async function* countDown(count, callback) {
while (count > 0) { while (count > 0) {
yield count--; yield count--;
await new Promise((r) => setTimeout(r, 1000)); await new Promise((r) => setTimeout(r, 1000));
if(count === 0) { if(count === 0) {
callback() callback()
} }
} }
@ -65,9 +63,7 @@ class SponsorshipList extends LitElement {
constructor() { constructor() {
super() super()
this.theme = localStorage.getItem("qortalTheme") this.theme = localStorage.getItem("qortalTheme") ? localStorage.getItem("qortalTheme") : "light"
? localStorage.getItem("qortalTheme")
: "light"
this.isPageLoading = true this.isPageLoading = true
this.nodeInfo = {} this.nodeInfo = {}
this.addressInfo = {} this.addressInfo = {}
@ -75,7 +71,6 @@ class SponsorshipList extends LitElement {
this.mintingAccountData = null this.mintingAccountData = null
this.sponsorships = [] this.sponsorships = []
this.removeRewardShareLoading = false this.removeRewardShareLoading = false
this.errorMessage = "" this.errorMessage = ""
this.isLoadingCreateSponsorship = false this.isLoadingCreateSponsorship = false
this.publicKeyValue = "" this.publicKeyValue = ""
@ -89,16 +84,19 @@ class SponsorshipList extends LitElement {
this.errorLookup = "" this.errorLookup = ""
} }
renderCopyMsg() {
let copystring = get("sponsorshipspage.schange17")
return `${copystring}`
}
inputHandler(e) { inputHandler(e) {
this.publicKeyValue = e.target.value this.publicKeyValue = e.target.value
} }
lookupPublicAddressInputHandler(e) { lookupPublicAddressInputHandler(e) {
this.lookupAddressValue = e.target.value this.lookupAddressValue = e.target.value
} }
changeLanguage() { changeLanguage() {
const checkLanguage = localStorage.getItem("qortalLanguage") const checkLanguage = localStorage.getItem("qortalLanguage")
@ -147,14 +145,13 @@ class SponsorshipList extends LitElement {
await navigator.clipboard.writeText(toBeCopied) await navigator.clipboard.writeText(toBeCopied)
parentEpml.request('showSnackBar', text) parentEpml.request('showSnackBar', text)
} catch (err) { } catch (err) {
console.error('Copy to clipboard error:', err) console.error('Copy to clipboard error:', err)
} }
} }
changeStatus(value){ changeStatus(value){
this.status = value this.status = value
let copystring1 = get("sponsorshipspage.schange17")
this.saveToClipboard(this.privateRewardShareKey, 'Copied to clipboard') this.saveToClipboard(this.privateRewardShareKey, `${copystring1}`)
} }
getApiKey() { getApiKey() {
@ -449,8 +446,6 @@ class SponsorshipList extends LitElement {
} }
async confirmRelationship(recipientPublicKey, isCopy){ async confirmRelationship(recipientPublicKey, isCopy){
this.status = 2 this.status = 2
let interval = null let interval = null
@ -507,7 +502,6 @@ class SponsorshipList extends LitElement {
} }
} }
render() { render() {
return html` return html`
${ ${
@ -554,14 +548,12 @@ class SponsorshipList extends LitElement {
</div> </div>
</div> </div>
${this.sponsorships.map( ${this.sponsorships.map(
(sponsorship) => html` (sponsorship) => html`
<ul class="tableGrid"> <ul class="tableGrid">
<li class="grid-item"> <li class="grid-item">
<p class="grid-item-text"> <p class="grid-item-text">
Account ${translate("settings.account")}
</p> </p>
<div class="name-container"> <div class="name-container">
${sponsorship?.name ? html` ${sponsorship?.name ? html`
@ -570,57 +562,45 @@ class SponsorshipList extends LitElement {
onerror="this.src='/img/incognito.png'" onerror="this.src='/img/incognito.png'"
/> />
` : ''} ` : ''}
${sponsorship?.name || sponsorship.address} ${sponsorship?.name || sponsorship.address}
</div> </div>
</li> </li>
<li class="grid-item"> <li class="grid-item">
<p class="grid-item-text"> <p class="grid-item-text">
Blocks Minted ${translate("walletprofile.blocksminted")}
</p> </p>
${+sponsorship.blocksMinted + ${+sponsorship.blocksMinted +
+sponsorship.blocksMintedAdjustment} +sponsorship.blocksMintedAdjustment}
</li> </li>
<li class="grid-item"> <li class="grid-item">
<p class="grid-item-text"> <p class="grid-item-text">
Copy Sponsorship Key ${translate("sponsorshipspage.schange19")}
</p> </p>
<mwc-button
<mwc-button @click=${()=> { @click=${()=> {this.createRewardShare(sponsorship?.publicKey, true)}}
>
<mwc-icon>content_copy</mwc-icon>&nbsp;${translate("sponsorshipspage.schange11")}
this.createRewardShare(sponsorship?.publicKey, true) </mwc-button>
} }>copy</mwc-button>
</li> </li>
<li class="grid-item grid-item-button"> <li class="grid-item grid-item-button">
<mwc-button <mwc-button
class=${`red ${sponsorship.blocksRemaining <= 0 && 'btn--sponsorshipfinished'}`} class=${`red ${sponsorship.blocksRemaining <= 0 && 'btn--sponsorshipfinished'}`}
?disabled=${this ?disabled=${this.removeRewardShareLoading}
.removeRewardShareLoading} @click=${() => this.removeRewardShare(sponsorship)}
@click=${() => >
this.removeRewardShare( <mwc-icon>delete_forever</mwc-icon>&nbsp;${translate("rewardsharepage.rchange17")}
sponsorship </mwc-button>
)}
><mwc-icon>create</mwc-icon
>${translate(
"rewardsharepage.rchange17"
)}</mwc-button>
</li> </li>
</ul> </ul>
` `
)} )}
<div class="summary-box"> <div class="summary-box">
<p class="text text--bold"> <p class="text text--bold">
${translate("sponsorshipspage.schange3")} = ${translate("sponsorshipspage.schange3")} =
<span class="text text--normal"> <span class="text text--normal">
${this.sponsorships.length} ${this.sponsorships.length}
</span> </span>
</p> </p>
<p class="text text--bold"> <p class="text text--bold">
${translate("sponsorshipspage.schange4")} = ${translate("sponsorshipspage.schange4")} =
@ -629,7 +609,6 @@ class SponsorshipList extends LitElement {
?.blocksRemaining} ?.blocksRemaining}
${translate("mintingpage.mchange26")} ${translate("mintingpage.mchange26")}
</span> </span>
</p> </p>
</div> </div>
` `
@ -639,6 +618,7 @@ class SponsorshipList extends LitElement {
<div class="sponsor-minter-wrapper"> <div class="sponsor-minter-wrapper">
<p class="sponsor-minter-text">${translate("sponsorshipspage.schange5")}</p> <p class="sponsor-minter-text">${translate("sponsorshipspage.schange5")}</p>
</div> </div>
<div class="form-item form-item--input"> <div class="form-item form-item--input">
<mwc-textfield <mwc-textfield
?disabled="${this.isLoadingCreateSponsorship}" ?disabled="${this.isLoadingCreateSponsorship}"
@ -652,44 +632,36 @@ class SponsorshipList extends LitElement {
</div> </div>
<div class="form-item form-item--button"> <div class="form-item form-item--button">
<vaadin-button <vaadin-button
theme="primary"
?disabled="${this.isLoadingCreateSponsorship || !this.publicKeyValue}" ?disabled="${this.isLoadingCreateSponsorship || !this.publicKeyValue}"
@click="${()=> this.createRewardShare(this.publicKeyValue)}" @click="${()=> this.createRewardShare(this.publicKeyValue)}"
> >
${translate( ${translate("puzzlepage.pchange15")}
"puzzlepage.pchange15"
)}
</vaadin-button> </vaadin-button>
</div> </div>
<div class="publicKeyLookupBtn"> <div class="publicKeyLookupBtn">
<vaadin-button <vaadin-button
theme="primary"
@click="${()=> { @click="${()=> {this.isOpenDialogPublicKeyLookup = true}}"
this.isOpenDialogPublicKeyLookup = true
} }"
> >
${translate("sponsorshipspage.schange10")} ${translate("sponsorshipspage.schange10")}
</vaadin-button> </vaadin-button>
</div> </div>
</div> </div>
</div> </div>
<mwc-dialog id="showDialog">
<mwc-dialog id="showDialog">
<div class="dialog-header" > <div class="dialog-header" >
<h1>${translate("sponsorshipspage.schange6")}</h1> <h1>${translate("sponsorshipspage.schange6")}</h1>
<hr /> <hr />
</div> </div>
<div class="dialog-container"> <div class="dialog-container">
<p class="dialog-paragraph" style="text-align:center; width:100%">${this.sponsorships.filter(s=> s.blocksRemaining <= 0).length} ${translate("sponsorshipspage.schange7")}!</p> <p class="dialog-paragraph" style="text-align:center; width:100%">${this.sponsorships.filter(s=> s.blocksRemaining <= 0).length} ${translate("sponsorshipspage.schange7")}!</p>
<p class="dialog-paragraph" style="margin:0px; padding:0px;text-decoration:underline"> ${translate("sponsorshipspage.schange8")}</p> <p class="dialog-paragraph" style="margin:0px; padding:0px;text-decoration:underline"> ${translate("sponsorshipspage.schange8")}</p>
${this.sponsorships.filter(s=> s.blocksRemaining <= 0).map((ms)=> html` ${this.sponsorships.filter(s=> s.blocksRemaining <= 0).map((ms)=> html`
<p class="dialog-paragraph">${ms.address}</p> <p class="dialog-paragraph">${ms.address}</p>
`)} `)}
</div> </div>
<mwc-button <mwc-button
slot="primaryAction" slot="primaryAction"
dialogAction="cancel" dialogAction="cancel"
@ -697,59 +669,57 @@ class SponsorshipList extends LitElement {
> >
${translate("general.close")} ${translate("general.close")}
</mwc-button> </mwc-button>
</mwc-dialog> </mwc-dialog>
<mwc-dialog escapeKeyAction="" scrimClickAction="" id="showDialogRewardShareCreationStatus" ?hideActions=${this.errorMessage ? false : this.status < 4 ? true : false} ?open=${this.openDialogRewardShare}>
<mwc-dialog escapeKeyAction="" scrimClickAction="" id="showDialogRewardShareCreationStatus" ?hideActions=${this.errorMessage ? false : this.status < 4 ? true : false} ?open=${this.openDialogRewardShare}>
<div class="dialog-header" > <div class="dialog-header" >
<div class="row"> <div class="row">
<h1>In progress </h1> <div class=${`smallLoading marginLoader ${this.status > 3 && 'hide'}`}></div> <h1>${translate("sponsorshipspage.schange14")}</h1>
<div class=${`smallLoading marginLoader ${this.status > 3 && 'hide'}`}></div>
</div> </div>
<hr /> <hr />
</div> </div>
<div class="dialog-container"> <div class="dialog-container">
<ul> <ul>
<li class="row between">
<p>
1. ${translate("sponsorshipspage.schange20")}
<li class="row between">1. Creating relationship <div class=${`smallLoading marginLoader ${this.status !== 1 && 'hide'}`}></div></li> </p>
<div class=${`smallLoading marginLoader ${this.status !== 1 && 'hide'}`}></div>
</li>
<li class=${`row between ${this.status < 2 && 'inactiveText' }`}> <li class=${`row between ${this.status < 2 && 'inactiveText' }`}>
<p> <p>
2. Awaiting confirmation on blockchain 2. ${translate("startminting.smchange6")}
</p> </p>
<div class=${`smallLoading marginLoader ${this.status !== 2 && 'hide'}`}></div> <div class=${`smallLoading marginLoader ${this.status !== 2 && 'hide'}`}></div>
</li> </li>
<li class=${`row between ${this.status < 3 && 'inactiveText' }`}> <li class=${`row between ${this.status < 3 && 'inactiveText' }`}>
<p> <p>
3. Finishing up 3. ${translate("sponsorshipspage.schange15")}
</p> </p>
<div class="row no-width"> <div class="row no-width">
<div class=${`smallLoading marginLoader marginRight ${this.status !== 3 && 'hide'}`} ></div> ${asyncReplace(this.timer)} <div class=${`smallLoading marginLoader marginRight ${this.status !== 3 && 'hide'}`} ></div> ${asyncReplace(this.timer)}
</div> </div>
</li> </li>
<li class=${`row between ${this.status < 4 && 'inactiveText' }`}> <li class=${`row between ${this.status < 4 && 'inactiveText' }`}>
<p> <p>
4. Complete 4. ${translate("startminting.smchange9")}
</p> </p>
</li> </li>
${this.privateRewardShareKey && this.status === 4 ? html` ${this.privateRewardShareKey && this.status === 4 ? html`
<li class=${`column word-break ${this.status < 4 && 'inactiveText' }`}> <li class=${`column word-break ${this.status < 4 && 'inactiveText' }`}>
<p style="work-break: break-word">
<p style="work-break: break-word">Copy the key below and share it with your sponsored person.</p> ${translate("sponsorshipspage.schange16")}
</p>
<div style="background: #eee; padding: 8px; margin: 8px 0; border-radius: 5px;"> <div style="background: #eee; padding: 8px; margin: 8px 0; border-radius: 5px;">
<span style="color: #000;">${this.privateRewardShareKey}</span> <span style="color: #000;">${this.privateRewardShareKey}</span>
</div> </div>
<mwc-button @click=${()=> { <mwc-button
this.saveToClipboard(this.privateRewardShareKey, 'Copied to clipboard') raised
} }>copy icon="content_copy"
@click=${()=> {this.saveToClipboard(this.privateRewardShareKey, this.renderCopyMsg())}}
>
${translate("sponsorshipspage.schange11")}
</mwc-button> </mwc-button>
</li> </li>
` : ''} ` : ''}
@ -757,13 +727,11 @@ class SponsorshipList extends LitElement {
${this.status === 4 ? '' : html` ${this.status === 4 ? '' : html`
<div class="warning column"> <div class="warning column">
<p> <p>
Warning: do not leave this plugin or close the Qortal UI until completion! ${translate("sponsorshipspage.schange18")}
</p> </p>
<p class="message-error">${this.errorMessage}</p> <p class="message-error">${this.errorMessage}</p>
</div> </div>
`} `}
</div> </div>
<mwc-button <mwc-button
slot="primaryAction" slot="primaryAction"
@ -778,28 +746,19 @@ class SponsorshipList extends LitElement {
> >
${translate("general.close")} ${translate("general.close")}
</mwc-button> </mwc-button>
</mwc-dialog> </mwc-dialog>
<mwc-dialog id="showDialogPublicKey" escapeKeyAction="" scrimClickAction="" ?open=${this.isOpenDialogPublicKeyLookup}> <mwc-dialog id="showDialogPublicKey" escapeKeyAction="" scrimClickAction="" ?open=${this.isOpenDialogPublicKeyLookup}>
<div class="dialog-header" > <div class="dialog-header" >
<h1>${translate("sponsorshipspage.schange10")}</h1> <h1>${translate("sponsorshipspage.schange10")}</h1>
<hr /> <hr />
</div> </div>
<div class="dialog-container"> <div class="dialog-container">
<p class="dialog-paragraph" style="text-align:center; width:100%"> <p class="dialog-paragraph" style="text-align:center; width:100%">
${translate("sponsorshipspage.schange12")} ${translate("sponsorshipspage.schange12")}
</p> </p>
<div class="form-wrapper"> <div class="form-wrapper">
<mwc-textfield <mwc-textfield
label=${translate("sponsorshipspage.schange13")} label=${translate("sponsorshipspage.schange13")}
@input="${this.lookupPublicAddressInputHandler}" @input="${this.lookupPublicAddressInputHandler}"
.value="${this.lookupAddressValue || ""}" .value="${this.lookupAddressValue || ""}"
@ -810,6 +769,7 @@ class SponsorshipList extends LitElement {
<p class="message-error">${this.errorLookup}</p> <p class="message-error">${this.errorLookup}</p>
<div class="row" style="margin-top: 20px; justify-content: center"> <div class="row" style="margin-top: 20px; justify-content: center">
<vaadin-button <vaadin-button
theme="primary"
?disabled="${!this.lookupAddressValue}" ?disabled="${!this.lookupAddressValue}"
@click="${()=> { @click="${()=> {
this.lookupPublicAddressValue = "" this.lookupPublicAddressValue = ""
@ -819,26 +779,21 @@ class SponsorshipList extends LitElement {
${translate("sponsorshipspage.schange10")} ${translate("sponsorshipspage.schange10")}
</vaadin-button> </vaadin-button>
</div> </div>
${this.lookupPublicAddressValue ? html` ${this.lookupPublicAddressValue ? html`
<div class="word-break" style="background: #eee; padding: 8px; margin: 8px 0; border-radius: 5px;"> <div class="word-break" style="background: #eee; padding: 8px; margin: 8px 0; border-radius: 5px;">
<span style="color: #000;">${this.lookupPublicAddressValue}</span> <span style="color: #000;">${this.lookupPublicAddressValue}</span>
</div> </div>
<div class="row" style="margin-top: 20px; justify-content: center"> <div class="row" style="margin-top: 20px; justify-content: center">
<mwc-button @click=${()=> { <mwc-button
raised
this.saveToClipboard(this.lookupPublicAddressValue, 'Copied to clipboard') icon="content_copy"
} }>${translate("sponsorshipspage.schange11")} @click=${()=> {this.saveToClipboard(this.lookupPublicAddressValue, this.renderCopyMsg())}}
>
${translate("sponsorshipspage.schange11")}
</mwc-button> </mwc-button>
</div> </div>
` : ''} ` : ''}
</div> </div>
<mwc-button <mwc-button
slot="primaryAction" slot="primaryAction"
dialogAction="cancel" dialogAction="cancel"
@ -853,7 +808,6 @@ class SponsorshipList extends LitElement {
> >
${translate("general.close")} ${translate("general.close")}
</mwc-button> </mwc-button>
</mwc-dialog> </mwc-dialog>
</div> </div>
` `