diff --git a/client/src/actions/index.js b/client/src/actions/index.js index 0cb022d4..ac3cf514 100644 --- a/client/src/actions/index.js +++ b/client/src/actions/index.js @@ -233,6 +233,7 @@ export const getProfile = () => async (dispatch) => { export const dnsStatusRequest = createAction('DNS_STATUS_REQUEST'); export const dnsStatusFailure = createAction('DNS_STATUS_FAILURE'); export const dnsStatusSuccess = createAction('DNS_STATUS_SUCCESS'); +export const setDnsRunningStatus = createAction('SET_DNS_RUNNING_STATUS'); export const getDnsStatus = () => async (dispatch) => { dispatch(dnsStatusRequest()); @@ -242,15 +243,17 @@ export const getDnsStatus = () => async (dispatch) => { dispatch(dnsStatusFailure()); window.location.reload(true); }; - const handleRequestSuccess = (response) => { const dnsStatus = response.data; - const runningStatus = dnsStatus && dnsStatus.running; + const { running } = dnsStatus; + const runningStatus = dnsStatus && running; if (runningStatus === true) { dispatch(dnsStatusSuccess(dnsStatus)); dispatch(getVersion()); dispatch(getTlsStatus()); dispatch(getProfile()); + } else { + dispatch(setDnsRunningStatus(running)); } }; diff --git a/client/src/components/App/index.js b/client/src/components/App/index.js index 843047c3..e40ac78f 100644 --- a/client/src/components/App/index.js +++ b/client/src/components/App/index.js @@ -89,12 +89,13 @@ class App extends Component {
- {dashboard.processing && !dashboard.isCoreRunning && ( + {dashboard.processing && } + {!dashboard.isCoreRunning && (
+ />
diff --git a/client/src/reducers/index.js b/client/src/reducers/index.js index 550c080b..ca2aeef8 100644 --- a/client/src/reducers/index.js +++ b/client/src/reducers/index.js @@ -58,12 +58,13 @@ const settings = handleActions( const dashboard = handleActions( { + [actions.setDnsRunningStatus]: (state, { payload }) => + ({ ...state, isCoreRunning: payload }), [actions.dnsStatusRequest]: state => ({ ...state, processing: true }), [actions.dnsStatusFailure]: state => ({ ...state, processing: false }), [actions.dnsStatusSuccess]: (state, { payload }) => { const { version, - running, dns_port: dnsPort, dns_addresses: dnsAddresses, upstream_dns: upstreamDns, @@ -75,7 +76,7 @@ const dashboard = handleActions( } = payload; const newState = { ...state, - isCoreRunning: running, + isCoreRunning: true, processing: false, dnsVersion: version, dnsPort, @@ -187,7 +188,7 @@ const dashboard = handleActions( }, { processing: true, - isCoreRunning: false, + isCoreRunning: true, processingVersion: true, processingFiltering: true, processingClients: true,