rn-custom-style-sheet
Version:
React Native component to select a specific value from a range of values.
31 lines (30 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useSystemAppearance;
var _reactNative = require("react-native");
var _Theming = require("../../../Theming");
var _Reducer = require("../../Reducer");
var _UseDidMount = require("../UseDidMount");
function useSystemAppearance(dispatch, storage) {
(0, _UseDidMount.useDidMount)(() => {
function onThemeChange({
colorScheme
}) {
const currentTheme = colorScheme === _Reducer.AppThemeModeEnum.Dark ? _Reducer.AppThemeModeEnum.Dark : _Reducer.AppThemeModeEnum.Light;
storage.setStorage(_Theming.StorageKeys.SystemThemeModeKey, currentTheme);
dispatch({
type: _Reducer.ReducerEventEnum.ChangeSystemThemeMode,
payload: {
systemThemeMode: currentTheme
}
});
}
const subscription = _reactNative.Appearance.addChangeListener(onThemeChange);
return () => {
subscription.remove();
};
});
}
//# sourceMappingURL=UseSystemAppearance.js.map