2017-12-21 18:08:54 -03:00
|
|
|
import { connect } from 'react-redux';
|
2020-07-27 13:43:30 -04:00
|
|
|
import { doClearCache, doNotifyForgetPassword, doToggle3PAnalytics, doOpenModal } from 'redux/actions/app';
|
2020-02-19 01:31:40 -05:00
|
|
|
import { selectAllowAnalytics } from 'redux/selectors/app';
|
2020-03-24 13:57:17 -04:00
|
|
|
import {
|
|
|
|
doSetDaemonSetting,
|
|
|
|
doClearDaemonSetting,
|
|
|
|
doSetClientSetting,
|
|
|
|
doSetDarkTime,
|
2020-09-04 11:02:30 -04:00
|
|
|
doEnterSettingsPage,
|
|
|
|
doExitSettingsPage,
|
2020-03-24 13:57:17 -04:00
|
|
|
} from 'redux/actions/settings';
|
2019-08-13 23:04:08 -04:00
|
|
|
import { doSetPlayingUri } from 'redux/actions/content';
|
2021-03-31 16:55:26 -04:00
|
|
|
import {
|
|
|
|
makeSelectClientSetting,
|
|
|
|
selectDaemonSettings,
|
|
|
|
selectLanguage,
|
|
|
|
selectShowMatureContent,
|
|
|
|
} from 'redux/selectors/settings';
|
2020-07-15 09:50:08 -04:00
|
|
|
import { doWalletStatus, selectWalletIsEncrypted, SETTINGS } from 'lbry-redux';
|
2017-12-21 18:08:54 -03:00
|
|
|
import SettingsPage from './view';
|
2020-06-15 16:33:03 -04:00
|
|
|
import { selectUserVerifiedEmail } from 'redux/selectors/user';
|
2017-05-17 17:52:45 -04:00
|
|
|
|
2021-03-03 13:50:16 -05:00
|
|
|
const select = (state) => ({
|
2017-06-06 17:19:12 -04:00
|
|
|
daemonSettings: selectDaemonSettings(state),
|
2020-02-19 01:31:40 -05:00
|
|
|
allowAnalytics: selectAllowAnalytics(state),
|
2019-11-22 16:13:00 -05:00
|
|
|
isAuthenticated: selectUserVerifiedEmail(state),
|
2021-03-31 16:55:26 -04:00
|
|
|
showNsfw: selectShowMatureContent(state),
|
2019-09-17 14:49:03 -04:00
|
|
|
currentTheme: makeSelectClientSetting(SETTINGS.THEME)(state),
|
|
|
|
themes: makeSelectClientSetting(SETTINGS.THEMES)(state),
|
|
|
|
automaticDarkModeEnabled: makeSelectClientSetting(SETTINGS.AUTOMATIC_DARK_MODE_ENABLED)(state),
|
2021-04-02 22:26:05 -07:00
|
|
|
clock24h: makeSelectClientSetting(SETTINGS.CLOCK_24H)(state),
|
2019-09-17 14:49:03 -04:00
|
|
|
autoplay: makeSelectClientSetting(SETTINGS.AUTOPLAY)(state),
|
2018-07-18 15:48:30 -04:00
|
|
|
walletEncrypted: selectWalletIsEncrypted(state),
|
2019-09-17 14:49:03 -04:00
|
|
|
autoDownload: makeSelectClientSetting(SETTINGS.AUTO_DOWNLOAD)(state),
|
|
|
|
hideBalance: makeSelectClientSetting(SETTINGS.HIDE_BALANCE)(state),
|
|
|
|
floatingPlayer: makeSelectClientSetting(SETTINGS.FLOATING_PLAYER)(state),
|
2020-04-15 12:43:22 -04:00
|
|
|
hideReposts: makeSelectClientSetting(SETTINGS.HIDE_REPOSTS)(state),
|
2019-09-17 14:49:03 -04:00
|
|
|
darkModeTimes: makeSelectClientSetting(SETTINGS.DARK_MODE_TIMES)(state),
|
2020-11-20 08:21:31 -05:00
|
|
|
language: selectLanguage(state),
|
2017-06-05 21:21:55 -07:00
|
|
|
});
|
2017-05-17 17:52:45 -04:00
|
|
|
|
2021-03-03 13:50:16 -05:00
|
|
|
const perform = (dispatch) => ({
|
2017-05-17 17:52:45 -04:00
|
|
|
setDaemonSetting: (key, value) => dispatch(doSetDaemonSetting(key, value)),
|
2021-03-03 13:50:16 -05:00
|
|
|
clearDaemonSetting: (key) => dispatch(doClearDaemonSetting(key)),
|
|
|
|
toggle3PAnalytics: (allow) => dispatch(doToggle3PAnalytics(allow)),
|
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)),
|
2018-07-18 15:48:30 -04:00
|
|
|
updateWalletStatus: () => dispatch(doWalletStatus()),
|
2021-03-03 13:50:16 -05:00
|
|
|
confirmForgetPassword: (modalProps) => dispatch(doNotifyForgetPassword(modalProps)),
|
2020-11-09 13:36:35 -05:00
|
|
|
clearPlayingUri: () => dispatch(doSetPlayingUri({ uri: null })),
|
2019-08-18 13:54:55 -03:00
|
|
|
setDarkTime: (time, options) => dispatch(doSetDarkTime(time, options)),
|
2020-05-22 11:47:48 -04:00
|
|
|
openModal: (id, params) => dispatch(doOpenModal(id, params)),
|
2020-09-04 11:02:30 -04:00
|
|
|
enterSettings: () => dispatch(doEnterSettingsPage()),
|
|
|
|
exitSettings: () => dispatch(doExitSettingsPage()),
|
2017-06-05 21:21:55 -07:00
|
|
|
});
|
2017-05-17 17:52:45 -04:00
|
|
|
|
2020-04-15 12:43:22 -04:00
|
|
|
export default connect(select, perform)(SettingsPage);
|