diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 6057d8797..8d784dfe0 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -11,10 +11,8 @@ import { isMobile } from '../../is_mobile'; import { debounce } from 'lodash'; import { uploadCompose } from '../../actions/compose'; import { refreshHomeTimeline } from '../../actions/timelines'; -import { refreshNotifications } from '../../actions/notifications'; import { WrappedSwitch, WrappedRoute } from './util/react_router_helpers'; import UploadArea from './components/upload_area'; -import { store } from '../../containers/mastodon'; import ColumnsAreaContainer from './containers/columns_area_container'; import { Compose, @@ -30,7 +28,7 @@ import { Reblogs, Favourites, HashtagTimeline, - Notifications as AsyncNotifications, + Notifications, FollowRequests, GenericNotFound, FavouritedStatuses, @@ -38,11 +36,6 @@ import { Mutes, } from './util/async-components'; -const Notifications = () => AsyncNotifications().then(component => { - store.dispatch(refreshNotifications()); - return component; -}); - // Dummy import, to make sure that ends up in the application bundle. // Without this it ends up in ~8 very commonly used bundles. import '../../components/status'; diff --git a/app/javascript/mastodon/features/ui/util/async-components.js b/app/javascript/mastodon/features/ui/util/async-components.js index c9f81136d..56880dd1f 100644 --- a/app/javascript/mastodon/features/ui/util/async-components.js +++ b/app/javascript/mastodon/features/ui/util/async-components.js @@ -1,4 +1,5 @@ import { store } from '../../../containers/mastodon'; +import { refreshNotifications } from '../../../actions/notifications'; import { injectAsyncReducer } from '../../../store/configureStore'; // NOTE: When lazy-loading reducers, make sure to add them @@ -30,6 +31,8 @@ export function Notifications () { ]).then(([component, notificationsReducer]) => { injectAsyncReducer(store, 'notifications', notificationsReducer.default); + store.dispatch(refreshNotifications()); + return component; }); }