Move online status control to a middleware

This commit is contained in:
metalex9
2019-03-31 20:46:21 -05:00
parent defa8548db
commit aee97595cc
2 changed files with 13 additions and 7 deletions

View File

@@ -4,7 +4,6 @@ import { install } from 'offline-plugin/runtime';
import { Provider } from 'react-redux';
import store from './store';
import indicateUpdateAvailable from './store/actions/creators/indicate-update-available.creator';
import setOnlineStatus from './store/actions/creators/set-online-status.creator';
import isProduction from './config/is-production';
import App from './containers/app.container';
import './styles/base-styles.scss';
@@ -20,12 +19,6 @@ if (isProduction) {
console.log('https://github.com/generative-music/generative.fm');
}
const makeSetOnlineStatus = online => () =>
store.dispatch(setOnlineStatus(online));
window.addEventListener('online', makeSetOnlineStatus(true));
window.addEventListener('offline', makeSetOnlineStatus(false));
render(
<Provider store={store}>
<App />

View File

@@ -0,0 +1,13 @@
import setOnlineStatus from '../actions/creators/set-online-status.creator';
const setOnlineStatusMiddleware = store => next => {
const makeSetOnlineStatus = online => () =>
store.dispatch(setOnlineStatus(online));
window.addEventListener('online', makeSetOnlineStatus(true));
window.addEventListener('offline', makeSetOnlineStatus(false));
return action => next(action);
};
export default setOnlineStatusMiddleware;