@livelike/react-native
Version:
LiveLike React Native package
37 lines (36 loc) • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useTheme = useTheme;
var _react = require("react");
var _reactNative = require("react-native");
var _store = require("../store");
var _utils = require("../utils");
var _useStore = require("./useStore");
function useTheme() {
let {
themeType: themeTypeArg
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
const colorScheme = (0, _reactNative.useColorScheme)();
const {
themes,
currentThemeType,
isNonDefaultThemeType
} = (0, _useStore.useStore)(_store.themeStore);
const _themeType = (0, _react.useMemo)(() => {
if (isNonDefaultThemeType) {
return currentThemeType;
}
return colorScheme;
}, [colorScheme, currentThemeType, isNonDefaultThemeType]);
return (0, _react.useMemo)(() => ({
themeType: _themeType,
themes,
themeAssets: (0, _utils.getThemeAssets)(_themeType),
theme: themes[themeTypeArg || _themeType],
setThemeType: _store.themeStoreActions.setThemeTypeAction,
setThemes: _store.themeStoreActions.setThemesAction
}), [_themeType, themeTypeArg, themes]);
}
//# sourceMappingURL=useTheme.js.map