about summary refs log tree commit diff
path: root/app/javascript/mastodon/reducers/index.js
diff options
context:
space:
mode:
authorSorin Davidoi <sorin.davidoi@gmail.com>2017-07-08 00:06:02 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-07-08 00:06:02 +0200
commit348d6f5e7551e632e7dea41e61c40f79aac59be9 (patch)
tree54cc599e3509457c25603653d5490bd96efe39c6 /app/javascript/mastodon/reducers/index.js
parent00df69bc89f1b5ffdf290bde8359b3854e2b1395 (diff)
Lazy load components (#3879)
* feat: Lazy-load routes

* feat: Lazy-load modals

* feat: Lazy-load columns

* refactor: Simplify Bundle API

* feat: Optimize bundles

* feat: Prevent flashing the waiting state

* feat: Preload commonly used bundles

* feat: Lazy load Compose reducers

* feat: Lazy load Notifications reducer

* refactor: Move all dynamic imports into one file

* fix: Minor bugs

* fix: Manually hydrate the lazy-loaded reducers

* refactor: Move all dynamic imports to async-components

* fix: Loading modal style

* refactor: Avoid converting the raw state for each lazy hydration

* refactor: Remove unused component

* refactor: Maintain modal name

* fix: Add as=script to preload link

* chore: Fix lint error

* fix(components/bundle): Check if timestamp is set when computing elapsed

* fix: Load compose reducers for the onboarding modal
Diffstat (limited to 'app/javascript/mastodon/reducers/index.js')
-rw-r--r--app/javascript/mastodon/reducers/index.js21
1 files changed, 11 insertions, 10 deletions
diff --git a/app/javascript/mastodon/reducers/index.js b/app/javascript/mastodon/reducers/index.js
index be402a16b..79062f2f9 100644
--- a/app/javascript/mastodon/reducers/index.js
+++ b/app/javascript/mastodon/reducers/index.js
@@ -1,7 +1,6 @@
 import { combineReducers } from 'redux-immutable';
 import timelines from './timelines';
 import meta from './meta';
-import compose from './compose';
 import alerts from './alerts';
 import { loadingBarReducer } from 'react-redux-loading-bar';
 import modal from './modal';
@@ -9,20 +8,16 @@ import user_lists from './user_lists';
 import accounts from './accounts';
 import accounts_counters from './accounts_counters';
 import statuses from './statuses';
-import media_attachments from './media_attachments';
 import relationships from './relationships';
-import search from './search';
-import notifications from './notifications';
 import settings from './settings';
 import status_lists from './status_lists';
 import cards from './cards';
 import reports from './reports';
 import contexts from './contexts';
 
-export default combineReducers({
+const reducers = {
   timelines,
   meta,
-  compose,
   alerts,
   loadingBar: loadingBarReducer,
   modal,
@@ -30,13 +25,19 @@ export default combineReducers({
   status_lists,
   accounts,
   accounts_counters,
-  media_attachments,
   statuses,
   relationships,
-  search,
-  notifications,
   settings,
   cards,
   reports,
   contexts,
-});
+};
+
+export function createReducer(asyncReducers) {
+  return combineReducers({
+    ...reducers,
+    ...asyncReducers,
+  });
+}
+
+export default combineReducers(reducers);