qortal-ui/core/src/initStore.js
AlphaX-Projects fa29ff4c43 Update UI
Refactor and added new functioms
2024-05-08 13:16:23 +02:00

39 lines
1.0 KiB
JavaScript

import { store } from './store'
import { doLoadConfigFromAPI } from './redux/config/config-actions'
import { doInitWorkers, doLoadNodeConfig } from './redux/app/app-actions'
import { doLoadNotificationConfig } from './redux/user/user-actions'
import { initApi } from 'qortal-ui-crypto'
import './persistState'
initApi(store)
const workerInitChecker = () => {
const state = store.getState()
if (store.getState().app.nodeConfig.knownNodes.length === 0) {
store.dispatch(doLoadNodeConfig())
}
if (state.config.loaded) {
store.dispatch(doLoadNodeConfig())
if (state.app.workers.ready) {
workerInitSubscription()
} else {
if (!state.app.workers.loading) store.dispatch(doInitWorkers(state.config.crypto.kdfThreads, state.config.user.constants.workerURL))
}
}
}
workerInitChecker()
const workerInitSubscription = store.subscribe(workerInitChecker)
if (!store.getState().config.loaded) {
store.dispatch(doLoadConfigFromAPI())
store.dispatch(doLoadNodeConfig())
}
if (!store.getState().user.loaded) {
store.dispatch(doLoadNotificationConfig())
}