diff --git a/client/src/actions/index.js b/client/src/actions/index.js index 9d64c071..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,14 +243,17 @@ export const getDnsStatus = () => async (dispatch) => { dispatch(dnsStatusFailure()); window.location.reload(true); }; - const handleRequestSuccess = (response) => { const dnsStatus = response.data; - if (dnsStatus) { + 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/reducers/index.js b/client/src/reducers/index.js index 159eac4f..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,