d482b2d35a
The delay in fetching homepages causes the "empty homepage" splash to appear briefly for the authenticated case.
Part 2 of 61630930
34 lines
1.6 KiB
JavaScript
34 lines
1.6 KiB
JavaScript
import { connect } from 'react-redux';
|
|
import * as SETTINGS from 'constants/settings';
|
|
import { doOpenModal } from 'redux/actions/app';
|
|
import { doFetchActiveLivestreams } from 'redux/actions/livestream';
|
|
import { selectAdBlockerFound } from 'redux/selectors/app';
|
|
import { selectActiveLivestreams, selectFetchingActiveLivestreams } from 'redux/selectors/livestream';
|
|
import { selectFollowedTags } from 'redux/selectors/tags';
|
|
import { selectHasOdyseeMembership, selectHomepageFetched, selectUserVerifiedEmail } from 'redux/selectors/user';
|
|
import { selectSubscriptions } from 'redux/selectors/subscriptions';
|
|
import { selectShowMatureContent, selectHomepageData, selectClientSetting } from 'redux/selectors/settings';
|
|
|
|
import DiscoverPage from './view';
|
|
|
|
const select = (state) => ({
|
|
followedTags: selectFollowedTags(state),
|
|
subscribedChannels: selectSubscriptions(state),
|
|
authenticated: selectUserVerifiedEmail(state),
|
|
showNsfw: selectShowMatureContent(state),
|
|
homepageData: selectHomepageData(state),
|
|
homepageFetched: selectHomepageFetched(state),
|
|
activeLivestreams: selectActiveLivestreams(state),
|
|
fetchingActiveLivestreams: selectFetchingActiveLivestreams(state),
|
|
hideScheduledLivestreams: selectClientSetting(state, SETTINGS.HIDE_SCHEDULED_LIVESTREAMS),
|
|
adBlockerFound: selectAdBlockerFound(state),
|
|
homepageOrder: selectClientSetting(state, SETTINGS.HOMEPAGE_ORDER),
|
|
hasMembership: selectHasOdyseeMembership(state),
|
|
});
|
|
|
|
const perform = (dispatch) => ({
|
|
doFetchActiveLivestreams: () => dispatch(doFetchActiveLivestreams()),
|
|
doOpenModal: (modal, props) => dispatch(doOpenModal(modal, props)),
|
|
});
|
|
|
|
export default connect(select, perform)(DiscoverPage);
|