mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-04-23 11:27:52 +00:00
Fix notification and add connected node on main screen
This commit is contained in:
parent
b9353e4197
commit
788d30e0d5
@ -2,7 +2,7 @@ import { LitElement, html, css } from 'lit'
|
|||||||
import { connect } from 'pwa-helpers'
|
import { connect } from 'pwa-helpers'
|
||||||
import { store } from '../../store.js'
|
import { store } from '../../store.js'
|
||||||
import { stateAwait } from '../../stateAwait.js'
|
import { stateAwait } from '../../stateAwait.js'
|
||||||
import { translate, translateUnsafeHTML } from 'lit-translate'
|
import { translate, get, translateUnsafeHTML } from 'lit-translate'
|
||||||
|
|
||||||
import '@material/mwc-button'
|
import '@material/mwc-button'
|
||||||
import '@material/mwc-icon'
|
import '@material/mwc-icon'
|
||||||
@ -15,7 +15,20 @@ import './login-section.js'
|
|||||||
import '../qort-theme-toggle.js'
|
import '../qort-theme-toggle.js'
|
||||||
|
|
||||||
import settings from '../../functional-components/settings-page.js'
|
import settings from '../../functional-components/settings-page.js'
|
||||||
import { addAutoLoadImageChat, removeAutoLoadImageChat, addChatLastSeen, allowQAPPAutoAuth, removeQAPPAutoAuth, removeQAPPAutoLists, allowQAPPAutoLists, addTabInfo, setTabNotifications, setNewTab, setNewNotification, setSideEffectAction } from '../../redux/app/app-actions.js'
|
import {
|
||||||
|
addAutoLoadImageChat,
|
||||||
|
removeAutoLoadImageChat,
|
||||||
|
addChatLastSeen,
|
||||||
|
allowQAPPAutoAuth,
|
||||||
|
removeQAPPAutoAuth,
|
||||||
|
removeQAPPAutoLists,
|
||||||
|
allowQAPPAutoLists,
|
||||||
|
addTabInfo,
|
||||||
|
setTabNotifications,
|
||||||
|
setNewTab,
|
||||||
|
setNewNotification,
|
||||||
|
setSideEffectAction
|
||||||
|
} from '../../redux/app/app-actions.js'
|
||||||
|
|
||||||
window.reduxStore = store
|
window.reduxStore = store
|
||||||
window.reduxAction = {
|
window.reduxAction = {
|
||||||
@ -137,6 +150,7 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
left:0;
|
left:0;
|
||||||
z-index:1;
|
z-index:1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-card-container {
|
.login-card-container {
|
||||||
max-width:1240px;
|
max-width:1240px;
|
||||||
max-height:var(--window-height);
|
max-height:var(--window-height);
|
||||||
@ -144,6 +158,7 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
width: calc(100vw);
|
width: calc(100vw);
|
||||||
}
|
}
|
||||||
|
|
||||||
.qortal-logo {
|
.qortal-logo {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
@ -151,6 +166,7 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
max-width:40%;
|
max-width:40%;
|
||||||
z-index:1;
|
z-index:1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-card-center-container {
|
.login-card-center-container {
|
||||||
max-width:100%;
|
max-width:100%;
|
||||||
max-height:var(--window-height);
|
max-height:var(--window-height);
|
||||||
@ -160,13 +176,16 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
height: var(--window-height);
|
height: var(--window-height);
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
#loginContainerPages {
|
#loginContainerPages {
|
||||||
display:inline;
|
display:inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
#loginContainerPages [page] {
|
#loginContainerPages [page] {
|
||||||
background: none;
|
background: none;
|
||||||
padding:0;
|
padding:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-card {
|
.login-card {
|
||||||
min-width: 340px;
|
min-width: 340px;
|
||||||
border-bottom: 2px solid var(--mdc-theme-primary);
|
border-bottom: 2px solid var(--mdc-theme-primary);
|
||||||
@ -177,30 +196,49 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
border: 0;
|
border: 0;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-card p {
|
.login-card p {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
.login-card h1{
|
|
||||||
|
.login-card h1 {
|
||||||
margin-bottom:12px;
|
margin-bottom:12px;
|
||||||
font-size:64px;
|
font-size:64px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.login-card h5 {
|
||||||
|
margin-top: -16px;
|
||||||
|
margin-left: 50px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: var(--black);
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-card h6 {
|
||||||
|
font-size: 12px;
|
||||||
|
color: var(--mdc-theme-primary);
|
||||||
|
}
|
||||||
|
|
||||||
.login-card iron-pages {
|
.login-card iron-pages {
|
||||||
height:100%;
|
height:100%;
|
||||||
|
margin-top: -16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.backButton {
|
.backButton {
|
||||||
padding-top:18px;
|
padding-top:18px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#login-pages-nav {
|
#login-pages-nav {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
/* padding-bottom:8px; */
|
|
||||||
padding: 12px 0 8px 0;
|
padding: 12px 0 8px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#nav-next {
|
#nav-next {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: ${getComputedStyle(document.body).getPropertyValue('--layout-breakpoint-tablet')}) {
|
@media only screen and (min-width: ${getComputedStyle(document.body).getPropertyValue('--layout-breakpoint-tablet')}) {
|
||||||
/* Desktop/tablet */
|
/* Desktop/tablet */
|
||||||
.login-card {
|
.login-card {
|
||||||
@ -212,13 +250,14 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
#loginContainerPages [page="welcome"] {
|
#loginContainerPages [page="welcome"] {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: ${getComputedStyle(document.body).getPropertyValue('--layout-breakpoint-tablet')}) {
|
@media only screen and (max-width: ${getComputedStyle(document.body).getPropertyValue('--layout-breakpoint-tablet')}) {
|
||||||
/* Mobile */
|
/* Mobile */
|
||||||
.qortal-logo {
|
.qortal-logo {
|
||||||
display:none;
|
display:none;
|
||||||
visibility:hidden;
|
visibility:hidden;
|
||||||
}
|
}
|
||||||
.login-card{
|
.login-card {
|
||||||
width:100%;
|
width:100%;
|
||||||
margin:0;
|
margin:0;
|
||||||
top:0;
|
top:0;
|
||||||
@ -228,7 +267,14 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left:12px;
|
padding-left:12px;
|
||||||
}
|
}
|
||||||
|
.login-card h5 {
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-left: 0px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: var(--black);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes fade {
|
@keyframes fade {
|
||||||
from {
|
from {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
@ -239,6 +285,7 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
transform: translateX(0);
|
transform: translateX(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes grow-up {
|
@keyframes grow-up {
|
||||||
from {
|
from {
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
@ -249,16 +296,20 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
max-height:var(--window-height);
|
max-height:var(--window-height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
iron-pages .animated, .animated {
|
iron-pages .animated, .animated {
|
||||||
animation-duration: ${animationDuration}s;
|
animation-duration: ${animationDuration}s;
|
||||||
animation-name: grow-up;
|
animation-name: grow-up;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[page] > paper-icon-button {
|
div[page] > paper-icon-button {
|
||||||
margin:12px;
|
margin:12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.corner-box {
|
.corner-box {
|
||||||
border-color: var(--mdc-theme-primary) !important;
|
border-color: var(--mdc-theme-primary) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
[hidden] {
|
[hidden] {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
display: none;
|
display: none;
|
||||||
@ -271,7 +322,8 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
<div class="login-card-center-container">
|
<div class="login-card-center-container">
|
||||||
<div class="login-card" id="login-card">
|
<div class="login-card" id="login-card">
|
||||||
<img class="qortal-logo" src="${this.config.coin.logo}">
|
<img class="qortal-logo" src="${this.config.coin.logo}">
|
||||||
<h5 style="color:var(--mdc-theme-primary)" ?hidden="${this.selectedPage != "welcome"}">${translate("appinfo.uiversion")}: ${this.nodeConfig.version ? this.nodeConfig.version : ''}</h5>
|
<h5 ?hidden="${this.selectedPage != "welcome"}">${translate("appinfo.uiversion")}: ${this.nodeConfig.version ? this.nodeConfig.version : ''}</h5>
|
||||||
|
${this.renderSelectedNodeOnStart()}
|
||||||
<iron-pages selected="${this.selectedPage}" attr-for-selected="page" id="loginContainerPages">
|
<iron-pages selected="${this.selectedPage}" attr-for-selected="page" id="loginContainerPages">
|
||||||
<welcome-page @next=${e => this.selectedPageElement.next(e)} page="welcome"></welcome-page>
|
<welcome-page @next=${e => this.selectedPageElement.next(e)} page="welcome"></welcome-page>
|
||||||
<create-account-section @next=${e => this.selectedPageElement.next(e)} page="create-account"></create-account-section>
|
<create-account-section @next=${e => this.selectedPageElement.next(e)} page="create-account"></create-account-section>
|
||||||
@ -292,6 +344,18 @@ class LoginView extends connect(store)(LitElement) {
|
|||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderSelectedNodeOnStart() {
|
||||||
|
const selectedNodeIndexOnStart = localStorage.getItem('mySelectedNode')
|
||||||
|
const catchSavedNodes = JSON.parse(localStorage.getItem('myQortalNodes'))
|
||||||
|
const selectedNodeOnStart = catchSavedNodes[selectedNodeIndexOnStart]
|
||||||
|
const selectedNameOnStart = `${selectedNodeOnStart.name}`
|
||||||
|
const selectedNodeUrlOnStart = `${selectedNodeOnStart.protocol + '://' + selectedNodeOnStart.domain +':' + selectedNodeOnStart.port}`
|
||||||
|
|
||||||
|
let connectString = get('settings.snack2')
|
||||||
|
|
||||||
|
return html`<h6>${connectString} : ${selectedNameOnStart} ${selectedNodeUrlOnStart}</h6>`
|
||||||
|
}
|
||||||
|
|
||||||
selectPage(newPage) {
|
selectPage(newPage) {
|
||||||
this.selectedPage = newPage
|
this.selectedPage = newPage
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,6 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
lastSelected: { type: Number },
|
lastSelected: { type: Number },
|
||||||
nodeConfig: { type: Object },
|
nodeConfig: { type: Object },
|
||||||
theme: { type: String, reflect: true },
|
theme: { type: String, reflect: true },
|
||||||
nodeIndex: { type: Number },
|
|
||||||
isBeingEdited: { type: Boolean },
|
isBeingEdited: { type: Boolean },
|
||||||
dropdownOpen: { type: Boolean }
|
dropdownOpen: { type: Boolean }
|
||||||
}
|
}
|
||||||
@ -159,14 +158,12 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
super()
|
super()
|
||||||
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
|
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
|
||||||
this.nodeConfig = {}
|
this.nodeConfig = {}
|
||||||
this.nodeIndex = localStorage.getItem('mySelectedNode')
|
|
||||||
this.isBeingEdited = false
|
this.isBeingEdited = false
|
||||||
this.isBeingEditedIndex = null
|
this.isBeingEditedIndex = null
|
||||||
this.dropdownOpen = false
|
this.dropdownOpen = false
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
this.nodeSelectedOnNewStart()
|
|
||||||
return html`
|
return html`
|
||||||
<mwc-dialog id="settingsDialog" opened="false">
|
<mwc-dialog id="settingsDialog" opened="false">
|
||||||
<div style="display: inline; text-align: center;">
|
<div style="display: inline; text-align: center;">
|
||||||
@ -331,7 +328,7 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
firstUpdated() {
|
firstUpdated() {
|
||||||
const checkNode = localStorage.getItem('mySelectedNode')
|
const checkNode = localStorage.getItem('mySelectedNode')
|
||||||
if (checkNode === null || checkNode.length === 0) {
|
if (checkNode === null || checkNode.length === 0) {
|
||||||
localStorage.setItem('mySelectedNode', 0);
|
localStorage.setItem('mySelectedNode', 0)
|
||||||
} else {
|
} else {
|
||||||
this.handleSelectionOnNewStart(checkNode)
|
this.handleSelectionOnNewStart(checkNode)
|
||||||
}
|
}
|
||||||
@ -344,24 +341,6 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
this.requestUpdate()
|
this.requestUpdate()
|
||||||
}
|
}
|
||||||
|
|
||||||
nodeSelectedOnNewStart() {
|
|
||||||
const selectedNodeIndexOnNewStart = localStorage.getItem('mySelectedNode')
|
|
||||||
this.catchSavedNodes = JSON.parse(localStorage.getItem('myQortalNodes'))
|
|
||||||
const selectedNodeOnNewStart = this.catchSavedNodes[selectedNodeIndexOnNewStart]
|
|
||||||
const selectedNameOnNewStart = `${selectedNodeOnNewStart.name}`
|
|
||||||
const selectedNodeUrlOnNewStart = `${selectedNodeOnNewStart.protocol + '://' + selectedNodeOnNewStart.domain +':' + selectedNodeOnNewStart.port}`
|
|
||||||
|
|
||||||
const index = parseInt(selectedNodeIndexOnNewStart)
|
|
||||||
if (isNaN(index)) return
|
|
||||||
|
|
||||||
const snack0string = get('settings.snack2')
|
|
||||||
|
|
||||||
snackbar.add({
|
|
||||||
labelText: `${snack0string} : ${selectedNameOnNewStart} ${selectedNodeUrlOnNewStart}`,
|
|
||||||
dismiss: true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
toggleDropdown() {
|
toggleDropdown() {
|
||||||
this.dropdownOpen = !this.dropdownOpen
|
this.dropdownOpen = !this.dropdownOpen
|
||||||
}
|
}
|
||||||
@ -387,6 +366,19 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
this.requestUpdate()
|
this.requestUpdate()
|
||||||
this.nodeSelected(index)
|
this.nodeSelected(index)
|
||||||
localStorage.setItem('mySelectedNode', index)
|
localStorage.setItem('mySelectedNode', index)
|
||||||
|
|
||||||
|
const selectedNodeIndexOnNewStart = localStorage.getItem('mySelectedNode')
|
||||||
|
const catchSavedNodes = JSON.parse(localStorage.getItem('myQortalNodes'))
|
||||||
|
const selectedNodeOnNewStart = catchSavedNodes[selectedNodeIndexOnNewStart]
|
||||||
|
const selectedNameOnNewStart = `${selectedNodeOnNewStart.name}`
|
||||||
|
const selectedNodeUrlOnNewStart = `${selectedNodeOnNewStart.protocol + '://' + selectedNodeOnNewStart.domain +':' + selectedNodeOnNewStart.port}`
|
||||||
|
|
||||||
|
let snack2string = get('settings.snack2')
|
||||||
|
|
||||||
|
snackbar.add({
|
||||||
|
labelText: `${snack2string} : ${selectedNameOnNewStart} ${selectedNodeUrlOnNewStart}`,
|
||||||
|
dismiss: true
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
show() {
|
show() {
|
||||||
@ -444,16 +436,11 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
|
|
||||||
localStorage.removeItem('mySelectedNode');
|
localStorage.removeItem('mySelectedNode');
|
||||||
localStorage.setItem('mySelectedNode', selectedNodeIndex)
|
localStorage.setItem('mySelectedNode', selectedNodeIndex)
|
||||||
|
|
||||||
let snack2string = get('settings.snack2')
|
|
||||||
snackbar.add({
|
|
||||||
labelText: `${snack2string} : ${selectedName} ${selectedNodeUrl}`,
|
|
||||||
dismiss: true
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
addNode(e) {
|
addNode(e) {
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
|
|
||||||
if (this.isBeingEdited) {
|
if (this.isBeingEdited) {
|
||||||
this.editNode(this.isBeingEditedIndex)
|
this.editNode(this.isBeingEditedIndex)
|
||||||
return
|
return
|
||||||
@ -517,13 +504,15 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
|
|
||||||
removeNode(event, index) {
|
removeNode(event, index) {
|
||||||
event.stopPropagation()
|
event.stopPropagation()
|
||||||
|
|
||||||
let stored = JSON.parse(localStorage.getItem('myQortalNodes'))
|
let stored = JSON.parse(localStorage.getItem('myQortalNodes'))
|
||||||
stored.splice(index, 1)
|
stored.splice(index, 1)
|
||||||
localStorage.setItem('myQortalNodes', JSON.stringify(stored))
|
localStorage.setItem('myQortalNodes', JSON.stringify(stored))
|
||||||
store.dispatch(doRemoveNode(index));
|
store.dispatch(doRemoveNode(index))
|
||||||
let snack3string = get('settings.snack6')
|
|
||||||
|
let snack6string = get('settings.snack6')
|
||||||
snackbar.add({
|
snackbar.add({
|
||||||
labelText: `${snack3string}`,
|
labelText: `${snack6string}`,
|
||||||
dismiss: true
|
dismiss: true
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -550,11 +539,13 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
copyStored[index] = nodeObject
|
copyStored[index] = nodeObject
|
||||||
localStorage.setItem('myQortalNodes', JSON.stringify(copyStored))
|
localStorage.setItem('myQortalNodes', JSON.stringify(copyStored))
|
||||||
store.dispatch(doEditNode(index, nodeObject))
|
store.dispatch(doEditNode(index, nodeObject))
|
||||||
let snack3string = get('settings.snack7')
|
|
||||||
|
let snack7string = get('settings.snack7')
|
||||||
snackbar.add({
|
snackbar.add({
|
||||||
labelText: `${snack3string}`,
|
labelText: `${snack7string}`,
|
||||||
dismiss: true
|
dismiss: true
|
||||||
})
|
})
|
||||||
|
|
||||||
this.shadowRoot.getElementById('nameInput').value = ''
|
this.shadowRoot.getElementById('nameInput').value = ''
|
||||||
this.shadowRoot.getElementById('protocolList').value = ''
|
this.shadowRoot.getElementById('protocolList').value = ''
|
||||||
this.shadowRoot.getElementById('domainInput').value = ''
|
this.shadowRoot.getElementById('domainInput').value = ''
|
||||||
@ -587,14 +578,14 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportQortalNodesList() {
|
exportQortalNodesList() {
|
||||||
let nodelist = '';
|
let nodelist = ''
|
||||||
const qortalNodesList = JSON.stringify(
|
const qortalNodesList = JSON.stringify(
|
||||||
localStorage.getItem('myQortalNodes')
|
localStorage.getItem('myQortalNodes')
|
||||||
);
|
);
|
||||||
const qortalNodesListSave = JSON.parse(qortalNodesList || '[]')
|
const qortalNodesListSave = JSON.parse(qortalNodesList || '[]')
|
||||||
const blob = new Blob([qortalNodesListSave], {
|
const blob = new Blob([qortalNodesListSave], {
|
||||||
type: 'text/plain;charset=utf-8',
|
type: 'text/plain;charset=utf-8',
|
||||||
});
|
})
|
||||||
nodelist = 'qortal.nodes'
|
nodelist = 'qortal.nodes'
|
||||||
this.saveFileToDisk(blob, nodelist)
|
this.saveFileToDisk(blob, nodelist)
|
||||||
}
|
}
|
||||||
@ -611,8 +602,9 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
const writable = await fileHandle.createWritable()
|
const writable = await fileHandle.createWritable()
|
||||||
await writable.write(contents)
|
await writable.write(contents)
|
||||||
await writable.close()
|
await writable.close()
|
||||||
};
|
}
|
||||||
writeFile(fileHandle, blob).then(() => console.log('FILE SAVED'));
|
writeFile(fileHandle, blob).then(() => console.log('FILE SAVED'))
|
||||||
|
|
||||||
let snack4string = get('settings.snack4')
|
let snack4string = get('settings.snack4')
|
||||||
snackbar.add({
|
snackbar.add({
|
||||||
labelText: `${snack4string} qortal.nodes`,
|
labelText: `${snack4string} qortal.nodes`,
|
||||||
@ -633,7 +625,8 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
unelevated
|
unelevated
|
||||||
label="${translate('settings.import')}"
|
label="${translate('settings.import')}"
|
||||||
@click="${() => this.openImportNodesDialog()}"
|
@click="${() => this.openImportNodesDialog()}"
|
||||||
></mwc-button>
|
>
|
||||||
|
</mwc-button>
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -647,7 +640,7 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
snackbar.add({
|
snackbar.add({
|
||||||
labelText: `${snack5string}`,
|
labelText: `${snack5string}`,
|
||||||
dismiss: true,
|
dismiss: true,
|
||||||
});
|
})
|
||||||
|
|
||||||
localStorage.removeItem('mySelectedNode')
|
localStorage.removeItem('mySelectedNode')
|
||||||
localStorage.setItem('mySelectedNode', 0)
|
localStorage.setItem('mySelectedNode', 0)
|
||||||
@ -656,8 +649,8 @@ class SettingsPage extends connect(store)(LitElement) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stateChanged(state) {
|
stateChanged(state) {
|
||||||
this.config = state.config;
|
this.config = state.config
|
||||||
this.nodeConfig = state.app.nodeConfig;
|
this.nodeConfig = state.app.nodeConfig
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user