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

55 lines
2 KiB
JavaScript
Raw Normal View History

2019-09-26 12:07:11 -04:00
import * as SETTINGS from 'constants/settings';
2019-03-05 00:24:03 -06:00
import { hot } from 'react-hot-loader/root';
import { connect } from 'react-redux';
2020-01-14 15:44:07 -05:00
import {
selectUser,
selectAccessToken,
doFetchAccessToken,
selectGetSyncErrorMessage,
selectUploadCount,
selectUnclaimedRewards,
doUserSetReferrer,
selectUserVerifiedEmail,
2020-01-14 15:44:07 -05:00
} from 'lbryinc';
import { doFetchChannelListMine } from 'lbry-redux';
2019-11-08 15:51:42 -05:00
import { makeSelectClientSetting, selectLoadedLanguages, selectThemePath } from 'redux/selectors/settings';
import { selectIsUpgradeAvailable, selectAutoUpdateDownloaded } from 'redux/selectors/app';
2019-11-08 15:51:42 -05:00
import { doSetLanguage } from 'redux/actions/settings';
2020-01-14 15:44:07 -05:00
import {
doDownloadUpgradeRequested,
doSignIn,
doSyncWithPreferences,
doGetAndPopulatePreferences,
doAnalyticsTagSync,
2020-01-14 15:44:07 -05:00
} from 'redux/actions/app';
import App from './view';
2017-04-07 12:15:22 +07:00
2018-03-26 14:32:43 -07:00
const select = state => ({
2017-07-27 21:13:12 -04:00
user: selectUser(state),
2020-01-14 15:44:07 -05:00
accessToken: selectAccessToken(state),
2018-10-19 11:27:14 -04:00
theme: selectThemePath(state),
language: makeSelectClientSetting(SETTINGS.LANGUAGE)(state),
2019-11-08 15:51:42 -05:00
languages: selectLoadedLanguages(state),
autoUpdateDownloaded: selectAutoUpdateDownloaded(state),
isUpgradeAvailable: selectIsUpgradeAvailable(state),
2019-10-15 17:23:51 -04:00
syncEnabled: makeSelectClientSetting(SETTINGS.ENABLE_SYNC)(state),
2019-10-22 13:57:32 -04:00
syncError: selectGetSyncErrorMessage(state),
uploadCount: selectUploadCount(state),
2020-01-14 15:44:07 -05:00
rewards: selectUnclaimedRewards(state),
isAuthenticated: selectUserVerifiedEmail(state),
2017-07-27 21:13:12 -04:00
});
2017-04-07 12:15:22 +07:00
2017-06-05 21:21:55 -07:00
const perform = dispatch => ({
analyticsTagSync: () => dispatch(doAnalyticsTagSync()),
2019-08-06 12:53:59 -04:00
fetchAccessToken: () => dispatch(doFetchAccessToken()),
fetchChannelListMine: () => dispatch(doFetchChannelListMine()),
2019-11-08 15:51:42 -05:00
setLanguage: language => dispatch(doSetLanguage(language)),
2019-10-01 00:53:33 -04:00
signIn: () => dispatch(doSignIn()),
requestDownloadUpgrade: () => dispatch(doDownloadUpgradeRequested()),
2019-10-15 17:23:51 -04:00
checkSync: () => dispatch(doSyncWithPreferences()),
updatePreferences: () => dispatch(doGetAndPopulatePreferences()),
2020-01-14 15:44:07 -05:00
setReferrer: (referrer, doClaim) => dispatch(doUserSetReferrer(referrer, doClaim)),
2017-06-05 21:21:55 -07:00
});
2017-04-07 12:15:22 +07:00
export default hot(connect(select, perform)(App));