2017-12-21 22:08:54 +01:00
|
|
|
import { connect } from 'react-redux';
|
2020-02-19 07:31:40 +01:00
|
|
|
import {
|
|
|
|
doClearCache,
|
|
|
|
doNotifyEncryptWallet,
|
|
|
|
doNotifyDecryptWallet,
|
|
|
|
doNotifyForgetPassword,
|
|
|
|
doToggle3PAnalytics,
|
|
|
|
} from 'redux/actions/app';
|
|
|
|
import { selectAllowAnalytics } from 'redux/selectors/app';
|
2019-10-03 23:40:54 +02:00
|
|
|
import { doSetDaemonSetting, doSetClientSetting, doSetDarkTime } from 'redux/actions/settings';
|
2019-08-14 05:04:08 +02:00
|
|
|
import { doSetPlayingUri } from 'redux/actions/content';
|
2019-09-04 23:43:37 +02:00
|
|
|
import { makeSelectClientSetting, selectDaemonSettings, selectosNotificationsEnabled } from 'redux/selectors/settings';
|
2020-02-19 07:31:40 +01:00
|
|
|
import { doWalletStatus, selectWalletIsEncrypted, selectBlockedChannelsCount, SETTINGS } from 'lbry-redux';
|
2017-12-21 22:08:54 +01:00
|
|
|
import SettingsPage from './view';
|
2019-11-22 22:13:00 +01:00
|
|
|
import { selectUserVerifiedEmail } from 'lbryinc';
|
2017-05-17 23:52:45 +02:00
|
|
|
|
2017-06-06 06:21:55 +02:00
|
|
|
const select = state => ({
|
2017-06-06 23:19:12 +02:00
|
|
|
daemonSettings: selectDaemonSettings(state),
|
2020-02-19 07:31:40 +01:00
|
|
|
allowAnalytics: selectAllowAnalytics(state),
|
2019-11-22 22:13:00 +01:00
|
|
|
isAuthenticated: selectUserVerifiedEmail(state),
|
2019-09-17 20:49:03 +02:00
|
|
|
showNsfw: makeSelectClientSetting(SETTINGS.SHOW_MATURE)(state),
|
|
|
|
instantPurchaseEnabled: makeSelectClientSetting(SETTINGS.INSTANT_PURCHASE_ENABLED)(state),
|
|
|
|
instantPurchaseMax: makeSelectClientSetting(SETTINGS.INSTANT_PURCHASE_MAX)(state),
|
|
|
|
currentTheme: makeSelectClientSetting(SETTINGS.THEME)(state),
|
|
|
|
themes: makeSelectClientSetting(SETTINGS.THEMES)(state),
|
|
|
|
automaticDarkModeEnabled: makeSelectClientSetting(SETTINGS.AUTOMATIC_DARK_MODE_ENABLED)(state),
|
|
|
|
autoplay: makeSelectClientSetting(SETTINGS.AUTOPLAY)(state),
|
2018-07-18 21:48:30 +02:00
|
|
|
walletEncrypted: selectWalletIsEncrypted(state),
|
2018-08-01 20:49:57 +02:00
|
|
|
osNotificationsEnabled: selectosNotificationsEnabled(state),
|
2019-09-17 20:49:03 +02:00
|
|
|
autoDownload: makeSelectClientSetting(SETTINGS.AUTO_DOWNLOAD)(state),
|
|
|
|
supportOption: makeSelectClientSetting(SETTINGS.SUPPORT_OPTION)(state),
|
2019-07-08 22:54:58 +02:00
|
|
|
userBlockedChannelsCount: selectBlockedChannelsCount(state),
|
2019-09-17 20:49:03 +02:00
|
|
|
hideBalance: makeSelectClientSetting(SETTINGS.HIDE_BALANCE)(state),
|
|
|
|
floatingPlayer: makeSelectClientSetting(SETTINGS.FLOATING_PLAYER)(state),
|
|
|
|
darkModeTimes: makeSelectClientSetting(SETTINGS.DARK_MODE_TIMES)(state),
|
2017-06-06 06:21:55 +02:00
|
|
|
});
|
2017-05-17 23:52:45 +02:00
|
|
|
|
2017-06-06 06:21:55 +02:00
|
|
|
const perform = dispatch => ({
|
2017-05-17 23:52:45 +02:00
|
|
|
setDaemonSetting: (key, value) => dispatch(doSetDaemonSetting(key, value)),
|
2020-02-19 07:31:40 +01:00
|
|
|
toggle3PAnalytics: allow => dispatch(doToggle3PAnalytics(allow)),
|
2017-06-16 07:43:43 +02:00
|
|
|
clearCache: () => dispatch(doClearCache()),
|
2017-06-28 09:12:01 +02:00
|
|
|
setClientSetting: (key, value) => dispatch(doSetClientSetting(key, value)),
|
2018-07-18 21:48:30 +02:00
|
|
|
encryptWallet: () => dispatch(doNotifyEncryptWallet()),
|
|
|
|
decryptWallet: () => dispatch(doNotifyDecryptWallet()),
|
|
|
|
updateWalletStatus: () => dispatch(doWalletStatus()),
|
2019-08-20 14:29:59 +02:00
|
|
|
confirmForgetPassword: modalProps => dispatch(doNotifyForgetPassword(modalProps)),
|
2019-08-14 05:04:08 +02:00
|
|
|
clearPlayingUri: () => dispatch(doSetPlayingUri(null)),
|
2019-08-18 18:54:55 +02:00
|
|
|
setDarkTime: (time, options) => dispatch(doSetDarkTime(time, options)),
|
2017-06-06 06:21:55 +02:00
|
|
|
});
|
2017-05-17 23:52:45 +02:00
|
|
|
|
2018-06-19 05:36:15 +02:00
|
|
|
export default connect(
|
|
|
|
select,
|
|
|
|
perform
|
|
|
|
)(SettingsPage);
|