From e8b7cc7d7bed03055c73a63cd35a710b9e30fa9b Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sun, 9 Jan 2022 13:11:41 +0100 Subject: [PATCH] Add Save Nodes Local --- .../functional-components/settings-page.js | 66 ++++++++++++------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/qortal-ui-core/src/functional-components/settings-page.js b/qortal-ui-core/src/functional-components/settings-page.js index c12bd89d..37acffab 100644 --- a/qortal-ui-core/src/functional-components/settings-page.js +++ b/qortal-ui-core/src/functional-components/settings-page.js @@ -39,14 +39,10 @@ class SettingsPage extends connect(store)(LitElement) { render() { return html` - -
- this.nodeSelected(e)} style="min-width: 130px; max-width:100%; width:100%;"> + ${this.nodeConfig.knownNodes.map((n, index) => html` ${n.protocol + '://' + n.domain + ':' + n.port} `)} @@ -54,17 +50,17 @@ class SettingsPage extends connect(store)(LitElement) {

Select a node from the default list of nodes above or add a custom node to the list above by clicking on the button below

- this.shadowRoot.querySelector('#addNodeDialog').show()}>addAdd Custom Node + addAdd Custom Node
- Close + > + Close
- + http @@ -77,14 +73,14 @@ class SettingsPage extends connect(store)(LitElement) { slot="secondaryAction" dialogAction="close" class="red" - > - Cancel + > + Close - Add + Add And Save ` @@ -110,7 +106,7 @@ class SettingsPage extends connect(store)(LitElement) { // Set selected node store.dispatch(doSetNode(selectedNodeIndex)) snackbar.add({ - labelText: `UI Set to Node : ${selectedNodeUrl}`, + labelText: `UI Set To Node : ${selectedNodeUrl}`, dismiss: true }) } @@ -129,16 +125,42 @@ class SettingsPage extends connect(store)(LitElement) { store.dispatch(doAddNode(nodeObject)) - snackbar.add({ - labelText: 'Successfully Added a Custom Node', - dismiss: true - }) + const haveNodes = JSON.parse(localStorage.getItem('myQortalNodes')); + + if (haveNodes === null || haveNodes.length === 0) { + + var savedNodes = []; + savedNodes.push(nodeObject); + localStorage.setItem('myQortalNodes', JSON.stringify(savedNodes)); + + snackbar.add({ + labelText: 'Successfully Added And Saved Custom Node', + dismiss: true + }) - this.shadowRoot.getElementById('protocolList').value = '' - this.shadowRoot.getElementById('domainInput').value = '' - this.shadowRoot.getElementById('portInput').value = '' + this.shadowRoot.getElementById('protocolList').value = '' + this.shadowRoot.getElementById('domainInput').value = '' + this.shadowRoot.getElementById('portInput').value = '' - this.shadowRoot.querySelector('#addNodeDialog').close() + this.shadowRoot.querySelector('#addNodeDialog').close() + + } else { + + var stored = JSON.parse(localStorage.getItem('myQortalNodes')); + stored.push(nodeObject); + localStorage.setItem('myQortalNodes', JSON.stringify(stored)); + + snackbar.add({ + labelText: 'Successfully Added And Saved Custom Node', + dismiss: true + }) + + this.shadowRoot.getElementById('protocolList').value = '' + this.shadowRoot.getElementById('domainInput').value = '' + this.shadowRoot.getElementById('portInput').value = '' + + this.shadowRoot.querySelector('#addNodeDialog').close() + } } } }