Browse Source

Add Save Nodes Local

pull/1/head
AlphaX-Projects 3 years ago committed by GitHub
parent
commit
e8b7cc7d7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 44
      qortal-ui-core/src/functional-components/settings-page.js

44
qortal-ui-core/src/functional-components/settings-page.js

@ -39,14 +39,10 @@ class SettingsPage extends connect(store)(LitElement) {
render() { render() {
return html` return html`
<style>
</style>
<mwc-dialog id="settingsDialog" heading="Settings" opened=false> <mwc-dialog id="settingsDialog" heading="Settings" opened=false>
<div style="min-height:450px; min-width: 300px; box-sizing: border-box; position: relative;"> <div style="min-height:450px; min-width: 300px; box-sizing: border-box; position: relative;">
<mwc-select id="nodeSelect" label="Node url" index="0" @selected=${(e) => this.nodeSelected(e)} style="min-width: 130px; max-width:100%; width:100%;"> <mwc-select id="nodeSelect" label="Node Url" index="0" @selected="${(e) => this.nodeSelected(e)}" style="min-width: 130px; max-width:100%; width:100%;">
${this.nodeConfig.knownNodes.map((n, index) => html` ${this.nodeConfig.knownNodes.map((n, index) => html`
<mwc-list-item value="${index}">${n.protocol + '://' + n.domain + ':' + n.port}</mwc-list-item> <mwc-list-item value="${index}">${n.protocol + '://' + n.domain + ':' + n.port}</mwc-list-item>
`)} `)}
@ -54,7 +50,7 @@ class SettingsPage extends connect(store)(LitElement) {
<p style="margin-top: 45px;">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</p> <p style="margin-top: 45px;">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</p>
<mwc-button style="display: block; bottom: 0; position: absolute; left: 30%;" @click=${() => this.shadowRoot.querySelector('#addNodeDialog').show()}><mwc-icon>add</mwc-icon>Add Custom Node</mwc-button> <mwc-button outlined style="display: block; position: absolute; left: 30%;" @click="${() => this.shadowRoot.querySelector('#addNodeDialog').show()}"><mwc-icon>add</mwc-icon>Add Custom Node</mwc-button>
</div> </div>
<mwc-button <mwc-button
slot="primaryAction" slot="primaryAction"
@ -78,13 +74,13 @@ class SettingsPage extends connect(store)(LitElement) {
dialogAction="close" dialogAction="close"
class="red" class="red"
> >
Cancel Close
</mwc-button> </mwc-button>
<mwc-button <mwc-button
slot="primaryAction" slot="primaryAction"
@click=${this.addNode} @click="${this.addNode}"
> >
Add Add And Save
</mwc-button> </mwc-button>
</mwc-dialog> </mwc-dialog>
` `
@ -110,7 +106,7 @@ class SettingsPage extends connect(store)(LitElement) {
// Set selected node // Set selected node
store.dispatch(doSetNode(selectedNodeIndex)) store.dispatch(doSetNode(selectedNodeIndex))
snackbar.add({ snackbar.add({
labelText: `UI Set to Node : ${selectedNodeUrl}`, labelText: `UI Set To Node : ${selectedNodeUrl}`,
dismiss: true dismiss: true
}) })
} }
@ -129,8 +125,16 @@ class SettingsPage extends connect(store)(LitElement) {
store.dispatch(doAddNode(nodeObject)) store.dispatch(doAddNode(nodeObject))
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({ snackbar.add({
labelText: 'Successfully Added a Custom Node', labelText: 'Successfully Added And Saved Custom Node',
dismiss: true dismiss: true
}) })
@ -139,6 +143,24 @@ class SettingsPage extends connect(store)(LitElement) {
this.shadowRoot.getElementById('portInput').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()
}
} }
} }
} }

Loading…
Cancel
Save