rn-custom-style-sheet
Version:
React Native component to select a specific value from a range of values.
25 lines • 871 B
JavaScript
import { Appearance } from 'react-native';
import { StorageKeys } from '../../../Theming';
import { AppThemeModeEnum, ReducerEventEnum } from '../../Reducer';
import { useDidMount } from '../UseDidMount';
export default function useSystemAppearance(dispatch, storage) {
useDidMount(() => {
function onThemeChange({
colorScheme
}) {
const currentTheme = colorScheme === AppThemeModeEnum.Dark ? AppThemeModeEnum.Dark : AppThemeModeEnum.Light;
storage.setStorage(StorageKeys.SystemThemeModeKey, currentTheme);
dispatch({
type: ReducerEventEnum.ChangeSystemThemeMode,
payload: {
systemThemeMode: currentTheme
}
});
}
const subscription = Appearance.addChangeListener(onThemeChange);
return () => {
subscription.remove();
};
});
}
//# sourceMappingURL=UseSystemAppearance.js.map