Browse Source

finish sponsor plugin

qchat-updates
AlphaX-Projects 2 years ago
parent
commit
c19ea6af4e
  1. 3
      qortal-ui-core/language/de.json
  2. 3
      qortal-ui-core/language/es.json
  3. 3
      qortal-ui-core/language/fr.json
  4. 3
      qortal-ui-core/language/hindi.json
  5. 3
      qortal-ui-core/language/hr.json
  6. 3
      qortal-ui-core/language/hu.json
  7. 3
      qortal-ui-core/language/it.json
  8. 3
      qortal-ui-core/language/ko.json
  9. 3
      qortal-ui-core/language/no.json
  10. 3
      qortal-ui-core/language/pl.json
  11. 3
      qortal-ui-core/language/pt.json
  12. 3
      qortal-ui-core/language/ro.json
  13. 3
      qortal-ui-core/language/rs.json
  14. 3
      qortal-ui-core/language/ru.json
  15. 3
      qortal-ui-core/language/us.json
  16. 19
      qortal-ui-core/language/zhc.json
  17. 17
      qortal-ui-core/language/zht.json
  18. 38
      qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list-css.src.js
  19. 166
      qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list.src.js

3
qortal-ui-core/language/de.json

@ -661,6 +661,7 @@
"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"
"schange20":"Beziehung schaffen",
"schange21":"Sponsoring-Schlüssel entfernen"
}
}

3
qortal-ui-core/language/es.json

@ -661,6 +661,7 @@
"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"
"schange20":"Creando relación",
"schange21":"Eliminar clave de patrocinio"
}
}

3
qortal-ui-core/language/fr.json

@ -661,6 +661,7 @@
"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"
"schange20":"Créer une relation",
"schange21":"Supprimer la clé de parrainage"
}
}

3
qortal-ui-core/language/hindi.json

@ -662,6 +662,7 @@
"schange17":"किपबड पर नकल",
"schange18":"चवन: इस पलगइन क न छ तक Qortal UI कद न कर!",
"schange19":"कजन क",
"schange20":"सध बन"
"schange20":"सध बन",
"schange21":"पजन क हट"
}
}

3
qortal-ui-core/language/hr.json

@ -661,6 +661,7 @@
"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"
"schange20":"Stvaranje odnosa",
"schange21":"Ukloni sponzorski ključ"
}
}

3
qortal-ui-core/language/hu.json

@ -661,6 +661,7 @@
"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"
"schange20":"Kapcsolatteremtés",
"schange21":"Szponzori kulcs távolítsa"
}
}

3
qortal-ui-core/language/it.json

@ -661,6 +661,7 @@
"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"
"schange20":"Creare relazione",
"schange21":"Rimuovi la chiave di sponsorizzazione"
}
}

3
qortal-ui-core/language/ko.json

@ -661,6 +661,7 @@
"schange17":"클립보드에 복사됨",
"schange18":"경고: 완료될 때까지 이 플러그인을 종료하거나 Qortal UI를 닫지 마십시오!",
"schange19":"후원 키 복사",
"schange20":"관계 만들기"
"schange20":"관계 만들기",
"schange21":"후원 키 제거"
}
}

3
qortal-ui-core/language/no.json

@ -656,6 +656,7 @@
"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"
"schange20":"Skaper forhold",
"schange21":"Fjern sponsornøkkel"
}
}

3
qortal-ui-core/language/pl.json

@ -661,6 +661,7 @@
"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"
"schange20":"Tworzenie relacji",
"schange21":"Usuń klucz sponsorsk"
}
}

3
qortal-ui-core/language/pt.json

@ -661,6 +661,7 @@
"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"
"schange20":"Criando relacionamento",
"schange21":"Remover chave de patrocínio"
}
}

3
qortal-ui-core/language/ro.json

@ -661,6 +661,7 @@
"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"
"schange20":"Crearea unei relatii",
"schange21":"Eliminati cheia de sponsorizare"
}
}

3
qortal-ui-core/language/rs.json

@ -661,6 +661,7 @@
"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"
"schange20":"Stvaranje odnosa",
"schange21":"Uklonite sponzorski ključ"
}
}

3
qortal-ui-core/language/ru.json

@ -656,6 +656,7 @@
"schange17":"Скопировано в буфер обмена",
"schange18":"Предупреждение: не покидайте этот плагин и не закрывайте пользовательский интерфейс Qortal до завершения!",
"schange19":"Копировать спонсорский ключ",
"schange20":"Создание отношений"
"schange20":"Создание отношений",
"schange21":"Удалить спонсорский ключ"
}
}

