From 56c630436304a874aad588441cd981b828b5309e Mon Sep 17 00:00:00 2001
From: CalDescent <>
Date: Sun, 9 Apr 2023 18:27:31 +0100
Subject: [PATCH 1/9] Added allow-same-origin to iframe (core and UI have
different origins).
---
qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
index 0201cb27..df6a5961 100644
--- a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
+++ b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
@@ -268,7 +268,7 @@ class WebBrowser extends LitElement {
+
+
+
+ this.checkForAuth(e)} ?checked=${store.getState().app.qAPPAutoAuth}>
+
`
}
@@ -99,6 +122,14 @@ class SecurityView extends connect(store)(LitElement) {
stateChanged(state) {
}
+ checkForAuth(e) {
+ if (e.target.checked) {
+ store.dispatch(removeQAPPAutoAuth(false))
+ } else {
+ store.dispatch(allowQAPPAutoAuth(true))
+ }
+ }
+
checkForDownload() {
const checkPass = this.shadowRoot.getElementById('downloadBackupPassword').value
if (checkPass === '') {
From 04c7fbc015ec8f90b7db18c778943d8a1ec14182 Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Thu, 13 Apr 2023 16:34:13 +0200
Subject: [PATCH 4/9] Update us.json
---
qortal-ui-core/language/us.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json
index ec9efb54..c4cb76aa 100644
--- a/qortal-ui-core/language/us.json
+++ b/qortal-ui-core/language/us.json
@@ -634,7 +634,8 @@
"bchange32": "Identifier",
"bchange33": "Instant publish",
"bchange34": "Filename",
- "bchange35": "Do you give this application permission to send coins?"
+ "bchange35": "Do you give this application permission to send coins?",
+ "bchange36": "Do you want to publish instant to QDN without computing proof-of-work?"
},
"datapage": {
"dchange1": "Data Management",
From bc279c87c1f87a0acb97d646be228ca99e1edd50 Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Thu, 13 Apr 2023 16:36:15 +0200
Subject: [PATCH 5/9] add upload instant with fee
---
.../plugins/core/qdn/publish/publish.src.js | 202 +++++++++++-------
1 file changed, 129 insertions(+), 73 deletions(-)
diff --git a/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js b/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js
index 4be8bf2b..705a3782 100644
--- a/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js
+++ b/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js
@@ -10,6 +10,7 @@ registerTranslateConfig({
import '@material/mwc-button'
import '@material/mwc-textfield'
import '@material/mwc-select'
+import '@material/mwc-dialog'
import '@material/mwc-list/mwc-list-item.js'
import '@polymer/paper-progress/paper-progress.js'
@@ -55,6 +56,10 @@ class PublishData extends LitElement {
* {
--mdc-theme-primary: rgb(3, 169, 244);
--mdc-theme-secondary: var(--mdc-theme-primary);
+ --mdc-dialog-content-ink-color: var(--black);
+ --mdc-theme-surface: var(--white);
+ --mdc-dialog-min-width: 400px;
+ --mdc-dialog-max-width: 1024px;
--paper-input-container-focus-color: var(--mdc-theme-primary);
--lumo-primary-text-color: rgb(0, 167, 245);
--lumo-primary-color-50pct: rgba(0, 167, 245, 0.5);
@@ -68,7 +73,6 @@ class PublishData extends LitElement {
--_lumo-grid-secondary-border-color: var(--border2);
}
-
input[type=text] {
padding: 6px 6px 6px 6px;
color: var(--black);
@@ -94,7 +98,10 @@ class PublishData extends LitElement {
}
#publishWrapper .buttons {
- width: auto !important;
+ display: flex;
+ justify-content: space-between;
+ max-width:100%;
+ width:100%;
}
mwc-textfield {
@@ -124,16 +131,24 @@ class PublishData extends LitElement {
.address-bar-button mwc-icon {
width: 30px;
}
+
+ .red {
+ --mdc-theme-primary: #F44336;
+ }
+
+ .green {
+ --mdc-theme-primary: #198754;
+ }
`
}
constructor() {
super()
- this.showName = false;
+ this.showName = false
this.showService = false
this.showIdentifier = false
- this.showMetadata = false
+ this.showMetadata = false
const urlParams = new URLSearchParams(window.location.search)
this.name = urlParams.get('name')
@@ -182,7 +197,7 @@ class PublishData extends LitElement {
setTimeout(() => {
this.names = res
if (res[0] != null) {
- this.myRegisteredName = res[0].name;
+ this.myRegisteredName = res[0].name
}
}, 1)
})
@@ -201,7 +216,7 @@ class PublishData extends LitElement {
const fetchPeersSummary = () => {
parentEpml.request('apiCall', {url: `/peers/summary`}).then(res => {
setTimeout(() => {
- this.portForwardingEnabled = (res.inboundConnections != null && res.inboundConnections > 0);
+ this.portForwardingEnabled = (res.inboundConnections != null && res.inboundConnections > 0)
}, 1)
})
setTimeout(fetchPeersSummary, this.config.user.nodeSettings.pingInterval)
@@ -252,7 +267,7 @@ class PublishData extends LitElement {
this.selectName(e)} style="min-width: 130px; max-width:100%; width:100%;">
- ${this.myRegisteredName}
+ ${this.myRegisteredName}
@@ -269,13 +284,13 @@ class PublishData extends LitElement {
`)}
-
+
-
+
${this.renderUploadField()}
@@ -289,14 +304,22 @@ class PublishData extends LitElement {
${this.successMessage}
${this.loading ? html` ` : ''}
- `
+
+
+ ${translate("browserpage.bchange36")}
${translate("browserpage.bchange29")}
+ this.feeDialogNo(e, false, false)}" class="red">
+ ${translate("general.no")}
+
+ this.feeDialogYes(e, false, true)}" class="green">
+ ${translate("general.yes")}
+
+
+ `
}
firstUpdated() {
@@ -337,11 +360,11 @@ class PublishData extends LitElement {
changeTheme() {
const checkTheme = localStorage.getItem('qortalTheme')
if (checkTheme === 'dark') {
- this.theme = 'dark';
+ this.theme = 'dark'
} else {
- this.theme = 'light';
+ this.theme = 'light'
}
- document.querySelector('html').setAttribute('theme', this.theme);
+ document.querySelector('html').setAttribute('theme', this.theme)
}
changeLanguage() {
@@ -357,7 +380,7 @@ class PublishData extends LitElement {
// Navigation
goBack() {
- window.history.back();
+ window.history.back()
}
@@ -386,8 +409,17 @@ class PublishData extends LitElement {
}
}
+ feeDialogYes(e, preview, fee) {
+ this.doPublish(e, preview, fee)
+ this.shadowRoot.querySelector('#publishWithFeeDialog').close()
+ }
- doPublish(e, preview) {
+ feeDialogNo(e, preview, fee) {
+ this.doPublish(e, preview, fee)
+ this.shadowRoot.querySelector('#publishWithFeeDialog').close()
+ }
+
+ doPublish(e, preview, fee) {
let registeredName = this.shadowRoot.getElementById('registeredName').value
let service = this.shadowRoot.getElementById('service').value
let identifier = this.shadowRoot.getElementById('identifier').value
@@ -397,8 +429,8 @@ class PublishData extends LitElement {
registeredName = this.name
}
- let file;
- let path;
+ let file
+ let path
if (this.uploadType === "file" || this.uploadType === "zip") {
file = this.shadowRoot.getElementById('file').files[0]
@@ -433,11 +465,11 @@ class PublishData extends LitElement {
parentEpml.request('showSnackBar', `${err5string}`)
}
else {
- this.publishData(registeredName, path, file, service, identifier, preview)
+ this.publishData(registeredName, path, file, service, identifier, preview, fee)
}
}
- async publishData(registeredName, path, file, service, identifier, preview) {
+ async publishData(registeredName, path, file, service, identifier, preview, fee) {
this.loading = true
this.btnDisable = true
@@ -463,48 +495,50 @@ class PublishData extends LitElement {
if (validNameRes.error) {
this.errorMessage = "Error: " + validNameRes.message
showError(this.errorMessage)
- throw new Error(this.errorMessage);
+ throw new Error(this.errorMessage)
}
let err6string = get("publishpage.pchange19")
this.generalMessage = `${err6string}`
- let transactionBytes;
- let previewUrlPath;
+ let transactionBytes
+ let previewUrlPath
+
+ let uploadDataRes = await uploadData(registeredName, path, file, preview, fee)
- let uploadDataRes = await uploadData(registeredName, path, file, preview)
if (uploadDataRes.error) {
let err7string = get("publishpage.pchange20")
this.errorMessage = `${err7string}` + uploadDataRes.message
showError(this.errorMessage)
- throw new Error(this.errorMessage);
+ throw new Error(this.errorMessage)
}
else if (uploadDataRes.includes("Error 500 Internal Server Error")) {
let err8string = get("publishpage.pchange21")
this.errorMessage = `${err8string}`
showError(this.errorMessage)
- throw new Error(this.errorMessage);
+ throw new Error(this.errorMessage)
}
if (preview) {
// uploadData() returns preview URL path when in preview mode
- previewUrlPath = uploadDataRes;
- window.location = `../browser/index.html?service=${this.service}&name=Preview&preview=${previewUrlPath}`;
- return;
+ previewUrlPath = uploadDataRes
+ window.location = `../browser/index.html?service=${this.service}&name=Preview&preview=${previewUrlPath}`
+ return
}
else {
// uploadData() returns transaction bytes when not in preview mode
- transactionBytes = uploadDataRes;
+ transactionBytes = uploadDataRes
}
let err9string = get("publishpage.pchange22")
this.generalMessage = `${err9string}`
- let signAndProcessRes = await signAndProcess(transactionBytes)
+ let signAndProcessRes = await signAndProcess(transactionBytes, fee)
+
if (signAndProcessRes.error) {
let err10string = get("publishpage.pchange20")
this.errorMessage = `${err10string}` + signAndProcessRes.message
showError(this.errorMessage)
- throw new Error(this.errorMessage);
+ throw new Error(this.errorMessage)
}
let err11string = get("publishpage.pchange23")
@@ -516,7 +550,7 @@ class PublishData extends LitElement {
this.successMessage = `${err11string}`
}
- const uploadData = async (registeredName, path, file, preview) => {
+ const uploadData = async (registeredName, path, file, preview, fee) => {
let postBody = path
let urlSuffix = ""
if (file != null) {
@@ -532,24 +566,37 @@ class PublishData extends LitElement {
// Base64 encode the file to work around compatibility issues between javascript and java byte arrays
let fileBuffer = new Uint8Array(await file.arrayBuffer())
- postBody = Buffer.from(fileBuffer).toString('base64');
+ postBody = Buffer.from(fileBuffer).toString('base64')
}
// Optional metadata
- let title = encodeURIComponent(this.shadowRoot.getElementById('title').value);
- let description = encodeURIComponent(this.shadowRoot.getElementById('description').value);
- let category = encodeURIComponent(this.shadowRoot.getElementById('category').value);
- let tag1 = encodeURIComponent(this.shadowRoot.getElementById('tag1').value);
- let tag2 = encodeURIComponent(this.shadowRoot.getElementById('tag2').value);
- let tag3 = encodeURIComponent(this.shadowRoot.getElementById('tag3').value);
- let tag4 = encodeURIComponent(this.shadowRoot.getElementById('tag4').value);
- let tag5 = encodeURIComponent(this.shadowRoot.getElementById('tag5').value);
+ let title = encodeURIComponent(this.shadowRoot.getElementById('title').value)
+ let description = encodeURIComponent(this.shadowRoot.getElementById('description').value)
+ let category = encodeURIComponent(this.shadowRoot.getElementById('category').value)
+ let tag1 = encodeURIComponent(this.shadowRoot.getElementById('tag1').value)
+ let tag2 = encodeURIComponent(this.shadowRoot.getElementById('tag2').value)
+ let tag3 = encodeURIComponent(this.shadowRoot.getElementById('tag3').value)
+ let tag4 = encodeURIComponent(this.shadowRoot.getElementById('tag4').value)
+ let tag5 = encodeURIComponent(this.shadowRoot.getElementById('tag5').value)
let metadataQueryString = `title=${title}&description=${description}&category=${category}&tags=${tag1}&tags=${tag2}&tags=${tag3}&tags=${tag4}&tags=${tag5}`
+ let uploadDataUrl = ``
- let uploadDataUrl = `/arbitrary/${this.service}/${registeredName}${urlSuffix}?${metadataQueryString}&apiKey=${this.getApiKey()}&preview=${new Boolean(preview).toString()}`
- if (identifier != null && identifier.trim().length > 0) {
- uploadDataUrl = `/arbitrary/${service}/${registeredName}/${this.identifier}${urlSuffix}?${metadataQueryString}&apiKey=${this.getApiKey()}&preview=${new Boolean(preview).toString()}`
+ if (preview) {
+ uploadDataUrl = `/arbitrary/${this.service}/${registeredName}${urlSuffix}?${metadataQueryString}&apiKey=${this.getApiKey()}&preview=${new Boolean(preview).toString()}`
+ if (identifier != null && identifier.trim().length > 0) {
+ uploadDataUrl = `/arbitrary/${service}/${registeredName}/${this.identifier}${urlSuffix}?${metadataQueryString}&apiKey=${this.getApiKey()}&preview=${new Boolean(preview).toString()}`
+ }
+ } else if (fee) {
+ uploadDataUrl = `/arbitrary/${this.service}/${registeredName}${urlSuffix}?${metadataQueryString}&fee=100000&apiKey=${this.getApiKey()}`
+ if (identifier != null && identifier.trim().length > 0) {
+ uploadDataUrl = `/arbitrary/${service}/${registeredName}/${this.identifier}${urlSuffix}?${metadataQueryString}&fee=100000&apiKey=${this.getApiKey()}`
+ }
+ } else {
+ uploadDataUrl = `/arbitrary/${this.service}/${registeredName}${urlSuffix}?${metadataQueryString}&apiKey=${this.getApiKey()}`
+ if (identifier != null && identifier.trim().length > 0) {
+ uploadDataUrl = `/arbitrary/${service}/${registeredName}/${this.identifier}${urlSuffix}?${metadataQueryString}&apiKey=${this.getApiKey()}`
+ }
}
let uploadDataRes = await parentEpml.request('apiCall', {
@@ -571,38 +618,47 @@ class PublishData extends LitElement {
return convertedBytes
}
- const signAndProcess = async (transactionBytesBase58) => {
+ const signAndProcess = async (transactionBytesBase58, fee) => {
let convertedBytesBase58 = await convertBytesForSigning(transactionBytesBase58)
if (convertedBytesBase58.error) {
let err12string = get("publishpage.pchange20")
this.errorMessage = `${err12string}` + convertedBytesBase58.message
showError(this.errorMessage)
- throw new Error(this.errorMessage);
+ throw new Error(this.errorMessage)
}
- const convertedBytes = window.parent.Base58.decode(convertedBytesBase58);
- const _convertedBytesArray = Object.keys(convertedBytes).map(function (key) { return convertedBytes[key]; });
+ const convertedBytes = window.parent.Base58.decode(convertedBytesBase58)
+ const _convertedBytesArray = Object.keys(convertedBytes).map(function (key) { return convertedBytes[key] })
const convertedBytesArray = new Uint8Array(_convertedBytesArray)
const convertedBytesHash = new window.parent.Sha256().process(convertedBytesArray).finish().result
- const hashPtr = window.parent.sbrk(32, window.parent.heap);
- const hashAry = new Uint8Array(window.parent.memory.buffer, hashPtr, 32);
- hashAry.set(convertedBytesHash);
+ const hashPtr = window.parent.sbrk(32, window.parent.heap)
+ const hashAry = new Uint8Array(window.parent.memory.buffer, hashPtr, 32)
+ hashAry.set(convertedBytesHash)
- const difficulty = 14;
- const workBufferLength = 8 * 1024 * 1024;
- const workBufferPtr = window.parent.sbrk(workBufferLength, window.parent.heap);
+ const difficulty = 14
+ const workBufferLength = 8 * 1024 * 1024
+ const workBufferPtr = window.parent.sbrk(workBufferLength, window.parent.heap)
- this.errorMessage = '';
- this.successMessage = '';
+ this.errorMessage = ''
+ this.successMessage = ''
let nonce = window.parent.computePow(hashPtr, workBufferPtr, workBufferLength, difficulty)
+ let response = false
- let response = await parentEpml.request('sign_arbitrary', {
- nonce: this.selectedAddress.nonce,
- arbitraryBytesBase58: transactionBytesBase58,
- arbitraryBytesForSigningBase58: convertedBytesBase58,
- arbitraryNonce: nonce
- })
+ if (fee) {
+ response = await parentEpml.request('sign_arbitrary_with_fee', {
+ nonce: this.selectedAddress.nonce,
+ arbitraryBytesBase58: transactionBytesBase58,
+ arbitraryBytesForSigningBase58: convertedBytesBase58
+ })
+ } else {
+ response = await parentEpml.request('sign_arbitrary', {
+ nonce: this.selectedAddress.nonce,
+ arbitraryBytesBase58: transactionBytesBase58,
+ arbitraryBytesForSigningBase58: convertedBytesBase58,
+ arbitraryNonce: nonce
+ })
+ }
let myResponse = { error: '' }
if (response === false) {
@@ -641,7 +697,7 @@ class PublishData extends LitElement {
fetchResourceMetadata() {
- let identifier = this.identifier != null ? this.identifier : "default";
+ let identifier = this.identifier != null ? this.identifier : "default"
parentEpml.request('apiCall', {
url: `/arbitrary/metadata/${this.service}/${this.name}/${identifier}?apiKey=${this.getApiKey()}`
@@ -650,10 +706,10 @@ class PublishData extends LitElement {
setTimeout(() => {
this.metadata = res
if (this.metadata != null && this.metadata.category != null) {
- this.shadowRoot.getElementById('category').value = this.metadata.category;
+ this.shadowRoot.getElementById('category').value = this.metadata.category
}
else {
- this.shadowRoot.getElementById('category').value = "";
+ this.shadowRoot.getElementById('category').value = ""
}
}, 1)
})
@@ -666,13 +722,13 @@ class PublishData extends LitElement {
if (name.value.length > 0) {
this.name = (name.value)
}
- this.fetchResourceMetadata();
+ this.fetchResourceMetadata()
}
getApiKey() {
- const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];
- let apiKey = myNode.apiKey;
- return apiKey;
+ const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
+ let apiKey = myNode.apiKey
+ return apiKey
}
clearSelection() {
From 61b4a49fdb1a76f37c963b3ed824f4381e6a68c2 Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Fri, 14 Apr 2023 10:41:03 +0200
Subject: [PATCH 6/9] Update us.json
---
qortal-ui-core/language/us.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json
index c4cb76aa..33ce763e 100644
--- a/qortal-ui-core/language/us.json
+++ b/qortal-ui-core/language/us.json
@@ -597,7 +597,8 @@
"pchange22": "Computing proof of work... this can take some time...",
"pchange23": "Transaction successful!",
"pchange24": "Unable to sign and process transaction",
- "pchange25": "Choose File"
+ "pchange25": "Choose File",
+ "pchange26": "Uploading data... this can take some time..."
},
"browserpage": {
"bchange1": "Forward",
From 16d98aced8fb824360e83fc0ea1f335adb0d324f Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Fri, 14 Apr 2023 10:42:35 +0200
Subject: [PATCH 7/9] Update publish.src.js
---
.../plugins/core/qdn/publish/publish.src.js | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js b/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js
index 705a3782..602704d1 100644
--- a/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js
+++ b/qortal-ui-plugins/plugins/core/qdn/publish/publish.src.js
@@ -529,8 +529,13 @@ class PublishData extends LitElement {
transactionBytes = uploadDataRes
}
- let err9string = get("publishpage.pchange22")
- this.generalMessage = `${err9string}`
+ if (fee) {
+ let err9string = get("publishpage.pchange26")
+ this.generalMessage = `${err9string}`
+ } else {
+ let err9string = get("publishpage.pchange22")
+ this.generalMessage = `${err9string}`
+ }
let signAndProcessRes = await signAndProcess(transactionBytes, fee)
From dd801ff68f98ad58bdd317ef1af6f0409f18c40c Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Fri, 14 Apr 2023 12:35:35 +0200
Subject: [PATCH 8/9] Update Translations
---
qortal-ui-core/language/de.json | 12 ++++++++++--
qortal-ui-core/language/es.json | 12 ++++++++++--
qortal-ui-core/language/fr.json | 12 ++++++++++--
qortal-ui-core/language/hindi.json | 12 ++++++++++--
qortal-ui-core/language/hr.json | 12 ++++++++++--
qortal-ui-core/language/hu.json | 12 ++++++++++--
qortal-ui-core/language/it.json | 12 ++++++++++--
qortal-ui-core/language/ko.json | 12 ++++++++++--
qortal-ui-core/language/no.json | 12 ++++++++++--
qortal-ui-core/language/pl.json | 12 ++++++++++--
qortal-ui-core/language/pt.json | 12 ++++++++++--
qortal-ui-core/language/ro.json | 12 ++++++++++--
qortal-ui-core/language/rs.json | 12 ++++++++++--
qortal-ui-core/language/ru.json | 12 ++++++++++--
qortal-ui-core/language/zhc.json | 12 ++++++++++--
qortal-ui-core/language/zht.json | 12 ++++++++++--
16 files changed, 160 insertions(+), 32 deletions(-)
diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json
index 253020f4..b8b04d8a 100644
--- a/qortal-ui-core/language/de.json
+++ b/qortal-ui-core/language/de.json
@@ -596,7 +596,8 @@
"pchange22": "Berechnung des Arbeitsnachweises ... dies kann einige Zeit dauern ...",
"pchange23": "Transaktion Erfolgreich!",
"pchange24": "Transaktion kann nicht signiert und verarbeitet werden",
- "pchange25": "Datei wählen"
+ "pchange25": "Datei wählen",
+ "pchange26": "Daten werden hochgeladen... dies kann einige Zeit dauern..."
},
"browserpage": {
"bchange1": "Vorwärts",
@@ -627,7 +628,14 @@
"bchange26": "Immer automatisch authentifizieren",
"bchange27": "Ablehnen",
"bchange28": "Akzeptieren",
- "bchange29": "Sofortige Veröffentlichung (erfordert 0,001 QORT-Gebühr)"
+ "bchange29": "Sofortige Veröffentlichung (erfordert 0,001 QORT-Gebühr)",
+ "bchange30": "Dienst",
+ "bchange31": "Name",
+ "bchange32": "Kennung",
+ "bchange33": "Sofortige Veröffentlichung",
+ "bchange34": "Dateiname",
+ "bchange35": "Erteilen Sie dieser Anwendung die Erlaubnis, Coins zu senden?",
+ "bchange36": "Möchten Sie sofort auf QDN veröffentlichen, ohne einen Proof-of-Work zu berechnen?"
},
"datapage": {
"dchange1": "Datenmanagement",
diff --git a/qortal-ui-core/language/es.json b/qortal-ui-core/language/es.json
index 52be60fe..c4b25b94 100644
--- a/qortal-ui-core/language/es.json
+++ b/qortal-ui-core/language/es.json
@@ -596,7 +596,8 @@
"pchange22": "Computando prueba de trabajo... esto puede tomar un tiempo...",
"pchange23": "Transacción realizada con éxito!",
"pchange24": "No se pudo firmar y procesar la transacción",
- "pchange25": "Elegir archivo"
+ "pchange25": "Elegir archivo",
+ "pchange26": "Cargando datos... esto puede llevar algo de tiempo..."
},
"browserpage": {
"bchange1": "Avanzar",
@@ -627,7 +628,14 @@
"bchange26": "Autenticar siempre automáticamente",
"bchange27": "Rechazar",
"bchange28": "Aceptar",
- "bchange29": "Publicación instantánea (requiere una tarifa de 0.001 QORT)"
+ "bchange29": "Publicación instantánea (requiere una tarifa de 0.001 QORT)",
+ "bchange30": "Servicio",
+ "bchange31": "Nombre",
+ "bchange32": "Identificador",
+ "bchange33": "Publicación instantánea",
+ "bchange34": "Nombre de archivo",
+ "bchange35": "¿Le das permiso a esta aplicación para enviar monedas?",
+ "bchange36": "¿Desea publicar instantáneamente en QDN sin calcular la prueba de trabajo?"
},
"datapage": {
"dchange1": "Gestión de datos",
diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json
index cea21ca9..568be163 100644
--- a/qortal-ui-core/language/fr.json
+++ b/qortal-ui-core/language/fr.json
@@ -596,7 +596,8 @@
"pchange22": "Calcul de la preuve de travail... cela peut prendre un certain temps...",
"pchange23": "Transaction réussie!",
"pchange24": "Impossible de signer et de traiter la transaction",
- "pchange25": "Choisissez un fichier"
+ "pchange25": "Choisissez un fichier",
+ "pchange26": "Télécharger des données... cela peut prendre un certain temps..."
},
"browserpage": {
"bchange1": "En avant",
@@ -627,7 +628,14 @@
"bchange26": "Toujours s'authentifier automatiquement",
"bchange27": "Rejeter",
"bchange28": "Accepter",
- "bchange29": "Publication instantanée (nécessite des frais de 0,001 QORT)"
+ "bchange29": "Publication instantanée (nécessite des frais de 0,001 QORT)",
+ "bchange30": "Service",
+ "bchange31": "Nom",
+ "bchange32": "Identifiant",
+ "bchange33": "Publication instantanée",
+ "bchange34": "Nom de fichier",
+ "bchange35": "Autorisez-vous cette application à envoyer des pièces ?",
+ "bchange36": "Voulez-vous publier instantanément sur QDN sans calculer de preuve de travail ?"
},
"datapage": {
"dchange1": "Gestion de données",
diff --git a/qortal-ui-core/language/hindi.json b/qortal-ui-core/language/hindi.json
index 459c7b5b..38444556 100644
--- a/qortal-ui-core/language/hindi.json
+++ b/qortal-ui-core/language/hindi.json
@@ -597,7 +597,8 @@
"pchange22": "काम का सबूत कंप्यूटिंग... इसमें कुछ समय लग सकता है...",
"pchange23": "लेनदेन सफल!",
"pchange24": "लेन-देन पर हस्ताक्षर करने और संसाधित करने में असमर्थ",
- "pchange25": "फ़ाइल चुनें"
+ "pchange25": "फ़ाइल चुनें",
+ "pchange26": "डेटा अपलोड हो रहा है... इसमें कुछ समय लग सकता है..."
},
"browserpage": {
"bchange1": "आगे भेजना",
@@ -628,7 +629,14 @@
"bchange26": "हमेशा स्वचालित रूप से प्रमाणित करें",
"bchange27": "अस्वीकार करें",
"bchange28": "स्वीकार करें",
- "bchange29": "तत्काल प्रकाशन (0.001 QORT शुल्क की आवश्यकता है)"
+ "bchange29": "तत्काल प्रकाशन (0.001 QORT शुल्क की आवश्यकता है)",
+ "bchange30": "सेवा",
+ "bchange31": "नाम",
+ "bchange32": "पहचानकर्ता",
+ "bchange33": "तत्काल प्रकाशन",
+ "bchange34": "फ़ाइल का नाम",
+ "bchange35": "क्या आप इस एप्लिकेशन को सिक्के भेजने की अनुमति देते हैं?",
+ "bchange36": "क्या आप कार्य-प्रमाण की गणना किए बिना QDN पर तुरंत प्रकाशित करना चाहते हैं?"
},
"datapage": {
"dchange1": "डाटा प्रबंधन",
diff --git a/qortal-ui-core/language/hr.json b/qortal-ui-core/language/hr.json
index 8746ca9a..94de36a4 100644
--- a/qortal-ui-core/language/hr.json
+++ b/qortal-ui-core/language/hr.json
@@ -596,7 +596,8 @@
"pchange22": "Računalni dokaz o poslu ... ovo može potrajati neko vrijeme ...",
"pchange23": "Transakcija uspješna!",
"pchange24": "Nije moguće potpisati i obraditi transakciju",
- "pchange25": "Odaberite datoteku"
+ "pchange25": "Odaberite datoteku",
+ "pchange26": "Učitavanje podataka... ovo može potrajati..."
},
"browserpage": {
"bchange1": "Naprijed",
@@ -627,7 +628,14 @@
"bchange26": "Uvijek autentificiraj automatski",
"bchange27": "Odbaci",
"bchange28": "Prihvati",
- "bchange29": "Trenutno objavljivanje (zahtijeva naknadu od 0,001 QORT)"
+ "bchange29": "Trenutno objavljivanje (zahtijeva naknadu od 0,001 QORT)",
+ "bchange30": "Usluga",
+ "bchange31": "Ime",
+ "bchange32": "Identifikator",
+ "bchange33": "Trenutno objavljivanje",
+ "bchange34": "Naziv datoteke",
+ "bchange35": "Dajete li ovoj aplikaciji dopuštenje za slanje novčića?",
+ "bchange36": "Želite li objaviti instant na QDN bez izračunavanja dokaza o radu?"
},
"datapage": {
"dchange1": "Upravljanje podacima",
diff --git a/qortal-ui-core/language/hu.json b/qortal-ui-core/language/hu.json
index f39e5a6f..f1d202f7 100644
--- a/qortal-ui-core/language/hu.json
+++ b/qortal-ui-core/language/hu.json
@@ -596,7 +596,8 @@
"pchange22": "A munka igazolásának számítása... Ez eltarthat egy ideig...",
"pchange23": "A tranzakció sikeres!",
"pchange24": "Nem lehet aláírni és feldolgozni a tranzakciót",
- "pchange25": "Fájl Kiválasztása"
+ "pchange25": "Fájl Kiválasztása",
+ "pchange26": "Adatok feltöltése... ez eltarthat egy ideig..."
},
"browserpage": {
"bchange1": "Előre",
@@ -627,7 +628,14 @@
"bchange26": "Mindig automatikus hitelesítés",
"bchange27": "Elutasítás",
"bchange28": "Elfogadás",
- "bchange29": "Azonnali közzététel (0,001 QORT díj szükséges)"
+ "bchange29": "Azonnali közzététel (0,001 QORT díj szükséges)",
+ "bchange30": "Szolgáltatás",
+ "bchange31": "Név",
+ "bchange32": "Azonosító",
+ "bchange33": "Azonnali közzététel",
+ "bchange34": "Fájlnév",
+ "bchange35": "Engedélyt ad ennek az alkalmazásnak érmék küldésére?",
+ "bchange36": "Szeretne azonnal közzétenni a QDN-ben a munkaigazolás kiszámítása nélkül?"
},
"datapage": {
"dchange1": "Adatkezelés",
diff --git a/qortal-ui-core/language/it.json b/qortal-ui-core/language/it.json
index 9dbdafbf..9990dab9 100644
--- a/qortal-ui-core/language/it.json
+++ b/qortal-ui-core/language/it.json
@@ -596,7 +596,8 @@
"pchange22": "Prova di calcolo del lavoro... questo può richiedere del tempo...",
"pchange23": "Transazione riuscita!",
"pchange24": "Impossibile firmare ed elaborare la transazione",
- "pchange25": "Scegli file"
+ "pchange25": "Scegli file",
+ "pchange26": "Caricamento dei dati... questo può richiedere del tempo..."
},
"browserpage": {
"bchange1": "Avanti",
@@ -627,7 +628,14 @@
"bchange26": "Autenticati sempre automaticamente",
"bchange27": "Rifiuta",
"bchange28": "Accetta",
- "bchange29": "Pubblicazione istantanea (richiede una quota di 0,001 QORT)"
+ "bchange29": "Pubblicazione istantanea (richiede una quota di 0,001 QORT)",
+ "bchange30": "Servizio",
+ "bchange31": "Nome",
+ "bchange32": "Identificativo",
+ "bchange33": "Pubblicazione istantanea",
+ "bchange34": "Nome file",
+ "bchange35": "Concedi a questa applicazione il permesso di inviare monete?",
+ "bchange36": "Vuoi pubblicare istantaneamente su QDN senza calcolare la prova del lavoro?"
},
"datapage": {
"dchange1": "Gestione dati",
diff --git a/qortal-ui-core/language/ko.json b/qortal-ui-core/language/ko.json
index 02d8cedf..e071b9f0 100644
--- a/qortal-ui-core/language/ko.json
+++ b/qortal-ui-core/language/ko.json
@@ -596,7 +596,8 @@
"pchange22": "작업 증명 계산 중... 시간이 좀 걸릴 수 있어...",
"pchange23": "트랜잭션이 성공했습니다!",
"pchange24": "트랜잭션 서명 및 처리 불가",
- "pchange25": "파일 선택"
+ "pchange25": "파일 선택",
+ "pchange26": "데이터 업로드 중... 시간이 좀 걸릴 수 있습니다..."
},
"browserpage": {
"bchange1": "앞으로",
@@ -627,7 +628,14 @@
"bchange26": "항상 자동으로 인증",
"bchange27": "거부",
"bchange28": "수락",
- "bchange29": "즉시 게시(0.001QORT 수수료 필요)"
+ "bchange29": "즉시 게시(0.001QORT 수수료 필요)",
+ "bchange30": "서비스",
+ "bchange31": "이름",
+ "bchange32": "식별자",
+ "bchange33": "즉시 게시",
+ "bchange34": "파일 이름",
+ "bchange35": "이 애플리케이션에 코인을 보낼 수 있는 권한을 부여하시겠습니까?",
+ "bchange36": "작업 증명을 계산하지 않고 QDN에 즉시 게시하시겠습니까?"
},
"datapage": {
"dchange1": "데이터 관리",
diff --git a/qortal-ui-core/language/no.json b/qortal-ui-core/language/no.json
index e09f8292..d8952d51 100644
--- a/qortal-ui-core/language/no.json
+++ b/qortal-ui-core/language/no.json
@@ -596,7 +596,8 @@
"pchange22": "Databehandler proof of work... dette kan ta litt tid...",
"pchange23": "Transaksjon vellykket!",
"pchange24": "Kan ikke signere og behandle transaksjonen",
- "pchange25": "Velg fil"
+ "pchange25": "Velg fil",
+ "pchange26": "Laster opp data... dette kan ta litt tid..."
},
"browserpage": {
"bchange1": "Frem",
@@ -627,7 +628,14 @@
"bchange26": "Autentiser alltid automatisk",
"bchange27": "Avvis",
"bchange28": "Godta",
- "bchange29": "Øyeblikkelig publisering (krever 0,001 QORT-avgift)"
+ "bchange29": "Øyeblikkelig publisering (krever 0,001 QORT-avgift)",
+ "bchange30": "Tjeneste",
+ "bchange31": "Navn",
+ "bchange32": "Identifikator",
+ "bchange33": "Øyeblikkelig publisering",
+ "bchange34": "Filnavn",
+ "bchange35": "Gir du denne applikasjonen tillatelse til å sende mynter?",
+ "bchange36": "Vil du publisere øyeblikkelig til QDN uten å regne ut bevis på arbeid?"
},
"datapage": {
"dchange1": "Data-administrasjon",
diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json
index edf68d4b..1a3d0bcb 100644
--- a/qortal-ui-core/language/pl.json
+++ b/qortal-ui-core/language/pl.json
@@ -596,7 +596,8 @@
"pchange22": "Obliczanie dowodu pracy... może to zająć trochę czasu...",
"pchange23": "Transakcja powiodła się!",
"pchange24": "Nie można podpisać i przetworzyć transakcji",
- "pchange25": "Wybierz plik"
+ "pchange25": "Wybierz plik",
+ "pchange26": "Ładowanie danych... może to trochę potrwać..."
},
"browserpage": {
"bchange1": "Naprzód",
@@ -627,7 +628,14 @@
"bchange26": "Zawsze uwierzytelniaj automatycznie",
"bchange27": "Odrzuć",
"bchange28": "Akceptuj",
- "bchange29": "Natychmiastowa publikacja (wymagana opłata QORT 0,001)"
+ "bchange29": "Natychmiastowa publikacja (wymagana opłata QORT 0,001)",
+ "bchange30": "Usługa",
+ "bchange31": "Nazwa",
+ "bchange32": "Identyfikator",
+ "bchange33": "Natychmiastowa publikacja",
+ "bchange34": "Nazwa pliku",
+ "bchange35": "Czy zezwalasz tej aplikacji na wysyłanie monet?",
+ "bchange36": "Czy chcesz natychmiast opublikować w QDN bez obliczania dowodu pracy?"
},
"datapage": {
"dchange1": "Zarządzanie danymi",
diff --git a/qortal-ui-core/language/pt.json b/qortal-ui-core/language/pt.json
index 979c7f9c..81f3d193 100644
--- a/qortal-ui-core/language/pt.json
+++ b/qortal-ui-core/language/pt.json
@@ -596,7 +596,8 @@
"pchange22": "Computando prova de trabalho... isso pode levar algum tempo...",
"pchange23": "Transação bem sucedida!",
"pchange24": "Não foi possível assinar e processar a transação",
- "pchange25": "Escolha um Arqivo"
+ "pchange25": "Escolha um Arqivo",
+ "pchange26": "Carregando dados... isso pode levar algum tempo..."
},
"browserpage": {
"bchange1": "Encaminhar",
@@ -627,7 +628,14 @@
"bchange26": "Sempre autenticar automaticamente",
"bchange27": "Rejeitar",
"bchange28": "Aceitar",
- "bchange29": "Publicação instantânea (requer taxa QORT de 0,001)"
+ "bchange29": "Publicação instantânea (requer taxa QORT de 0,001)",
+ "bchange30": "Serviço",
+ "bchange31": "Nome",
+ "bchange32": "Identificador",
+ "bchange33": "Publicação instantânea",
+ "bchange34": "Nome do arquivo",
+ "bchange35": "Você dá permissão a este aplicativo para enviar moedas?",
+ "bchange36": "Deseja publicar instantaneamente em QDN sem calcular a prova de trabalho?"
},
"datapage": {
"dchange1": "Gerenciamento de Dados",
diff --git a/qortal-ui-core/language/ro.json b/qortal-ui-core/language/ro.json
index 4204be46..f62b2f8f 100644
--- a/qortal-ui-core/language/ro.json
+++ b/qortal-ui-core/language/ro.json
@@ -596,7 +596,8 @@
"pchange22": "Se calculeaza evidenta contributiei in retea... acest lucru poate dura ceva timp...",
"pchange23": "Tranzactie reusita!",
"pchange24": "Nu s-a putut semna si procesa tranzactia",
- "pchange25": "Alege fisier"
+ "pchange25": "Alege fisier",
+ "pchange26": "Încărcarea datelor... poate dura ceva timp..."
},
"browserpage": {
"bchange1": "Inainte",
@@ -627,7 +628,14 @@
"bchange26": "Autentificați-vă întotdeauna automat",
"bchange27": "Respinge",
"bchange28": "Accept",
- "bchange29": "Publicare instantanee (necesită o taxă QORT de 0,001)"
+ "bchange29": "Publicare instantanee (necesită o taxă QORT de 0,001)",
+ "bchange30": "Serviciul",
+ "bchange31": "Nume",
+ "bchange32": "Identificator",
+ "bchange33": "Publicare instantanee",
+ "bchange34": "Nume fișier",
+ "bchange35": "Acordați acestei aplicații permisiunea de a trimite monede?",
+ "bchange36": "Doriți să publicați instant în QDN fără a calcula dovada de lucru?"
},
"datapage": {
"dchange1": "Gestionare date",
diff --git a/qortal-ui-core/language/rs.json b/qortal-ui-core/language/rs.json
index 8d0763f0..d51aa26a 100644
--- a/qortal-ui-core/language/rs.json
+++ b/qortal-ui-core/language/rs.json
@@ -596,7 +596,8 @@
"pchange22": "Proračunavanje dokaza o radu... ovo može potrajati...",
"pchange23": "Transakcija uspešna!",
"pchange24": "Nemogućnost potpisa i izvršenja transakcije",
- "pchange25": "Izaberite Datoteku"
+ "pchange25": "Izaberite Datoteku",
+ "pchange26": "Otpremanje podataka... ovo može potrajati..."
},
"browserpage": {
"bchange1": "Prosledite",
@@ -627,7 +628,14 @@
"bchange26": "Uvek automatski autentifikovati",
"bchange27": "Odbaci",
"bchange28": "Prihvatam",
- "bchange29": "Trenutno objavljivanje (zahteva 0,001 QORT naknade)"
+ "bchange29": "Trenutno objavljivanje (zahteva 0,001 QORT naknade)",
+ "bchange30": "Usluga",
+ "bchange31": "Ime",
+ "bchange32": "Identifikator",
+ "bchange33": "Objavljivanje odmah",
+ "bchange34": "Ime datoteke",
+ "bchange35": "Da li ovoj aplikaciji dajete dozvolu za slanje novčića?",
+ "bchange36": "Da li želite da objavite instant na QDN bez izračunavanja dokaza o radu?"
},
"datapage": {
"dchange1": "Upravljanje podacima",
diff --git a/qortal-ui-core/language/ru.json b/qortal-ui-core/language/ru.json
index ae04ae3d..9046fcfd 100644
--- a/qortal-ui-core/language/ru.json
+++ b/qortal-ui-core/language/ru.json
@@ -596,7 +596,8 @@
"pchange22": "Вычисление доказательства работы... это может занять некоторое время...",
"pchange23": "Транзакция прошла успешно!",
"pchange24": "Невозможно подписать и обработать транзакцию",
- "pchange25": "Выбрать файл"
+ "pchange25": "Выбрать файл",
+ "pchange26": "Выгрузка данных... это может занять некоторое время..."
},
"browserpage": {
"bchange1": "Вперед",
@@ -627,7 +628,14 @@
"bchange26": "Всегда аутентифицироваться автоматически",
"bchange27": "Отклонить",
"bchange28": "Принять",
- "bchange29": "Мгновенная публикация (требуется плата в размере 0,001 QORT)"
+ "bchange29": "Мгновенная публикация (требуется плата в размере 0,001 QORT)",
+ "bchange30": "Сервис",
+ "bchange31": "Имя",
+ "bchange32": "Идентификатор",
+ "bchange33": "Мгновенная публикация",
+ "bchange34": "Имя файла",
+ "bchange35": "Вы разрешаете этому приложению отправлять монеты?",
+ "bchange36": "Вы хотите опубликовать мгновенную публикацию в QDN без вычисления доказательства работы?"
},
"datapage": {
"dchange1": "Управление данными",
diff --git a/qortal-ui-core/language/zhc.json b/qortal-ui-core/language/zhc.json
index 38c9eedd..24990890 100644
--- a/qortal-ui-core/language/zhc.json
+++ b/qortal-ui-core/language/zhc.json
@@ -596,7 +596,8 @@
"pchange22": "计算工作量证明中... 请稍等...",
"pchange23": "发布成功!",
"pchange24": "发布失败!",
- "pchange25": "选择文件"
+ "pchange25": "选择文件",
+ "pchange26": "正在上传数据...这可能需要一些时间..."
},
"browserpage": {
"bchange1": "下一页",
@@ -627,7 +628,14 @@
"bchange26": "始终自动验证",
"bchange27": "拒绝",
"bchange28": "接受",
- "bchange29": "即时发布(需要 0.001 QORT 费用)"
+ "bchange29": "即时发布(需要 0.001 QORT 费用)",
+ "bchange30": "服务",
+ "bchange31": "姓名",
+ "bchange32": "标识符",
+ "bchange33": "即时发布",
+ "bchange34": "文件名",
+ "bchange35": "你允许这个应用程序发送硬币吗?",
+ "bchange36": "你想在不计算工作证明的情况下即时发布到 QDN 吗?"
},
"datapage": {
"dchange1": "资料管理",
diff --git a/qortal-ui-core/language/zht.json b/qortal-ui-core/language/zht.json
index d8a44903..fb665b06 100644
--- a/qortal-ui-core/language/zht.json
+++ b/qortal-ui-core/language/zht.json
@@ -596,7 +596,8 @@
"pchange22": "計算工作量證明中... 請稍等...",
"pchange23": "發佈成功!",
"pchange24": "發佈失敗!",
- "pchange25": "選擇文件"
+ "pchange25": "選擇文件",
+ "pchange26": "正在上傳數據...這可能需要一些時間..."
},
"browserpage": {
"bchange1": "下一頁",
@@ -627,7 +628,14 @@
"bchange26": "始終自動驗證",
"bchange27": "拒絕",
"bchange28": "接受",
- "bchange29": "即時發布(需要 0.001 QORT 費用)"
+ "bchange29": "即時發布(需要 0.001 QORT 費用)",
+ "bchange30": "服務",
+ "bchange31": "姓名",
+ "bchange32": "標識符",
+ "bchange33": "即時發布",
+ "bchange34": "文件名",
+ "bchange35": "你允許這個應用程序發送硬幣嗎?",
+ "bchange36": "你想在不計算工作證明的情況下即時發佈到 QDN 嗎?"
},
"datapage": {
"dchange1": "資料管理",
From 670df9457db83d57ac7127ad84b89aba5778a84c Mon Sep 17 00:00:00 2001
From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com>
Date: Fri, 14 Apr 2023 16:51:39 +0200
Subject: [PATCH 9/9] Added fullscreen function
---
.../plugins/core/qdn/browser/browser.src.js | 109 ++++++++++++------
1 file changed, 75 insertions(+), 34 deletions(-)
diff --git a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
index 6c1e02d7..8e69858b 100644
--- a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
+++ b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js
@@ -244,42 +244,81 @@ class WebBrowser extends LitElement {
render() {
return html`
-
-
-
- this.goBack()} title="${translate(
- 'general.back'
- )}" class="address-bar-button">arrow_back_ios
- this.goForward()} title="${translate(
- 'browserpage.bchange1'
- )}" class="address-bar-button">arrow_forward_ios
- this.refresh()} title="${translate(
- 'browserpage.bchange2'
- )}" class="address-bar-button">refresh
- this.goBackToList()} title="${translate(
- 'browserpage.bchange3'
- )}" class="address-bar-button">home
-
- this.delete()} title="${translate(
- 'browserpage.bchange4'
- )} ${this.service} ${this.name} ${translate(
- 'browserpage.bchange5'
- )}" class="address-bar-button float-right">delete
- ${this.renderBlockUnblockButton()}
- ${this.renderFollowUnfollowButton()}
-
-
-
+
+
+
+ this.goBack()} title="${translate('general.back')}" class="address-bar-button">arrow_back_ios
+ this.goForward()} title="${translate('browserpage.bchange1')}" class="address-bar-button">arrow_forward_ios
+ this.refresh()} title="${translate('browserpage.bchange2')}" class="address-bar-button">refresh
+ this.goBackToList()} title="${translate('browserpage.bchange3')}" class="address-bar-button">home
+
+ ${this.renderFullScreen()}
+ this.delete()} title="${translate('browserpage.bchange4')} ${this.service} ${this.name} ${translate('browserpage.bchange5')}" class="address-bar-button float-right">delete
+ ${this.renderBlockUnblockButton()}
+ ${this.renderFollowUnfollowButton()}
+
+
+
+
-
- `;
+ `;
+ }
+
+ renderFullScreen() {
+ if (window.innerHeight == screen.height) {
+ return html`
+
this.exitFullScreen()}
+ title="${translate('browserpage.bchange9')} ${this.name}"
+ class="address-bar-button float-right"
+ >
+ fullscreen_exit
+
+ `
+ } else {
+ return html`
+
this.goFullScreen()}
+ title="${translate('browserpage.bchange9')} ${this.name}"
+ class="address-bar-button float-right"
+ >
+ fullscreen
+
+ `
+ }
+ }
+
+ goFullScreen() {
+ var elem = this.shadowRoot.getElementById('websitesWrapper')
+
+ if (elem.requestFullscreen) {
+ elem.requestFullscreen()
+ } else if (elem.mozRequestFullScreen) {
+ elem.mozRequestFullScreen()
+ } else if (elem.webkitRequestFullscreen) {
+ elem.webkitRequestFullscreen()
+ } else if (elem.msRequestFullscreen) {
+ elem.msRequestFullscreen()
+ }
+
+ this.renderFullScreen()
+ }
+
+ exitFullScreen() {
+ if(document.exitFullscreen) {
+ document.exitFullscreen()
+ } else if (document.mozCancelFullScreen) {
+ document.mozCancelFullScreen()
+ } else if (document.webkitExitFullscreen) {
+ document.webkitExitFullscreen()
+ } else if (document.msExitFullscreen) {
+ document.msExitFullscreen()
+ }
+
+ this.renderFullScreen()
}
async unitJoinFee() {
@@ -2168,9 +2207,11 @@ class WebBrowser extends LitElement {
goBackToList() {
if (this.service == "APP") {
+ this.exitFullScreen()
window.location = '../../q-app/index.html';
}
else { // Default to websites list
+ this.exitFullScreen()
window.location = '../index.html';
}
}