rn-custom-style-sheet
Version:
React Native component to select a specific value from a range of values.
34 lines • 1.05 kB
JavaScript
import { useCallback } from 'react';
import { ReducerEventEnum, useThemeContext } from '../../../Core';
export const StorageKeys = {
AppThemeNameKey: 'appThemeNameKey',
AppThemeModeKey: 'appThemeModeKey',
SystemThemeModeKey: 'systemThemeModeKey'
};
export default function useUpdateTheme() {
const {
dispatch,
storage
} = useThemeContext();
const handleAppTheme = useCallback((appThemeName, appThemeMode) => {
if (appThemeName !== undefined) {
storage?.setStorage(StorageKeys.AppThemeNameKey, appThemeName);
}
if (appThemeMode !== undefined) {
storage?.setStorage(StorageKeys.AppThemeModeKey, appThemeMode);
}
if (appThemeName !== undefined || appThemeMode !== undefined) {
dispatch({
type: ReducerEventEnum.ChangeAppTheme,
payload: {
appThemeName: appThemeName,
appThemeMode: appThemeMode
}
});
}
},
// eslint-disable-next-line react-hooks/exhaustive-deps
[]);
return handleAppTheme;
}
//# sourceMappingURL=UseUpdateTheme.js.map