lbry-desktop/src/ui/page/settings/index.js

47 lines
2.5 KiB
JavaScript
Raw Normal View History

import { connect } from 'react-redux';
2019-09-17 20:49:03 +02:00
import * as SETTINGS from 'constants/settings';
2018-07-18 21:48:30 +02:00
import { doClearCache, doNotifyEncryptWallet, doNotifyDecryptWallet } from 'redux/actions/app';
import { doSetDaemonSetting, doSetClientSetting, doGetThemes, doSetDarkTime } from 'redux/actions/settings';
2019-08-20 14:29:59 +02:00
import { selectIsPasswordSaved } from 'redux/selectors/app';
2019-08-14 05:04:08 +02:00
import { doSetPlayingUri } from 'redux/actions/content';
import { makeSelectClientSetting, selectDaemonSettings, selectosNotificationsEnabled } from 'redux/selectors/settings';
import { doWalletStatus, selectWalletIsEncrypted, selectBlockedChannelsCount } from 'lbry-redux';
import SettingsPage from './view';
2017-06-06 06:21:55 +02:00
const select = state => ({
2017-06-06 23:19:12 +02:00
daemonSettings: selectDaemonSettings(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),
osNotificationsEnabled: selectosNotificationsEnabled(state),
2019-09-17 20:49:03 +02:00
autoDownload: makeSelectClientSetting(SETTINGS.AUTO_DOWNLOAD)(state),
supportOption: makeSelectClientSetting(SETTINGS.SUPPORT_OPTION)(state),
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-06-06 06:21:55 +02:00
const perform = dispatch => ({
setDaemonSetting: (key, value) => dispatch(doSetDaemonSetting(key, value)),
clearCache: () => dispatch(doClearCache()),
2017-06-28 09:12:01 +02:00
setClientSetting: (key, value) => dispatch(doSetClientSetting(key, value)),
2017-09-07 02:52:34 +02:00
getThemes: () => dispatch(doGetThemes()),
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
});
export default connect(
select,
perform
)(SettingsPage);