From aee97595cc87ee1c9eebd490237a05e80b5772b0 Mon Sep 17 00:00:00 2001 From: metalex9 Date: Sun, 31 Mar 2019 20:46:21 -0500 Subject: [PATCH] Move online status control to a middleware --- src/index.jsx | 7 ------- src/store/middleware/online-status.middleware.js | 13 +++++++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 src/store/middleware/online-status.middleware.js diff --git a/src/index.jsx b/src/index.jsx index 1627b9d..99ec245 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -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( diff --git a/src/store/middleware/online-status.middleware.js b/src/store/middleware/online-status.middleware.js new file mode 100644 index 0000000..1542357 --- /dev/null +++ b/src/store/middleware/online-status.middleware.js @@ -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;