diff --git a/ui/component/settingAppearance/index.js b/ui/component/settingAppearance/index.js index 30230b578..609263f25 100644 --- a/ui/component/settingAppearance/index.js +++ b/ui/component/settingAppearance/index.js @@ -1,8 +1,15 @@ import { connect } from 'react-redux'; +import { SETTINGS } from 'lbry-redux'; +import { doSetClientSetting } from 'redux/actions/settings'; +import { makeSelectClientSetting } from 'redux/selectors/settings'; import SettingAppearance from './view'; -const select = (state) => ({}); +const select = (state) => ({ + clock24h: makeSelectClientSetting(SETTINGS.CLOCK_24H)(state), +}); -const perform = (dispatch) => ({}); +const perform = (dispatch) => ({ + setClientSetting: (key, value) => dispatch(doSetClientSetting(key, value)), +}); export default connect(select, perform)(SettingAppearance); diff --git a/ui/component/settingAppearance/view.jsx b/ui/component/settingAppearance/view.jsx index 2aa59bfe7..0a3d42616 100644 --- a/ui/component/settingAppearance/view.jsx +++ b/ui/component/settingAppearance/view.jsx @@ -1,15 +1,22 @@ // @flow import React from 'react'; +import { SETTINGS } from 'lbry-redux'; import Card from 'component/common/card'; +import { FormField } from 'component/common/form'; import HomepageSelector from 'component/homepageSelector'; import SettingLanguage from 'component/settingLanguage'; import ThemeSelector from 'component/themeSelector'; // $FlowFixMe import homepages from 'homepages'; -type Props = {}; +type Props = { + clock24h: boolean, + setClientSetting: (string, boolean | string | number) => void, +}; export default function SettingAppearance(props: Props) { + const { clock24h, setClientSetting } = props; + return ( - + SettingsRow title={__('Theme')}> + + + setClientSetting(SETTINGS.CLOCK_24H, !clock24h)} + checked={clock24h} + /> + } /> diff --git a/ui/page/settings/index.js b/ui/page/settings/index.js index 48965eaf2..c72fc75ba 100644 --- a/ui/page/settings/index.js +++ b/ui/page/settings/index.js @@ -19,7 +19,6 @@ const select = (state) => ({ allowAnalytics: selectAllowAnalytics(state), isAuthenticated: selectUserVerifiedEmail(state), showNsfw: selectShowMatureContent(state), - clock24h: makeSelectClientSetting(SETTINGS.CLOCK_24H)(state), autoplay: makeSelectClientSetting(SETTINGS.AUTOPLAY)(state), autoDownload: makeSelectClientSetting(SETTINGS.AUTO_DOWNLOAD)(state), hideBalance: makeSelectClientSetting(SETTINGS.HIDE_BALANCE)(state), diff --git a/ui/page/settings/view.jsx b/ui/page/settings/view.jsx index 6ab968cac..6c91aa7b2 100644 --- a/ui/page/settings/view.jsx +++ b/ui/page/settings/view.jsx @@ -41,7 +41,6 @@ type Props = { isAuthenticated: boolean, instantPurchaseEnabled: boolean, instantPurchaseMax: Price, - clock24h: boolean, autoplay: boolean, floatingPlayer: boolean, hideReposts: ?boolean, @@ -64,10 +63,6 @@ class SettingsPage extends React.PureComponent { exitSettings(); } - onClock24hChange(value: boolean) { - this.props.setClientSetting(SETTINGS.CLOCK_24H, value); - } - setDaemonSetting(name: string, value: ?SetDaemonSettingArg): void { this.props.setDaemonSetting(name, value); } @@ -82,7 +77,6 @@ class SettingsPage extends React.PureComponent { allowAnalytics, showNsfw, isAuthenticated, - clock24h, autoplay, // autoDownload, setDaemonSetting, @@ -153,23 +147,6 @@ class SettingsPage extends React.PureComponent { /> {/* @endif */} - - - this.onClock24hChange(!clock24h)} - checked={clock24h} - label={__('24-hour clock')} - /> - - - } - /> -