3
qortal-ui-core/language/us.json

@ -661,6 +661,7 @@
"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"
"schange20":"Creating relationship",
"schange21":"Remove Sponsorship Key"
}
}

19
qortal-ui-core/language/zhc.json

@ -642,7 +642,7 @@
"rewarddialog6":"点击确认后,铸币密钥将被移除並失效。"
},
"sponsorshipspage":{
"schange1":"目前有效的赞助记录",
"schange1":"目前有效的赞助记录",
"schange2":"被赞助账号",
"schange3":"总赞助数目",
"schange4":"距离下一轮可赞助新人还剩下区块数:",
@ -651,16 +651,17 @@
"schange7":"已完成",
"schange8":"钱包地址",
"schange9":"您目前没有有效的赞助记录",
"schange10":"搜寻共密钥",
"schange10":"公钥查找",
"schange11":"复制",
"schange12":"钱包地址公共密钥转换器",
"schange13":"输入钱包地址",
"schange14":"处理中",
"schange15":"即将完成",
"schange16":"复制下面的铸币密钥并分享给被赞助的人。",
"schange12":"地址公钥转换器",
"schange13":"输入地址",
"schange14":"进行中",
"schange15":"整理起来",
"schange16":"复制下面的密钥并与您的赞助人分享。",
"schange17":"已复制到剪贴板",
"schange18":"警告:在完成之前不要离开这个页面或关闭 Qortal UI!",
"schange18":"警告:在完成之前不要离开这个插件或关闭 Qortal UI!",
"schange19":"复制赞助密钥",
"schange20":"建立赞助"
"schange20":"建立关系",
"schange21":"删除赞助密钥"
}
}

17
qortal-ui-core/language/zht.json

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

38
qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list-css.src.js

