lbry-desktop/ui/component/app/index.js

68 lines
2.7 KiB
JavaScript
Raw Normal View History

2019-03-05 07:24:03 +01:00
import { hot } from 'react-hot-loader/root';
import { connect } from 'react-redux';
2020-10-02 17:03:25 +02:00
import { selectUploadCount } from 'lbryinc';
import { selectGetSyncErrorMessage, selectSyncFatalError } from 'redux/selectors/sync';
import { doFetchAccessToken, doUserSetReferrer } from 'redux/actions/user';
import { selectUser, selectAccessToken, selectUserVerifiedEmail } from 'redux/selectors/user';
import { selectUnclaimedRewards } from 'redux/selectors/rewards';
import { doFetchChannelListMine, selectMyChannelUrls, SETTINGS } from 'lbry-redux';
import {
makeSelectClientSetting,
selectLanguage,
selectLoadedLanguages,
selectThemePath,
} from 'redux/selectors/settings';
import {
selectIsUpgradeAvailable,
selectAutoUpdateDownloaded,
selectModal,
selectActiveChannelClaim,
} from 'redux/selectors/app';
import { doGetWalletSyncPreference, doSetLanguage } from 'redux/actions/settings';
2021-01-21 20:50:51 +01:00
import { doSyncLoop } from 'redux/actions/sync';
import {
doDownloadUpgradeRequested,
doSignIn,
doGetAndPopulatePreferences,
doSetActiveChannel,
doSetIncognito,
} from 'redux/actions/app';
2021-02-25 18:43:56 +01:00
import { doFetchModBlockedList } from 'redux/actions/comments';
import App from './view';
2017-04-07 07:15:22 +02:00
2021-02-25 18:43:56 +01:00
const select = (state) => ({
2017-07-28 03:13:12 +02:00
user: selectUser(state),
2020-01-14 21:44:07 +01:00
accessToken: selectAccessToken(state),
2018-10-19 17:27:14 +02:00
theme: selectThemePath(state),
language: selectLanguage(state),
2020-09-04 17:02:30 +02:00
syncEnabled: makeSelectClientSetting(SETTINGS.ENABLE_SYNC)(state),
2019-11-08 21:51:42 +01:00
languages: selectLoadedLanguages(state),
autoUpdateDownloaded: selectAutoUpdateDownloaded(state),
isUpgradeAvailable: selectIsUpgradeAvailable(state),
2019-10-22 19:57:32 +02:00
syncError: selectGetSyncErrorMessage(state),
uploadCount: selectUploadCount(state),
2020-01-14 21:44:07 +01:00
rewards: selectUnclaimedRewards(state),
isAuthenticated: selectUserVerifiedEmail(state),
2020-09-18 19:26:00 +02:00
currentModal: selectModal(state),
syncFatalError: selectSyncFatalError(state),
activeChannelClaim: selectActiveChannelClaim(state),
myChannelUrls: selectMyChannelUrls(state),
2017-07-28 03:13:12 +02:00
});
2017-04-07 07:15:22 +02:00
2021-02-25 18:43:56 +01:00
const perform = (dispatch) => ({
2019-08-06 18:53:59 +02:00
fetchAccessToken: () => dispatch(doFetchAccessToken()),
fetchChannelListMine: () => dispatch(doFetchChannelListMine()),
2021-02-25 18:43:56 +01:00
setLanguage: (language) => dispatch(doSetLanguage(language)),
2019-10-01 06:53:33 +02:00
signIn: () => dispatch(doSignIn()),
requestDownloadUpgrade: () => dispatch(doDownloadUpgradeRequested()),
updatePreferences: () => dispatch(doGetAndPopulatePreferences()),
getWalletSyncPref: () => dispatch(doGetWalletSyncPreference()),
2021-02-25 18:43:56 +01:00
syncLoop: (noInterval) => dispatch(doSyncLoop(noInterval)),
2020-01-14 21:44:07 +01:00
setReferrer: (referrer, doClaim) => dispatch(doUserSetReferrer(referrer, doClaim)),
setActiveChannelIfNotSet: () => dispatch(doSetActiveChannel()),
setIncognito: () => dispatch(doSetIncognito()),
2021-02-25 18:43:56 +01:00
fetchModBlockedList: () => dispatch(doFetchModBlockedList()),
2017-06-06 06:21:55 +02:00
});
2017-04-07 07:15:22 +02:00
export default hot(connect(select, perform)(App));