93b1ab8ac6
Fix and simplify state management of Instant Purchas setting Add Instant Purchase check to Watch page Merge Max Purchase Price and Instant Purchase into one section Wording still not finalized. Add Instant Purchase setting names to constants Support USD for Instant Purchase On Settings page, use constants for new Instant Purchase settings Convert Instant Purchase Maximum setting into FormRow Update wording of Instant Purchase option and add helper text. Wording still not final. On Settings page, get Instant Purchase settings via selector Update CHANGELOG.md
45 lines
1.5 KiB
JavaScript
45 lines
1.5 KiB
JavaScript
import React from "react";
|
|
import { connect } from "react-redux";
|
|
import * as settings from "constants/settings";
|
|
import { doClearCache } from "actions/app";
|
|
import {
|
|
doSetDaemonSetting,
|
|
doSetClientSetting,
|
|
doGetThemes,
|
|
doSetTheme,
|
|
doChangeLanguage,
|
|
} from "actions/settings";
|
|
import {
|
|
makeSelectClientSetting,
|
|
selectDaemonSettings,
|
|
selectLanguages,
|
|
} from "selectors/settings";
|
|
import { selectCurrentLanguage } from "selectors/app";
|
|
import SettingsPage from "./view";
|
|
|
|
const select = state => ({
|
|
daemonSettings: selectDaemonSettings(state),
|
|
showNsfw: makeSelectClientSetting(settings.SHOW_NSFW)(state),
|
|
showUnavailable: makeSelectClientSetting(settings.SHOW_UNAVAILABLE)(state),
|
|
instantPurchaseEnabled: makeSelectClientSetting(
|
|
settings.INSTANT_PURCHASE_ENABLED
|
|
)(state),
|
|
instantPurchaseMax: makeSelectClientSetting(settings.INSTANT_PURCHASE_MAX)(
|
|
state
|
|
),
|
|
showUnavailable: makeSelectClientSetting(settings.SHOW_UNAVAILABLE)(state),
|
|
theme: makeSelectClientSetting(settings.THEME)(state),
|
|
themes: makeSelectClientSetting(settings.THEMES)(state),
|
|
language: selectCurrentLanguage(state),
|
|
languages: selectLanguages(state),
|
|
});
|
|
|
|
const perform = dispatch => ({
|
|
setDaemonSetting: (key, value) => dispatch(doSetDaemonSetting(key, value)),
|
|
clearCache: () => dispatch(doClearCache()),
|
|
setClientSetting: (key, value) => dispatch(doSetClientSetting(key, value)),
|
|
getThemes: () => dispatch(doGetThemes()),
|
|
changeLanguage: newLanguage => dispatch(doChangeLanguage(newLanguage)),
|
|
});
|
|
|
|
export default connect(select, perform)(SettingsPage);
|