@ -26,8 +26,8 @@ export const pageStyles = css`
.avatar-img {
border-radius: 50%;
height: 20px;
width: 20px;
height: 24px;
width: 24px;
margin-right: 10px;
}
@ -53,7 +53,7 @@ export const pageStyles = css`
align-items: center;
flex-direction: column;
width: 95%;
max-width: 1100px;
max-width: 1024px;
}
.message-error {
@ -212,8 +212,7 @@ export const pageStyles = css`
.smallLoading {
border-width: 0.6em;
border-style: solid;
border-color: rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2)
rgba(3, 169, 244, 0.2) rgb(3, 169, 244);
border-color: rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2) rgb(3, 169, 244);
font-size: 10px;
position: relative;
text-indent: -9999em;
@ -232,8 +231,7 @@ export const pageStyles = css`
margin: 10px auto;
border-width: 0.6em;
border-style: solid;
border-color: rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2)
rgba(3, 169, 244, 0.2) rgb(3, 169, 244);
border-color: rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2) rgb(3, 169, 244);
font-size: 10px;
position: relative;
text-indent: -9999em;
@ -265,23 +263,16 @@ export const pageStyles = css`
.tableGrid {
display: grid;
grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(
0,
2fr
) minmax(0, 1fr);
grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 2fr) minmax(0, 2fr);
align-items: center;
gap: 5px;
width: 100%;
margin-bottom: 15px;
padding: 5px;
padding: 5px;
}
.header {
align-self: flex-start;
align-self: flex-start;
}
.header p {
@ -314,11 +305,16 @@ export const pageStyles = css`
font-weight: bold;
}
.text--bold--green {
font-weight: bold;
color: var(--paper-green-500);
}
.summary-box {
display: flex;
display: inline;
text-align: center;
margin-top: 25px;
width: 100%;
flex-wrap: wrap;
}
.publicKeyLookupBtn {
@ -327,10 +323,6 @@ export const pageStyles = css`
right: 15px;
}
.summary-box p:first-child {
margin-right: 30px;
}
.text--normal {
font-weight: normal;
}

166
qortal-ui-plugins/plugins/core/sponsorship-list/sponsorship-list.src.js

@ -164,19 +164,13 @@ class SponsorshipList extends LitElement {
this.changeLanguage()
this.addressInfo =
window.parent.reduxStore.getState().app.accountInfo.addressInfo
this.addressInfo = window.parent.reduxStore.getState().app.accountInfo.addressInfo
this.isPageLoading = true
try {
const address =
window.parent.reduxStore.getState().app?.selectedAddress
?.address
const address = window.parent.reduxStore.getState().app?.selectedAddress?.address
let rewardShares = await this.getRewardShareRelationship(
address
)
let rewardShares = await this.getRewardShareRelationship(address)
rewardShares = rewardShares.filter((rs) => rs.recipient !== address)
@ -193,13 +187,11 @@ class SponsorshipList extends LitElement {
let url = ""
if(getNames?.length > 0 ){
const avatarNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
const avatarUrl = avatarNode.protocol + '://' + avatarNode.domain + ':' + avatarNode.port
const urlPic = `${avatarUrl}/arbitrary/THUMBNAIL/${getNames[0].name}/qortal_avatar?async=true&apiKey=${this.getApiKey()}`
url = urlPic
const avatarUrl = avatarNode.protocol + '://' + avatarNode.domain + ':' + avatarNode.port
const urlPic = `${avatarUrl}/arbitrary/THUMBNAIL/${getNames[0].name}/qortal_avatar?async=true&apiKey=${this.getApiKey()}`
url = urlPic
}
let blocksRemaining = this._levelUpBlocks(addressInfo)
blocksRemaining = +blocksRemaining > 0 ? +blocksRemaining : 0
return {
@ -210,12 +202,15 @@ class SponsorshipList extends LitElement {
blocksRemaining: blocksRemaining,
}
})
const accountInfoValues = await Promise.all(getAccountInfo)
this.sponsorships = accountInfoValues
this.nextSponsorshipEnding = accountInfoValues
.filter((sponsorship) => sponsorship.blocksRemaining !== 0)
.sort((a, b) => a.blocksRemaining - b.blocksRemaining)[0]
this.isPageLoading = false
const openModal = accountInfoValues.find(s=> s.blocksRemaining <= 0)
@ -239,7 +234,6 @@ class SponsorshipList extends LitElement {
type: "api",
url: `/addresses/rewardshares?minters=${recipientAddress}`,
})
return myRewardShareArray
}
@ -328,17 +322,14 @@ class SponsorshipList extends LitElement {
return
}
this.privateRewardShareKey = ""
this.errorMessage = ""
const recipientPublicKey = publicKeyValue
const percentageShare = 0
const selectedAddress =
window.parent.reduxStore.getState().app?.selectedAddress
const selectedAddress = window.parent.reduxStore.getState().app?.selectedAddress
// Check for valid...
this.isLoadingCreateSponsorship = true
// Get Last Ref
const getLastRef = async () => {
let myRef = await parentEpml.request("apiCall", {
@ -357,8 +348,6 @@ class SponsorshipList extends LitElement {
return myAccountDetails
}
// Validate Reward Share by Level
const validateReceiver = async () => {
let accountDetails
@ -417,13 +406,10 @@ class SponsorshipList extends LitElement {
}
const getTxnRequestResponse = (txnResponse) => {
if(txnResponse?.extraData?.rewardSharePrivateKey && (txnResponse?.data?.message?.includes('multiple') || txnResponse?.data?.message?.includes('SELF_SHARE_EXISTS')) ){
this.privateRewardShareKey = txnResponse?.extraData?.rewardSharePrivateKey
this.confirmRelationship(publicKeyValue, isCopy)
} else if (txnResponse.success === false && txnResponse?.message) {
this.errorMessage = txnResponse?.message
this.isLoadingCreateSponsorship = false
throw(txnResponse?.message)
@ -431,19 +417,15 @@ class SponsorshipList extends LitElement {
txnResponse.success === true &&
!txnResponse.data.error
) {
this.privateRewardShareKey = txnResponse?.extraData?.rewardSharePrivateKey
this.confirmRelationship(publicKeyValue, isCopy)
} else {
this.errorMessage = txnResponse?.data?.message || txnResponse?.message
this.isLoadingCreateSponsorship = false
throw(txnResponse?.data?.message || txnResponse?.message)
}
}
validateReceiver()
}
async confirmRelationship(recipientPublicKey, isCopy){
@ -520,41 +502,35 @@ class SponsorshipList extends LitElement {
${translate("mintingpage.mchange35")}
</h1>
<div class="fullWidth">
<hr class="divider" />
<hr class="divider">
</div>
<div class="inner-container">
${this.sponsorships.length === 0 ? html`
<div class="sub-title">
<p>${translate("sponsorshipspage.schange9")}</p>
</div>
` : ''}
${this.sponsorships.length > 0 ?
html`
<div class="sub-title">
<p>${translate("sponsorshipspage.schange1")}</p>
</div>
<div class="tableGrid table-header">
<div class="grid-item header">
<p>${translate("settings.account")}</p>
</div>
<div class="grid-item header">
<p>${translate("walletprofile.blocksminted")}</p>
<div class="sub-title">
<p>${translate("sponsorshipspage.schange9")}</p>
</div>
<div class="grid-item header">
<p>${translate("becomeMinterPage.bchange17")}</p>
` : ''}
${this.sponsorships.length > 0 ? html`
<div class="sub-title">
<p>${translate("sponsorshipspage.schange1")}</p>
</div>
<div class="grid-item header">
<div class="tableGrid table-header">
<div class="grid-item header">
<p>${translate("settings.account")}</p>
</div>
<div class="grid-item header">
<p>${translate("walletprofile.blocksminted")}</p>
</div>
<div class="grid-item header">
<p>${translate("sponsorshipspage.schange19")}</p>
</div>
<div class="grid-item header">
<p>${translate("sponsorshipspage.schange21")}</p>
</div>
</div>
</div>
${this.sponsorships.map(
(sponsorship) => html`
${this.sponsorships.map((sponsorship) => html`
<ul class="tableGrid">
<li class="grid-item">
<p class="grid-item-text">
${translate("settings.account")}
</p>
<div class="name-container">
${sponsorship?.name ? html`
<img src=${sponsorship.url}
@ -566,16 +542,10 @@ class SponsorshipList extends LitElement {
</div>
</li>
<li class="grid-item">
<p class="grid-item-text">
${translate("walletprofile.blocksminted")}
</p>
${+sponsorship.blocksMinted +
+sponsorship.blocksMintedAdjustment}
</li>
<li class="grid-item">
<p class="grid-item-text">
${translate("sponsorshipspage.schange19")}
</p>
<mwc-button
@click=${()=> {this.createRewardShare(sponsorship?.publicKey, true)}}
>
@ -592,44 +562,43 @@ class SponsorshipList extends LitElement {
</mwc-button>
</li>
</ul>
`
)}
<div class="summary-box">
<p class="text text--bold">
${translate("sponsorshipspage.schange3")} =
<span class="text text--normal">
${this.sponsorships.length}
</span>
</p>
<p class="text text--bold">
${translate("sponsorshipspage.schange4")} =
<span class="text text--normal">
${this.nextSponsorshipEnding
?.blocksRemaining}
`)}
<div class="summary-box">
<p class="text text--bold">
${translate("sponsorshipspage.schange3")}&nbsp;
<span class="text text--bold--green">
${this.sponsorships.length}
</span>
</p>
<p class="text text--bold">
${translate("sponsorshipspage.schange4")}&nbsp;
<span class="text text--bold--green">
${this.nextSponsorshipEnding
?.blocksRemaining}&nbsp;
</span>
${translate("mintingpage.mchange26")}
</span>
</p>
</div>
`
: ''}
<p class="message-error">${this.errorMessage}</p>
<div class="form-wrapper">
<div class="sponsor-minter-wrapper">
<p class="sponsor-minter-text">${translate("sponsorshipspage.schange5")}</p>
</div>
</p>
</div>
` : ''}
<p class="message-error">${this.errorMessage}</p>
<div class="form-wrapper">
<div class="sponsor-minter-wrapper">
<p class="sponsor-minter-text">${translate("sponsorshipspage.schange5")}</p>
</div>
<div class="form-item form-item--input">
<mwc-textfield
?disabled="${this.isLoadingCreateSponsorship}"
label="${translate("rewardsharepage.rchange10")}"
id="addPublicKey"
@input="${this.inputHandler}"
.value="${this.publicKeyValue || ""}"
fullWidth
>
</mwc-textfield>
</div>
<div class="form-item form-item--input">
<mwc-textfield
?disabled="${this.isLoadingCreateSponsorship}"
label="${translate("rewardsharepage.rchange10")}"
id="addPublicKey"
@input="${this.inputHandler}"
.value="${this.publicKeyValue || ""}"
fullWidth
>
</mwc-textfield>
</div>
<div class="form-item form-item--button">
<vaadin-button
theme="primary"
@ -639,6 +608,7 @@ class SponsorshipList extends LitElement {
${translate("puzzlepage.pchange15")}
</vaadin-button>
</div>
<div class="publicKeyLookupBtn">
<vaadin-button
theme="primary"

Loading…
Cancel
Save