move exchange rate

This commit is contained in:
AlphaX-Projects 2022-09-10 17:43:39 +02:00
parent c19ea6af4e
commit b4b8074fa1
19 changed files with 69 additions and 121 deletions

View File

@ -36,7 +36,7 @@
"electron-log": "4.4.8"
},
"devDependencies": {
"electron": "20.1.0",
"electron": "17.4.11",
"electron-builder": "23.3.3",
"electron-notarize": "1.2.1",
"electron-packager": "16.0.0",

View File

@ -298,7 +298,8 @@
"tchange29":"ABBRECHEN",
"tchange30":"Guthaben konnte nicht abgerufen werden. Versuchen Sie es nochmal!",
"tchange31":"VERKAUFT",
"tchange32":"GEKAUFT"
"tchange32":"GEKAUFT",
"tchange33":"Tauschrate"
},
"rewardsharepage":{
"rchange1":"Belohnungsanteile",

View File

@ -298,7 +298,8 @@
"tchange29":"CANCELAR",
"tchange30":"Fallo en la obtención del saldo. Inténtelo de nuevo!",
"tchange31":"VENDIDO",
"tchange32":"COMPRADO"
"tchange32":"COMPRADO",
"tchange33":"Tipo de cambio"
},
"rewardsharepage":{
"rchange1":"Rewardshares",

View File

@ -298,7 +298,8 @@
"tchange29":"ANNULER",
"tchange30":"Échec de la récupération du solde. Réessayez!",
"tchange31":"VENDU",
"tchange32":"ACHETE"
"tchange32":"ACHETE",
"tchange33":"Taux de change"
},
"rewardsharepage":{
"rchange1":"Récompenses",

View File

@ -299,7 +299,8 @@
"tchange29":"रद्द करें",
"tchange30":"शेष को लाने में विफल फिर से प्रयास करें!",
"tchange31":"बेचा",
"tchange32":"खरीद लिया"
"tchange32":"खरीद लिया",
"tchange33":"विनिमय दर"
},
"rewardsharepage":{
"rchange1":"रिवॉर्डशेयर",

View File

@ -298,7 +298,8 @@
"tchange29":"OTKAŽI",
"tchange30":"Neuspješno dohvatiti stanje. Pokušajte ponovno!",
"tchange31":"PRODANO",
"tchange32":"KUPLJENO"
"tchange32":"KUPLJENO",
"tchange33":"Tečaj"
},
"rewardsharepage":{
"rchange1":"Nagradni udio (Rewardshares)",

View File

@ -298,7 +298,8 @@
"tchange29":"ÉRVÉNYTELENÍT",
"tchange30":"Nem sikerült lekérni az egyenleget. Próbáld újra!",
"tchange31":"ELADOTT",
"tchange32":"VÁSÁROLT"
"tchange32":"VÁSÁROLT",
"tchange33":"Árfolyam"
},
"rewardsharepage":{
"rchange1":"Jutalommegosztások",

View File

@ -298,7 +298,8 @@
"tchange29":"CANCELLA",
"tchange30":"Impossibile recuperare il saldo. Riprova!",
"tchange31":"VENDUTO",
"tchange32":"ACQUISTATO"
"tchange32":"ACQUISTATO",
"tchange33":"Tasso di cambio"
},
"rewardsharepage":{
"rchange1":"Quote di ricompensa",

View File

@ -298,7 +298,8 @@
"tchange29":"취소하다",
"tchange30":"밸런스를 가져오지 못했습니다. 다시 시도하십시오.!",
"tchange31":"판매된",
"tchange32":"구매된"
"tchange32":"구매된",
"tchange33":"환율"
},
"rewardsharepage":{
"rchange1":"보상 공유",

View File

@ -298,7 +298,8 @@
"tchange29":"AVBRYT",
"tchange30":"Kunne ikke hente saldoen. Prøv igjen!",
"tchange31":"SOLGT",
"tchange32":"KJØPT"
"tchange32":"KJØPT",
"tchange33":"Vekslingskurs"
},
"rewardsharepage":{
"rchange1":"Belønningsdel",

View File

@ -298,7 +298,8 @@
"tchange29":"ANULUJ",
"tchange30":"Nie udało się pobrać salda. Spróbuj ponownie!",
"tchange31":"SPRZEDANY",
"tchange32":"KUPIONY"
"tchange32":"KUPIONY",
"tchange33":"Kurs wymiany"
},
"rewardsharepage":{
"rchange1":"Podział nagród",

View File

@ -298,7 +298,8 @@
"tchange29":"CANCELAR",
"tchange30":"Falha buscando Saldo. Tente novamente!",
"tchange31":"VENDIDO",
"tchange32":"COMPRADO"
"tchange32":"COMPRADO",
"tchange33":"Taxa de câmbio"
},
"rewardsharepage":{
"rchange1":"Ações de recompensa",

View File

@ -298,7 +298,8 @@
"tchange29":"ANULARE",
"tchange30":"Nu s-a reusit actualizarea soldului. Mai incearca odata!",
"tchange31":"VANDUT",
"tchange32":"CUMPARAT"
"tchange32":"CUMPARAT",
"tchange33":"Rata de schimb"
},
"rewardsharepage":{
"rchange1":"Cote de recompensa",

View File

@ -298,7 +298,8 @@
"tchange29":"OTKAZIVANJE",
"tchange30":"Neuspešna provera salda. Pokušajte ponovo!",
"tchange31":"PRODATO",
"tchange32":"KUPLJENO"
"tchange32":"KUPLJENO",
"tchange33":"Kurs"
},
"rewardsharepage":{
"rchange1":"Udeo nagrade",

View File

@ -298,7 +298,8 @@
"tchange29":"ОТМЕНА",
"tchange30":"Не удалось получить баланс. Повторите попытку!",
"tchange31":"ПРОДАНО",
"tchange32":"КУПИЛ"
"tchange32":"КУПИЛ",
"tchange33":"Обменный курс"
},
"rewardsharepage":{
"rchange1":"Вознаграждения",

View File

@ -298,7 +298,8 @@
"tchange29":"CANCEL",
"tchange30":"Failed to Fetch Balance. Try again!",
"tchange31":"SOLD",
"tchange32":"BOUGHT"
"tchange32":"BOUGHT",
"tchange33":"Exchange Rate"
},
"rewardsharepage":{
"rchange1":"Rewardshares",

View File

@ -298,7 +298,8 @@
"tchange29":"取消交易",
"tchange30":"加载余额失败。请重新尝试!",
"tchange31":"已卖出",
"tchange32":"已买入"
"tchange32":"已买入",
"tchange33":"汇率"
},
"rewardsharepage":{
"rchange1":"铸币密钥",

View File

@ -298,7 +298,8 @@
"tchange29":"取消交易",
"tchange30":"加載餘額失敗。請重新嘗試!",
"tchange31":"已賣出",
"tchange32":"已買入"
"tchange32":"已買入",
"tchange33":"匯率"
},
"rewardsharepage":{
"rchange1":"鑄幣密鑰",

View File

@ -85,20 +85,17 @@ class TradePortal extends LitElement {
--_lumo-grid-border-color: var(--border);
--_lumo-grid-secondary-border-color: var(--border2);
}
paper-spinner-lite {
height: 30px;
width: 30px;
--paper-spinner-color: var(--mdc-theme-primary);
--paper-spinner-stroke-width: 3px;
}
mwc-tab-bar {
--mdc-text-transform: none;
--mdc-tab-color-default: var(--black);
--mdc-tab-text-label-color-default: var(--black);
}
#tabs-1 {
--mdc-tab-height: 42px;
border-left: 1px solid var(--tradeborder);
@ -106,49 +103,39 @@ class TradePortal extends LitElement {
border-right: 1px solid var(--tradeborder);
color: var(--black);
}
#tab-buy[active] {
--mdc-theme-primary: rgba(55, 160, 51, 0.9);
}
#tabs-1-content {
height: 100%;
padding-bottom: 10px;
}
#tabs-1-content > div {
height: 100%;
border: 1px solid var(--tradeborder);
}
#tabs-1-content .card {
border: none;
}
#tabs-1-content .btn-clear {
--mdc-icon-button-size: 32px;
color: var(--black);
}
#tab-sell[active] {
--mdc-theme-primary: rgb(255, 89, 89);
}
#trade-portal-page {
background: var(--white);
padding: 12px 24px;
}
.divCard {
border: 1px solid var(--black);
padding: 1em;
box-shadow: 0 0.3px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 1px -1px rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}
h2 {
margin: 0;
}
h2,
h3,
h4,
@ -156,7 +143,6 @@ class TradePortal extends LitElement {
color: var(--black);
font-weight: 400;
}
header {
display: flex;
flex: 0 1 auto;
@ -171,17 +157,14 @@ class TradePortal extends LitElement {
border-right: 1px solid var(--tradeborder);
min-height: 40px;
}
p {
margin-bottom: 12px;
}
#trade-portal {
max-width: 100vw;
margin-left: auto;
margin-right: auto;
}
.box {
margin: 0;
padding: 0;
@ -189,38 +172,29 @@ class TradePortal extends LitElement {
flex-flow: column;
height: 100%;
}
#first-trade-section {
margin-bottom: 10px;
}
#first-trade-section > div {
}
#second-trade-section {
margin-bottom: 10px;
}
#second-trade-section > div {
}
#third-trade-section {
margin-bottom: 10px;
}
#third-trade-section > div {
}
.trade-chart {
background-color: var(--white);
border: 2px #ddd solid;
text-align: center;
}
.open-trades {
text-align: center;
}
.no-last-seen {
background: rgb(255, 89, 89);
padding: 9px 1.3px;
@ -228,11 +202,9 @@ class TradePortal extends LitElement {
width: 1rem;
margin: 0 auto;
}
.open-market-container {
text-align: center;
}
.card {
padding: 1em;
border: 1px var(--tradeborder) solid;
@ -242,23 +214,19 @@ class TradePortal extends LitElement {
justify-content: space-evenly;
min-height: inherit;
}
.cancel {
--mdc-theme-primary: rgb(255, 89, 89);
}
.border-wrapper {
border: 1px var(--tradeborder) solid;
overflow: hidden;
}
.amt-text {
color: var(--tradehave);
font-size: 15px;
margin-top: 5px;
margin-bottom: 12px;
}
.exchange {
color: var(--black);
font-size: 18px;
@ -266,31 +234,26 @@ class TradePortal extends LitElement {
margin-top: 5px;
margin-bottom: 10px;
}
.clear-button {
display: inline;
float: right;
margin-bottom: 5px;
}
.exhcnage-text {
display: inline;
float: left;
margin-bottom: 5px;
}
.balance-text {
display: inline;
float: right;
margin-bottom: 5px;
}
.fee-text {
display: inline;
float: left;
margin-bottom: 5px;
}
.tab-text {
color: var(--tradehave);
font-size: 12px;
@ -298,58 +261,46 @@ class TradePortal extends LitElement {
margin-top: 2px;
margin-bottom: -12px;
}
.historic-trades {
text-align: center;
}
.my-open-orders {
text-align: center;
}
.my-historic-trades {
text-align: center;
}
.buttons {
width: auto !important;
}
.buy-button {
--mdc-theme-primary: rgba(55, 160, 51, 0.9);
}
.sell-button {
--mdc-theme-primary: rgb(255, 89, 89);
}
.full-width {
background-color: var(--white);
border: 2px #ddd solid;
height: 100px;
text-align: center;
}
vaading-grid {
font-size: .8em;
}
vaadin-grid-column {
flex-grow: 1;
}
.loadingContainer {
height: 100%;
width: 100%;
}
.loading,
.loading:after {
border-radius: 50%;
width: 5em;
height: 5em;
}
.loading {
margin: 10px auto;
border-width: .6em;
@ -361,16 +312,13 @@ class TradePortal extends LitElement {
transform: translateZ(0px);
animation: 1.1s linear 0s infinite normal none running loadingAnimation;
}
mwc-select#coinSelectionMenu {
font-size: 24px;
width:220px;
}
mwc-select#coinSelectionMenu mwc-list-item {
line-height: 30px;
}
.coinName::before {
content: "";
display: inline-block;
@ -382,37 +330,29 @@ class TradePortal extends LitElement {
left: 10px;
top: 10px;
}
.btc.coinName:before {
background-image: url('/img/qortbtc.png');
}
.ltc.coinName:before {
background-image: url('/img/qortltc.png');
}
.doge.coinName:before {
background-image: url('/img/qortdoge.png');
}
.dgb.coinName:before {
background-image: url('/img/qortdgb.png');
}
.rvn.coinName:before {
background-image: url('/img/qortrvn.png');
}
.arrr.coinName:before {
background-image: url('/img/qortarrr.png');
}
.coinName {
display: inline-block;
height: 26px;
padding-left: 45px;
}
@-webkit-keyframes loadingAnimation {
0% {
-webkit-transform: rotate(0deg);
@ -423,7 +363,6 @@ class TradePortal extends LitElement {
transform: rotate(360deg);
}
}
@keyframes loadingAnimation {
0% {
-webkit-transform: rotate(0deg);
@ -439,7 +378,6 @@ class TradePortal extends LitElement {
* {
}
#trade-portal {}
#first-trade-section {
display: grid;
grid-template-columns:1fr 1fr 2fr;
@ -450,7 +388,6 @@ class TradePortal extends LitElement {
align-items: stretch;
margin-bottom: 10px;
}
#second-trade-section {
display: grid;
grid-template-columns: 2fr 1fr;
@ -461,7 +398,6 @@ class TradePortal extends LitElement {
align-items: stretch;
margin-bottom: 10px;
}
}
`
}
@ -733,7 +669,7 @@ class TradePortal extends LitElement {
</div>
</div>
</div>
`
`
}
openMarketTemplate() {
@ -747,10 +683,9 @@ class TradePortal extends LitElement {
<z id="tabs-1-content">
<div id="tab-buy-content">
<div class="card">
<span class="exchange">
<span class="clear-button"><mwc-icon-button class="btn-clear" title="${translate("tradepage.tchange15")}" icon="clear_all" @click="${() => this.clearBuyForm()}"></mwc-icon-button></span>
<span class="exhcnage-text">1 ${this.listedCoins.get(this.selectedCoin).coinCode} = ${this.exchangeRateForeign()} QORT</span>
</span>
<div style="margin-left: auto">
<mwc-icon-button class="btn-clear" title="${translate("tradepage.tchange15")}" icon="clear_all" @click="${() => this.clearBuyForm()}"></mwc-icon-button>
</div>
<span class="tab-text">${translate("tradepage.tchange8")} (QORT)*</span>
<p>
<mwc-textfield
@ -818,10 +753,9 @@ class TradePortal extends LitElement {
</div>
<div id="tab-sell-content">
<div class="card">
<span class="exchange">
<span class="clear-button"><mwc-icon-button class="btn-clear" title="${translate("tradepage.tchange15")}" icon="clear_all" @click="${() => this.clearSellForm()}"></mwc-icon-button></span>
<span class="exhcnage-text">1 QORT = ${this.exchangeRateQort()} ${this.listedCoins.get(this.selectedCoin).coinCode}</span>
</span>
<div style="margin-left: auto">
<mwc-icon-button class="btn-clear" title="${translate("tradepage.tchange15")}" icon="clear_all" @click="${() => this.clearSellForm()}"></mwc-icon-button>
</div>
<span class="tab-text">${translate("tradepage.tchange8")} (QORT)*</span>
<p>
<mwc-textfield
@ -882,7 +816,7 @@ class TradePortal extends LitElement {
</div>
</div>
</div>
`
`
}
myOpenOrdersTemplate() {
@ -948,7 +882,7 @@ class TradePortal extends LitElement {
</div>
</div>
</div>
`
`
}
myHistoricTradesTemplate() {
@ -1008,7 +942,7 @@ class TradePortal extends LitElement {
</div>
</div>
</div>
`
`
}
render() {
@ -1022,7 +956,7 @@ class TradePortal extends LitElement {
<mwc-list-item value="DOGECOIN"><span class="coinName doge" style="color: var(--black);">QORT / DOGE</span></mwc-list-item>
<mwc-list-item value="DIGIBYTE"><span class="coinName dgb" style="color: var(--black);">QORT / DGB</span></mwc-list-item>
<mwc-list-item value="RAVENCOIN"><span class="coinName rvn" style="color: var(--black);">QORT / RVN</span></mwc-list-item>
<mwc-list-item value="PIRATECHAIN"><span class="coinName arrr" style="color: var(--black);">QORT / ARRR</span></mwc-list-item>
<mwc-list-item value="PIRATECHAIN"><span class="coinName arrr" style="color: var(--black);">QORT / ARRR</span></mwc-list-item>
</mwc-select>
</div>
<div id="trade-portal">
@ -1037,11 +971,15 @@ class TradePortal extends LitElement {
</div>
</div>
</div>
<div style="text-align: center;">
<h2 style="color: var(--black);">${translate("tradepage.tchange33")}</h2>
<h3 style="color: var(--black);">1 <span style="color: #03a9f4;">QORT</span> = ${this.exchangeRateQort()} ${this.listedCoins.get(this.selectedCoin).coinCode}</h3>
</div>
<!-- Manage Stuck Orders Dialog -->
<mwc-dialog id="manageStuckOrdersDialog" scrimClickAction="${this.cancelStuckOfferBtnDisable ? '' : 'close'}">
<div style="text-align: center;">
<h1>${translate("tradepage.tchange7")}</h1>
<hr />
<hr>
</div>
<div>
<vaadin-grid style="width: 500px" theme="compact column-borders row-stripes wrap-cell-content" id="stuckOrdersGrid" aria-label="My Offering Orders" .items="${this.listedCoins.get(this.selectedCoin).myOfferingOrders}">
@ -1053,7 +991,7 @@ class TradePortal extends LitElement {
</div>
<mwc-button slot="primaryAction" dialogAction="cancel" class="cancel">${translate("general.close")}</mwc-button>
</mwc-dialog>
`
`
}
firstUpdated() {
@ -1302,15 +1240,14 @@ class TradePortal extends LitElement {
url: _url,
method: 'POST',
body: _body,
}).then((res) => {
if (isNaN(Number(res))) {
let snack1string = get("tradepage.tchange30")
parentEpml.request('showSnackBar', `${snack1string}`)
} else {
this.listedCoins.get(this.selectedCoin).balance = (Number(res) / 1e8).toFixed(8)
}
})
.then((res) => {
if (isNaN(Number(res))) {
let snack1string = get("tradepage.tchange30")
parentEpml.request('showSnackBar', `${snack1string}`)
} else {
this.listedCoins.get(this.selectedCoin).balance = (Number(res) / 1e8).toFixed(8)
}
})
}
async fetchWalletAddress(coin) {
@ -1889,7 +1826,7 @@ class TradePortal extends LitElement {
// Fill Historic Trades and Filter Stuck Trades
if (this.listedCoins.get(this.selectedCoin).tradeOffersSocketCounter === 1) {
setTimeout(() => this.filterStuckTrades(tradeStates), 50)
setTimeout(() => this.filterStuckTrades(tradeStates), 250)
}
}
@ -1973,7 +1910,7 @@ class TradePortal extends LitElement {
const startOfferPresenceMapping = async () => {
if (presenceTxns !== null) {
await asyncForEach(presenceTxns, async (presence) => {
await waitFor(50)
await waitFor(250)
let offerIndex = offeringTrades.findIndex((offeringTrade) => offeringTrade.qortalCreatorTradeAddress === presence.address)
offerIndex !== -1 ? (offeringTrades[offerIndex].lastSeen = presence.timestamp) : null
})
@ -1981,7 +1918,7 @@ class TradePortal extends LitElement {
if (tradePresenceTxns !== null) {
await asyncForEach(tradePresenceTxns, async (tradePresence) => {
await waitFor(50)
await waitFor(250)
let offerIndex = offeringTrades.findIndex((offeringTrade) => offeringTrade.qortalCreatorTradeAddress === tradePresence.tradeAddress)
offerIndex !== -1 ? (offeringTrades[offerIndex].tradePresenceExpiry = tradePresence.timestamp) : null
})
@ -2001,7 +1938,7 @@ class TradePortal extends LitElement {
const socket = new WebSocket(socketLink)
// Open Connection
socket.onopen = () => {
setTimeout(pingSocket, 50)
setTimeout(pingSocket, 250)
tradeOffersSocketCounter += 1
}
// Message Event
@ -2038,7 +1975,7 @@ class TradePortal extends LitElement {
const socket = new WebSocket(socketLink)
// Open Connection
socket.onopen = () => {
setTimeout(pingSocket, 50)
setTimeout(pingSocket, 250)
}
// Message Event
socket.onmessage = (e) => {
@ -2072,7 +2009,7 @@ class TradePortal extends LitElement {
const socket = new WebSocket(socketLink)
// Open Connection
socket.onopen = () => {
setTimeout(pingSocket, 50)
setTimeout(pingSocket, 250)
}
// Message Event
socket.onmessage = (e) => {
@ -2103,7 +2040,7 @@ class TradePortal extends LitElement {
const socket = new WebSocket(socketLink)
// Open Connection
socket.onopen = () => {
setTimeout(pingSocket, 50)
setTimeout(pingSocket, 250)
}
// Message Event
socket.onmessage = (e) => {
@ -2628,18 +2565,12 @@ class TradePortal extends LitElement {
const modifiers = [
{ searchValue: 'NODEURL', replaceValue: nodeUrl },
{ searchValue: 'FOREIGN_BLOCKCHAIN', replaceValue: this.selectedCoin, },
{ searchValue: 'FOREIGN_BLOCKCHAIN', replaceValue: this.selectedCoin },
]
workers.get(this.selectedCoin).tradesConnectedWorker = this.inlineWorker(this.initSocket, modifiers)
workers.get(this.selectedCoin).tradesConnectedWorker.addEventListener(
'message',
function (event) {
handleMessage(event.data)
},
{ passive: true }
)
workers.get(this.selectedCoin).tradesConnectedWorker.addEventListener('message', function (event) { handleMessage(event.data) }, { passive: true })
workers.get(this.selectedCoin).tradesConnectedWorker.postMessage({ type: "set_coin", content: this.selectedCoin })
}
@ -2758,4 +2689,4 @@ class TradePortal extends LitElement {
}
}
window.customElements.define('trade-portal', TradePortal)
window.customElements.define('trade-portal', TradePortal)