2017-12-21 18:08:54 -03:00
|
|
|
import { connect } from 'react-redux';
|
|
|
|
import * as settings from 'constants/settings';
|
2018-07-18 15:48:30 -04:00
|
|
|
import { doClearCache, doNotifyEncryptWallet, doNotifyDecryptWallet } from 'redux/actions/app';
|
2019-05-07 17:38:29 -04:00
|
|
|
import { doSetDaemonSetting, doSetClientSetting, doGetThemes, doChangeLanguage } from 'redux/actions/settings';
|
2019-08-13 23:04:08 -04:00
|
|
|
import { doSetPlayingUri } from 'redux/actions/content';
|
2017-08-08 10:36:14 +01:00
|
|
|
import {
|
2017-09-06 20:52:34 -04:00
|
|
|
makeSelectClientSetting,
|
2017-08-08 10:36:14 +01:00
|
|
|
selectDaemonSettings,
|
2017-08-19 14:03:51 -04:00
|
|
|
selectLanguages,
|
2018-08-01 15:49:57 -03:00
|
|
|
selectosNotificationsEnabled,
|
2017-12-21 18:08:54 -03:00
|
|
|
} from 'redux/selectors/settings';
|
2019-07-08 16:54:58 -04:00
|
|
|
import { doWalletStatus, selectWalletIsEncrypted, selectBlockedChannelsCount } from 'lbry-redux';
|
2017-12-21 18:08:54 -03:00
|
|
|
import SettingsPage from './view';
|
2017-05-17 17:52:45 -04:00
|
|
|
|
2017-06-05 21:21:55 -07:00
|
|
|
const select = state => ({
|
2017-06-06 17:19:12 -04:00
|
|
|
daemonSettings: selectDaemonSettings(state),
|
2017-09-06 21:53:42 -04:00
|
|
|
showNsfw: makeSelectClientSetting(settings.SHOW_NSFW)(state),
|
2017-12-21 18:08:54 -03:00
|
|
|
instantPurchaseEnabled: makeSelectClientSetting(settings.INSTANT_PURCHASE_ENABLED)(state),
|
|
|
|
instantPurchaseMax: makeSelectClientSetting(settings.INSTANT_PURCHASE_MAX)(state),
|
2018-03-26 14:32:43 -07:00
|
|
|
currentTheme: makeSelectClientSetting(settings.THEME)(state),
|
2017-09-06 21:53:42 -04:00
|
|
|
themes: makeSelectClientSetting(settings.THEMES)(state),
|
2019-06-07 17:10:47 -04:00
|
|
|
currentLanguage: makeSelectClientSetting(settings.LANGUAGE)(state),
|
2017-08-19 14:03:51 -04:00
|
|
|
languages: selectLanguages(state),
|
2018-01-14 20:14:15 +11:00
|
|
|
automaticDarkModeEnabled: makeSelectClientSetting(settings.AUTOMATIC_DARK_MODE_ENABLED)(state),
|
2018-05-29 21:18:41 -06:00
|
|
|
autoplay: makeSelectClientSetting(settings.AUTOPLAY)(state),
|
2018-07-18 15:48:30 -04:00
|
|
|
walletEncrypted: selectWalletIsEncrypted(state),
|
2018-08-01 15:49:57 -03:00
|
|
|
osNotificationsEnabled: selectosNotificationsEnabled(state),
|
2018-08-10 10:51:51 -04:00
|
|
|
autoDownload: makeSelectClientSetting(settings.AUTO_DOWNLOAD)(state),
|
2019-07-19 16:21:41 -04:00
|
|
|
supportOption: makeSelectClientSetting(settings.SUPPORT_OPTION)(state),
|
2019-07-08 16:54:58 -04:00
|
|
|
userBlockedChannelsCount: selectBlockedChannelsCount(state),
|
2019-07-29 11:37:29 -04:00
|
|
|
hideBalance: makeSelectClientSetting(settings.HIDE_BALANCE)(state),
|
2019-08-13 01:35:13 -04:00
|
|
|
floatingPlayer: makeSelectClientSetting(settings.FLOATING_PLAYER)(state),
|
2017-06-05 21:21:55 -07:00
|
|
|
});
|
2017-05-17 17:52:45 -04:00
|
|
|
|
2017-06-05 21:21:55 -07:00
|
|
|
const perform = dispatch => ({
|
2017-05-17 17:52:45 -04:00
|
|
|
setDaemonSetting: (key, value) => dispatch(doSetDaemonSetting(key, value)),
|
2017-06-16 12:43:43 +07:00
|
|
|
clearCache: () => dispatch(doClearCache()),
|
2017-06-28 14:12:01 +07:00
|
|
|
setClientSetting: (key, value) => dispatch(doSetClientSetting(key, value)),
|
2017-09-06 20:52:34 -04:00
|
|
|
getThemes: () => dispatch(doGetThemes()),
|
2017-08-08 10:36:14 +01:00
|
|
|
changeLanguage: newLanguage => dispatch(doChangeLanguage(newLanguage)),
|
2018-07-18 15:48:30 -04:00
|
|
|
encryptWallet: () => dispatch(doNotifyEncryptWallet()),
|
|
|
|
decryptWallet: () => dispatch(doNotifyDecryptWallet()),
|
|
|
|
updateWalletStatus: () => dispatch(doWalletStatus()),
|
2019-08-13 23:04:08 -04:00
|
|
|
clearPlayingUri: () => dispatch(doSetPlayingUri(null)),
|
2017-06-05 21:21:55 -07:00
|
|
|
});
|
2017-05-17 17:52:45 -04:00
|
|
|
|
2018-06-18 23:36:15 -04:00
|
|
|
export default connect(
|
|
|
|
select,
|
|
|
|
perform
|
|
|
|
)(SettingsPage);
|