lbry-desktop/src/renderer/redux/selectors/settings.js

40 lines
1,000 B
JavaScript
Raw Normal View History

2017-09-07 02:52:34 +02:00
import * as settings from "constants/settings";
2017-06-06 23:19:12 +02:00
import { createSelector } from "reselect";
2017-06-06 06:21:55 +02:00
const _selectState = state => state.settings || {};
export const selectDaemonSettings = createSelector(
_selectState,
state => state.daemonSettings
2017-06-06 06:21:55 +02:00
);
export const selectClientSettings = createSelector(
_selectState,
2017-06-28 09:12:01 +02:00
state => state.clientSettings || {}
2017-06-06 06:21:55 +02:00
);
2017-08-21 05:06:26 +02:00
export const makeSelectClientSetting = setting => {
return createSelector(
selectClientSettings,
settings => (settings ? settings[setting] : undefined)
);
};
export const selectSettingsIsGenerous = createSelector(
selectDaemonSettings,
2017-06-06 23:19:12 +02:00
settings => settings && settings.is_generous_host
2017-06-06 06:21:55 +02:00
);
2017-06-28 09:12:01 +02:00
2017-09-07 03:53:42 +02:00
//refactor me
export const selectShowNsfw = makeSelectClientSetting(settings.SHOW_NSFW);
2017-08-08 11:36:14 +02:00
2017-08-19 20:03:51 +02:00
export const selectLanguages = createSelector(
2017-08-08 11:36:14 +02:00
_selectState,
2017-08-19 20:03:51 +02:00
state => state.languages || {}
2017-08-08 11:36:14 +02:00
);
2017-09-07 02:52:34 +02:00
export const selectThemePath = createSelector(
makeSelectClientSetting(settings.THEME),
theme => "themes/" + (theme || "light") + ".css"
);