2017-06-06 23:19:12 +02:00
|
|
|
import React from "react";
|
|
|
|
import { connect } from "react-redux";
|
2017-09-07 02:52:34 +02:00
|
|
|
import * as settings from "constants/settings";
|
2017-06-16 07:43:43 +02:00
|
|
|
import { doClearCache } from "actions/app";
|
2017-08-19 23:34:45 +02:00
|
|
|
import {
|
|
|
|
doSetDaemonSetting,
|
|
|
|
doSetClientSetting,
|
2017-08-24 18:29:54 +02:00
|
|
|
doGetThemes,
|
2017-08-19 23:34:45 +02:00
|
|
|
doSetTheme,
|
2017-08-19 20:03:51 +02:00
|
|
|
doChangeLanguage,
|
2017-08-19 23:34:45 +02:00
|
|
|
} from "actions/settings";
|
2017-08-08 11:36:14 +02:00
|
|
|
import {
|
2017-09-07 02:52:34 +02:00
|
|
|
makeSelectClientSetting,
|
2017-08-08 11:36:14 +02:00
|
|
|
selectDaemonSettings,
|
2017-08-19 20:03:51 +02:00
|
|
|
selectLanguages,
|
2017-08-08 11:36:14 +02:00
|
|
|
} from "selectors/settings";
|
2017-07-07 15:27:52 +02:00
|
|
|
import { selectCurrentLanguage } from "selectors/app";
|
2017-06-06 23:19:12 +02:00
|
|
|
import SettingsPage from "./view";
|
2017-05-17 23:52:45 +02:00
|
|
|
|
2017-06-06 06:21:55 +02:00
|
|
|
const select = state => ({
|
2017-06-06 23:19:12 +02:00
|
|
|
daemonSettings: selectDaemonSettings(state),
|
2017-09-07 03:53:42 +02:00
|
|
|
showNsfw: makeSelectClientSetting(settings.SHOW_NSFW)(state),
|
|
|
|
showUnavailable: makeSelectClientSetting(settings.SHOW_UNAVAILABLE)(state),
|
2017-09-08 07:03:37 +02:00
|
|
|
instantPurchaseEnabled: makeSelectClientSetting(
|
|
|
|
settings.INSTANT_PURCHASE_ENABLED
|
|
|
|
)(state),
|
|
|
|
instantPurchaseMax: makeSelectClientSetting(settings.INSTANT_PURCHASE_MAX)(
|
|
|
|
state
|
|
|
|
),
|
|
|
|
showUnavailable: makeSelectClientSetting(settings.SHOW_UNAVAILABLE)(state),
|
2017-09-07 03:53:42 +02:00
|
|
|
theme: makeSelectClientSetting(settings.THEME)(state),
|
|
|
|
themes: makeSelectClientSetting(settings.THEMES)(state),
|
2017-07-07 15:15:45 +02:00
|
|
|
language: selectCurrentLanguage(state),
|
2017-08-19 20:03:51 +02:00
|
|
|
languages: selectLanguages(state),
|
2017-06-06 06:21:55 +02:00
|
|
|
});
|
2017-05-17 23:52:45 +02:00
|
|
|
|
2017-06-06 06:21:55 +02:00
|
|
|
const perform = dispatch => ({
|
2017-05-17 23:52:45 +02:00
|
|
|
setDaemonSetting: (key, value) => dispatch(doSetDaemonSetting(key, value)),
|
2017-06-16 07:43:43 +02:00
|
|
|
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()),
|
2017-08-08 11:36:14 +02:00
|
|
|
changeLanguage: newLanguage => dispatch(doChangeLanguage(newLanguage)),
|
2017-06-06 06:21:55 +02:00
|
|
|
});
|
2017-05-17 23:52:45 +02:00
|
|
|
|
2017-06-06 06:21:55 +02:00
|
|
|
export default connect(select, perform)(SettingsPage);
|