From 4c4925662497b91bc9a62c17a4f17c876665a7c6 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Wed, 13 Apr 2022 06:46:00 +0200 Subject: [PATCH] Translate Websites Page and fix loading theme and language --- qortal-ui-core/language/cn.json | 37 +++++ qortal-ui-core/language/de.json | 37 +++++ qortal-ui-core/language/fr.json | 37 +++++ qortal-ui-core/language/pl.json | 37 +++++ qortal-ui-core/language/sp.json | 37 +++++ qortal-ui-core/language/us.json | 37 +++++ .../plugins/core/minting/minting-info.src.js | 25 +-- .../name-registration.src.js | 58 +++---- .../plugins/core/qdn/websites.src.js | 142 +++++++++++------- .../core/reward-share/reward-share.src.js | 31 ++-- .../core/trade-portal/trade-portal.src.js | 42 +++--- .../plugins/core/wallet/wallet-app.src.js | 25 +-- 12 files changed, 410 insertions(+), 135 deletions(-) diff --git a/qortal-ui-core/language/cn.json b/qortal-ui-core/language/cn.json index 0deea356..d907364b 100644 --- a/qortal-ui-core/language/cn.json +++ b/qortal-ui-core/language/cn.json @@ -283,5 +283,42 @@ "nchange16": "Need Core Update", "nchange17": "Name Already Exists!", "nchange18": "Name Registration Successful!" + }, + "websitespage": { + "schange1": "Browse Websites", + "schange2": "Followed Websites", + "schange3": "Blocked Websites", + "schange4": "Search Websites", + "schange5": "Avatar", + "schange6": "Details", + "schange7": "Published by", + "schange8": "Actions", + "schange9": "Websites", + "schange10": "No websites available", + "schange11": "Your Followed Websites", + "schange12": "Followed Websites", + "schange13": "You aren't following any websites", + "schange14": "Your Blocked Websites", + "schange15": "Blocked Websites", + "schange16": "You have not blocked any websites", + "schange17": "Name Not Found!", + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange19": "in", + "schange20": "Relay mode is disabled. You can enable it by setting", + "schange21": "Publish Website", + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange26": "Uncategorized", + "schange27": "Size", + "schange28": "Status", + "schange29": "Follow", + "schange30": "Unfollow", + "schange31": "Block", + "schange32": "Unblock", + "schange33": "Name to search", + "schange34": "Name can not be empty!", + "schange35": "Search" } } \ No newline at end of file diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index bfc8f665..2963f779 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -283,5 +283,42 @@ "nchange16": "Core-Update erforderlich", "nchange17": "Name existiert bereits!", "nchange18": "Namensregistrierung erfolgreich!" + }, + "websitespage": { + "schange1": "Webseiten durchsuchen", + "schange2": "Gefolgte Webseiten", + "schange3": "Blockierte Webseiten", + "schange4": "Suche Webseite", + "schange5": "Avatar", + "schange6": "Einzelheiten", + "schange7": "Herausgegeben von", + "schange8": "Aktionen", + "schange9": "Webseiten", + "schange10": "Keine Webseiten verfügbar", + "schange11": "Ihre verfolgten Webseiten", + "schange12": "Gefolgte Websites", + "schange13": "Du folgst keine Webseiten", + "schange14": "Ihre blockierten Webseiten", + "schange15": "Blockierte Webseiten", + "schange16": "Sie haben keine Webseiten blockiert", + "schange17": "Name nicht gefunden!", + "schange18": "Der Relay-Modus ist aktiviert. Dies bedeutet, dass Ihr Knoten dabei hilft, verschlüsselte Daten im Netzwerk zu transportieren, wenn ein Peer sie anfordert. Sie können sich per Einstellung abmelden, ändern Sie", + "schange19": "in", + "schange20": "Der Relay-Modus ist deaktiviert. Sie können es durch Einstellung aktivieren, ändern Sie", + "schange21": "Webseite veröffentlichen", + "schange22": "Beim Versuch, diesem registrierten Namen zu folgen, ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "schange23": "Beim Versuch, diesem registrierten Namen nicht mehr zu folgen, ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "schange24": "Beim Blockieren dieses registrierten Namens ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "schange25": "Beim Versuch, diesen registrierten Namen zu entsperren, ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "schange26": "Nicht kategorisiert", + "schange27": "Größe", + "schange28": "Status", + "schange29": "Folgen", + "schange30": "Entfolgen", + "schange31": "Sperren", + "schange32": "Entsperren", + "schange33": "Name zu suchen", + "schange34": "Name darf nicht leer sein!", + "schange35": "Suchen" } } \ No newline at end of file diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index ee4c99e8..979654c2 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -283,5 +283,42 @@ "nchange16": "Need Core Update", "nchange17": "Name Already Exists!", "nchange18": "Name Registration Successful!" + }, + "websitespage": { + "schange1": "Browse Websites", + "schange2": "Followed Websites", + "schange3": "Blocked Websites", + "schange4": "Search Websites", + "schange5": "Avatar", + "schange6": "Details", + "schange7": "Published by", + "schange8": "Actions", + "schange9": "Websites", + "schange10": "No websites available", + "schange11": "Your Followed Websites", + "schange12": "Followed Websites", + "schange13": "You aren't following any websites", + "schange14": "Your Blocked Websites", + "schange15": "Blocked Websites", + "schange16": "You have not blocked any websites", + "schange17": "Name Not Found!", + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange19": "in", + "schange20": "Relay mode is disabled. You can enable it by setting", + "schange21": "Publish Website", + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange26": "Uncategorized", + "schange27": "Size", + "schange28": "Status", + "schange29": "Follow", + "schange30": "Unfollow", + "schange31": "Block", + "schange32": "Unblock", + "schange33": "Name to search", + "schange34": "Name can not be empty!", + "schange35": "Search" } } \ No newline at end of file diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index 0f76a6d7..9225c23b 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -283,5 +283,42 @@ "nchange16": "Need Core Update", "nchange17": "Name Already Exists!", "nchange18": "Name Registration Successful!" + }, +, + "websitespage": { + "schange1": "Browse Websites", + "schange2": "Followed Websites", + "schange3": "Blocked Websites", + "schange4": "Search Websites", + "schange5": "Avatar", + "schange6": "Details", + "schange7": "Published by", + "schange8": "Actions", + "schange9": "Websites", + "schange10": "No websites available", + "schange11": "Your Followed Websites", + "schange12": "Followed Websites", + "schange13": "You aren't following any websites", + "schange14": "Your Blocked Websites", + "schange15": "Blocked Websites", + "schange16": "You have not blocked any websites", + "schange17": "Name Not Found!", + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange19": "in", + "schange20": "Relay mode is disabled. You can enable it by setting", + "schange21": "Publish Website", + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange26": "Uncategorized", + "schange27": "Size", + "schange28": "Status", + "schange29": "Follow", + "schange30": "Unfollow", + "schange31": "Block", + "schange32": "Unblock", + "schange33": "Name to search", + "schange35": "Search" } } diff --git a/qortal-ui-core/language/sp.json b/qortal-ui-core/language/sp.json index a0ff1f28..e1b1e07e 100644 --- a/qortal-ui-core/language/sp.json +++ b/qortal-ui-core/language/sp.json @@ -283,5 +283,42 @@ "nchange16": "Need Core Update", "nchange17": "Name Already Exists!", "nchange18": "Name Registration Successful!" + }, + "websitespage": { + "schange1": "Browse Websites", + "schange2": "Followed Websites", + "schange3": "Blocked Websites", + "schange4": "Search Websites", + "schange5": "Avatar", + "schange6": "Details", + "schange7": "Published by", + "schange8": "Actions", + "schange9": "Websites", + "schange10": "No websites available", + "schange11": "Your Followed Websites", + "schange12": "Followed Websites", + "schange13": "You aren't following any websites", + "schange14": "Your Blocked Websites", + "schange15": "Blocked Websites", + "schange16": "You have not blocked any websites", + "schange17": "Name Not Found!", + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange19": "in", + "schange20": "Relay mode is disabled. You can enable it by setting", + "schange21": "Publish Website", + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange26": "Uncategorized", + "schange27": "Size", + "schange28": "Status", + "schange29": "Follow", + "schange30": "Unfollow", + "schange31": "Block", + "schange32": "Unblock", + "schange33": "Name to search", + "schange34": "Name can not be empty!", + "schange35": "Search" } } \ No newline at end of file diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index fe0c2d4d..cbb98950 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -283,5 +283,42 @@ "nchange16": "Need Core Update", "nchange17": "Name Already Exists!", "nchange18": "Name Registration Successful!" + }, + "websitespage": { + "schange1": "Browse Websites", + "schange2": "Followed Websites", + "schange3": "Blocked Websites", + "schange4": "Search Websites", + "schange5": "Avatar", + "schange6": "Details", + "schange7": "Published by", + "schange8": "Actions", + "schange9": "Websites", + "schange10": "No websites available", + "schange11": "Your Followed Websites", + "schange12": "Followed Websites", + "schange13": "You aren't following any websites", + "schange14": "Your Blocked Websites", + "schange15": "Blocked Websites", + "schange16": "You have not blocked any websites", + "schange17": "Name Not Found!", + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange19": "in", + "schange20": "Relay mode is disabled. You can enable it by setting", + "schange21": "Publish Website", + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange26": "Uncategorized", + "schange27": "Size", + "schange28": "Status", + "schange29": "Follow", + "schange30": "Unfollow", + "schange31": "Block", + "schange32": "Unblock", + "schange33": "Name to search", + "schange34": "Name can not be empty!", + "schange35": "Search" } } \ No newline at end of file diff --git a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js index 8b945e5e..bd45a6d0 100644 --- a/qortal-ui-plugins/plugins/core/minting/minting-info.src.js +++ b/qortal-ui-plugins/plugins/core/minting/minting-info.src.js @@ -1,7 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' -import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -362,17 +362,8 @@ class MintingInfo extends LitElement { firstUpdated() { this.changeTheme() - - setInterval(() => { - this.changeTheme() - }, 100) - this.changeLanguage() - setInterval(() => { - this.changeLanguage() - }, 100) - const getAdminInfo = () => { parentEpml.request("apiCall", { url: `/admin/info` }).then((res) => { setTimeout(() => { this.adminInfo = res; }, 1); @@ -410,6 +401,20 @@ class MintingInfo extends LitElement { setTimeout(getAddressLevel, 30000); }; + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') + + use(checkLanguage) + + if (checkTheme === 'dark') { + this.theme = 'dark' + } else { + this.theme = 'light' + } + document.querySelector('html').setAttribute('theme', this.theme) + }) + let configLoaded = false; parentEpml.ready().then(() => { diff --git a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js index b1faa934..dfb98b48 100644 --- a/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js +++ b/qortal-ui-plugins/plugins/core/name-registration/name-registration.src.js @@ -1,7 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' -import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -168,33 +168,8 @@ class NameRegistration extends LitElement { firstUpdated() { this.changeTheme() - - setInterval(() => { - this.changeTheme(); - }, 100) - this.changeLanguage() - - setInterval(() => { - this.changeLanguage() - }, 100) - - this.unitFee(); - - window.addEventListener("contextmenu", (event) => { - event.preventDefault(); - this._textMenu(event) - }); - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }); - - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } - } + this.unitFee() const fetchNames = () => { parentEpml.request('apiCall', { @@ -205,6 +180,35 @@ class NameRegistration extends LitElement { setTimeout(fetchNames, this.config.user.nodeSettings.pingInterval) } + window.addEventListener("contextmenu", (event) => { + event.preventDefault() + this._textMenu(event) + }) + + window.addEventListener("click", () => { + parentEpml.request('closeCopyTextMenu', null) + }) + + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') + + use(checkLanguage) + + if (checkTheme === 'dark') { + this.theme = 'dark' + } else { + this.theme = 'light' + } + document.querySelector('html').setAttribute('theme', this.theme) + }) + + window.onkeyup = (e) => { + if (e.keyCode === 27) { + parentEpml.request('closeCopyTextMenu', null) + } + } + let configLoaded = false parentEpml.ready().then(() => { diff --git a/qortal-ui-plugins/plugins/core/qdn/websites.src.js b/qortal-ui-plugins/plugins/core/qdn/websites.src.js index 895afab7..2bc6056d 100644 --- a/qortal-ui-plugins/plugins/core/qdn/websites.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/websites.src.js @@ -1,18 +1,23 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' + +registerTranslateConfig({ + loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) +}) import '@material/mwc-icon' import '@material/mwc-button' import '@material/mwc-tab-bar' import '@material/mwc-textfield' + import '@vaadin/button' import '@vaadin/grid' import '@vaadin/icon' import '@vaadin/icons' import '@vaadin/text-field' - const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) class Websites extends LitElement { @@ -234,41 +239,41 @@ class Websites extends LitElement { return html`
- - - + + +
-

Browse Websites

+

${translate("websitespage.schange1")}

${this.renderPublishButton()}

-

Search Websites

+

${translate("websitespage.schange4")}


- { + { render(html`${this.renderAvatar(data.item)}`, root) }}> - { + { render(html`${this.renderInfo(data.item)}`, root) }}> - { + { render(html`${this.renderPublishedBy(data.item)}`, root) }}> - { + { render(html`${this.renderFollowUnfollowButton(data.item)}`, root); }}> @@ -279,21 +284,21 @@ class Websites extends LitElement {
-

Websites

+

${translate("websitespage.schange9")}

- { + { render(html`${this.renderAvatar(data.item)}`, root) }}> - { + { render(html`${this.renderInfo(data.item)}`, root) }}> - { + { render(html`${this.renderPublishedBy(data.item)}`, root) }}> - { + { render(html`${this.renderFollowUnfollowButton(data.item)}`, root); }}> @@ -307,32 +312,32 @@ class Websites extends LitElement { Loading... `: ''} ${this.isEmptyArray(this.pageRes) ? html` - No websites available + ${translate("websitespage.schange10")} `: ''}
${this.renderRelayModeText()}
-

Your Followed Websites

+

${translate("websitespage.schange11")}

${this.renderPublishButton()}

-

Followed Websites

+

${translate("websitespage.schange12")}

- { + { render(html`${this.renderAvatar(data.item)}`, root) }}> - { + { render(html`${this.renderInfo(data.item)}`, root) }}> - { + { render(html`${this.renderPublishedBy(data.item)}`, root) }}> - { + { render(html`${this.renderFollowUnfollowButton(data.item)}`, root); }}> @@ -345,32 +350,32 @@ class Websites extends LitElement { Loading... `: ''} ${this.isEmptyArray(this.followedResources) ? html` - You aren't following any websites + ${translate("websitespage.schange13")} `: ''}
${this.renderRelayModeText()}
-

Your Blocked Websites

+

${translate("websitespage.schange14")}

${this.renderPublishButton()}

-

Blocked Websites

+

${translate("websitespage.schange15")}

- { + { render(html`${this.renderAvatar(data.item)}`, root) }}> - { + { render(html`${this.renderInfo(data.item)}`, root) }}> - { + { render(html`${this.renderPublishedBy(data.item)}`, root) }}> - { + { render(html`${this.renderFollowUnfollowButton(data.item)}`, root); }}> @@ -383,7 +388,7 @@ class Websites extends LitElement { Loading... `: ''} ${this.isEmptyArray(this.blockedResources) ? html` - You have not blocked any websites + ${translate("websitespage.schange16")} `: ''}
${this.renderRelayModeText()} @@ -396,11 +401,7 @@ class Websites extends LitElement { firstUpdated() { this.changeTheme() - - setInterval(() => { - this.changeTheme(); - }, 100) - + this.changeLanguage() this.showWebsites() setTimeout(() => { @@ -449,6 +450,20 @@ class Websites extends LitElement { } } + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') + + use(checkLanguage) + + if (checkTheme === 'dark') { + this.theme = 'dark' + } else { + this.theme = 'light' + } + document.querySelector('html').setAttribute('theme', this.theme) + }) + let configLoaded = false parentEpml.ready().then(() => { @@ -487,6 +502,21 @@ class Websites extends LitElement { document.querySelector('html').setAttribute('theme', this.theme); } + changeLanguage() { + const checkLanguage = localStorage.getItem('qortalLanguage') + + if (checkLanguage === null || checkLanguage.length === 0) { + localStorage.setItem('qortalLanguage', 'us') + use('us') + } else { + use(checkLanguage) + } + } + + renderCatText() { + return html`${translate("websitespage.schange26")}` + } + displayTabContent(tab) { const tabBrowseContent = this.shadowRoot.getElementById('tab-browse-content') const tabFollowedContent = this.shadowRoot.getElementById('tab-followed-content') @@ -640,13 +670,15 @@ class Websites extends LitElement { async searchResult() { let searchName = this.shadowRoot.getElementById('searchName').value if (searchName.length === 0) { - parentEpml.request('showSnackBar', 'Name Can Not Be Empty!') + let err1string = get("websitespage.schange34") + parentEpml.request('showSnackBar', `${err1string}`) } else { let searchResources = await parentEpml.request('apiCall', { url: `/arbitrary/resources/search?service=${this.service}&query=${searchName}&default=true&limit=5&reverse=false&includestatus=true&includemetadata=true` }) if (this.isEmptyArray(searchResources)) { - parentEpml.request('showSnackBar', 'Name Not Found!') + let err2string = get("websitespage.schange17") + parentEpml.request('showSnackBar', `${err2string}`) } else { this.searchResources = searchResources } @@ -663,10 +695,10 @@ class Websites extends LitElement { renderRelayModeText() { if (this.relayMode === true) { - return html`
Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting "relayModeEnabled": false in settings.json
`; + return html`
${translate("websitespage.schange18")} "relayModeEnabled": false ${translate("websitespage.schange19")} settings.json
`; } else if (this.relayMode === false) { - return html`
Relay mode is disabled. You can enable it by setting "relayModeEnabled": true in settings.json
`; + return html`
${translate("websitespage.schange20")} "relayModeEnabled": true ${translate("websitespage.schange19")} settings.json
`; } return html``; } @@ -677,7 +709,7 @@ class Websites extends LitElement { if (this.followedNames == null || !Array.isArray(this.followedNames)) { return html`` } - return html` this.publishWebsite()}>addPublish Website` + return html` this.publishWebsite()}>add${translate("websitespage.schange21")}` } publishWebsite() { @@ -710,7 +742,8 @@ class Websites extends LitElement { window.location.reload() } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to follow this registered name. Please try again') + let err3string = get("websitespage.schange22") + parentEpml.request('showSnackBar', `${err3string}`) } return ret this.displayTabContent('followed') @@ -739,7 +772,8 @@ class Websites extends LitElement { window.location.reload() } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to unfollow this registered name. Please try again') + let err4string = get("websitespage.schange23") + parentEpml.request('showSnackBar', `${err4string}`) } return ret this.displayTabContent('followed') @@ -771,7 +805,8 @@ class Websites extends LitElement { window.location.reload() } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to block this registered name. Please try again') + let err5string = get("websitespage.schange24") + parentEpml.request('showSnackBar', `${err5string}`) } return ret this.displayTabContent('blocked') @@ -800,7 +835,8 @@ class Websites extends LitElement { window.location.reload() } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to unblock this registered name. Please try again') + let err6string = get("websitespage.schange25") + parentEpml.request('showSnackBar', `${err6string}`) } return ret this.displayTabContent('blocked') @@ -810,7 +846,7 @@ class Websites extends LitElement { let name = websiteObj.name let title = name; let description = ""; - let categoryName = "Uncategorized"; + let categoryName = this.renderCatText(); let tags = ""; let sizeReadable = ""; @@ -838,13 +874,13 @@ class Websites extends LitElement { ${tags.length > 0 ? " | " : ""}  ${tags}  ${sizeReadable.length > 0 ? " | " : ""} -  Size: ${sizeReadable} +  ${translate("websitespage.schange27")}: ${sizeReadable}
`; } renderPublishedBy(websiteObj) { return html`
${websiteObj.name}
-
Status: ${websiteObj.status.title}
`; +
${translate("websitespage.schange28")}: ${websiteObj.status.title}
`; } renderSize(websiteObj) { @@ -865,11 +901,11 @@ class Websites extends LitElement { if (this.followedNames.indexOf(name) === -1) { // render follow button - return html` this.followName(websiteObj)}>add_to_queue Follow` + return html` this.followName(websiteObj)}>add_to_queue ${translate("websitespage.schange29")}` } else { // render unfollow button - return html` this.unfollowName(websiteObj)}>remove_from_queue Unfollow` + return html` this.unfollowName(websiteObj)}>remove_from_queue ${translate("websitespage.schange30")}` } } @@ -883,11 +919,11 @@ class Websites extends LitElement { if (this.blockedNames.indexOf(name) === -1) { // render block button - return html` this.blockName(websiteObj)}>block Block` + return html` this.blockName(websiteObj)}>block ${translate("websitespage.schange31")}` } else { // render unblock button - return html` this.unblockName(websiteObj)}>radio_button_unchecked Unblock` + return html` this.unblockName(websiteObj)}>radio_button_unchecked ${translate("websitespage.schange32")}` } } diff --git a/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js b/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js index 462daaa6..21f15215 100644 --- a/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js +++ b/qortal-ui-plugins/plugins/core/reward-share/reward-share.src.js @@ -1,7 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' -import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -173,25 +173,30 @@ class RewardShare extends LitElement { firstUpdated() { this.changeTheme() - - setInterval(() => { - this.changeTheme(); - }, 100) - this.changeLanguage() - setInterval(() => { - this.changeLanguage() - }, 100) - window.addEventListener("contextmenu", (event) => { - event.preventDefault(); + event.preventDefault() this._textMenu(event) - }); + }) window.addEventListener("click", () => { parentEpml.request('closeCopyTextMenu', null) - }); + }) + + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') + + use(checkLanguage) + + if (checkTheme === 'dark') { + this.theme = 'dark' + } else { + this.theme = 'light' + } + document.querySelector('html').setAttribute('theme', this.theme) + }) window.onkeyup = (e) => { if (e.keyCode === 27) { diff --git a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js index 115b5177..d15fc76f 100644 --- a/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js +++ b/qortal-ui-plugins/plugins/core/trade-portal/trade-portal.src.js @@ -1,7 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' -import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -882,17 +882,7 @@ class TradePortal extends LitElement { let _this = this this.changeTheme() - - setInterval(() => { - this.changeTheme(); - }, 100) - this.changeLanguage() - - setInterval(() => { - this.changeLanguage() - }, 100) - this.updateWalletBalance() setTimeout(() => { @@ -917,23 +907,31 @@ class TradePortal extends LitElement { this.getOpenOrdersGrid() - window.addEventListener( - 'contextmenu', - (event) => { - event.preventDefault() - this._textMenu(event) - }, + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + this._textMenu(event)}, { passive: true } ) - window.addEventListener( - 'click', - () => { - parentEpml.request('closeCopyTextMenu', null) - }, + window.addEventListener('click', () => { + parentEpml.request('closeCopyTextMenu', null)}, { passive: true } ) + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') + + use(checkLanguage) + + if (checkTheme === 'dark') { + this.theme = 'dark' + } else { + this.theme = 'light' + } + document.querySelector('html').setAttribute('theme', this.theme) + }) + window.onkeyup = (e) => { if (e.keyCode === 27) parentEpml.request('closeCopyTextMenu', null) } diff --git a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js index 77520bd3..3323d664 100644 --- a/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js +++ b/qortal-ui-plugins/plugins/core/wallet/wallet-app.src.js @@ -1,7 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' -import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -1155,17 +1155,8 @@ class MultiWallet extends LitElement { firstUpdated() { this.changeTheme() - - setInterval(() => { - this.changeTheme(); - }, 100) - this.changeLanguage() - setInterval(() => { - this.changeLanguage() - }, 100) - setInterval(() => { this.errorMessage = ''; }, 5000) @@ -1195,6 +1186,20 @@ class MultiWallet extends LitElement { } }) + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') + + use(checkLanguage) + + if (checkTheme === 'dark') { + this.theme = 'dark' + } else { + this.theme = 'light' + } + document.querySelector('html').setAttribute('theme', this.theme) + }) + window.onkeyup = (e) => { if (e.keyCode === 27) { parentEpml.request('closeCopyTextMenu', null)