inspirar-innavanti
Version:
Libreria de apoyo para cualquier persona que quiera desarrollar aplicaciones de react native de forma facil
24 lines (23 loc) • 777 B
JavaScript
import React, { createContext, useContext } from "react";
import { StyleSheet } from "react-native";
import getTheme from "./getTheme";
const ThemeContext = createContext();
export const ThemeProvider = ({ children }) => {
let mode = "light";
const themeSelected = changeTheme(mode);
const theme = getTheme(themeSelected);
return (<ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>);
};
export const useTheme = () => {
return useContext(ThemeContext);
};
export const changeTheme = (mode) => {
const themeValids = ["light", "dark"];
if (themeValids.includes(mode)) {
return mode;
}
else {
console.warn('Tema no válido. Se establecerá el tema por defecto en "light".');
return "light";
}
};