2.2.1 • Published 2 years ago
expo-theme-switcher v2.2.1
expo-theme-switcher
This is package help to handle theme toggle in bigger react native(expo) app, And it provide simple way to apply dark and light in all components
#Light Mode
#Dark Mode
Installation
npm install expo-theme-switcheror
yarn add expo-theme-switcherImport statement
import { ThemeProvider, ThemeSwitcherBtn, useTheme } from 'expo-theme-switcher';How to use it:
// In App.js
// setup part...
import { ThemeProvider, ThemeSwitcherBtn, useTheme } from 'expo-theme-switcher';
export default function App() {
// light theme colors
const lightTheme = {
primaryBackgroundColor: "white",
secondaryBackgroundColor: "#c7c7c7",
primaryTextColor: "#000",
secondaryTextColor: "",
primaryBorderColor: "black",
secondaryBorderColor: "gray",
}
// dark theme colors
const darkTheme = {
primaryBackgroundColor: "#111",
secondaryBackgroundColor: "#333",
primaryTextColor: "#fff",
secondaryTextColor: "#cccccc",
primaryBorderColor: "white",
secondaryBorderColor: "gray",
}
return (
<ThemeProvider light={lightTheme} dark={darkTheme}>
<Homepage /> // another component
<ThemeSwitcherBtn /> // toggle button
</ThemeProvider>
);
} // In Homepage.tsx
import { useTheme } from 'expo-theme-switcher'
const Homepage = () => {
const { currentTheme } = useTheme() // currentTheme is a object
// console.log("currentTheme : ", currentTheme) // currentTheme : {"isDarkMode": false, "primaryBackgroundColor": "white", "primaryTextColor": "#000", "secondaryBackgroundColor": "#ccc", "secondaryTextColor": "#4d4d4d"}
return (
<View style={{backgroundColor: currentTheme.primaryBackgroundColor}}>
<Text style={{color: currentTheme.primaryTextColor}} >Homepage</Text>
<Text style={{color: currentTheme.primaryTextColor}}>Homepage</Text>
</View>
)
}
export default Homepage🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
Show your support
Give a ⭐️ if this project helped you!
2.2.1
2 years ago
2.1.2
2 years ago
2.1.1
2 years ago
2.1.4
2 years ago
2.1.3
2 years ago
2.1.6
2 years ago
2.1.5
2 years ago
2.1.8
2 years ago
2.1.7
2 years ago
2.1.0
2 years ago
2.1.9
2 years ago
2.1.10
2 years ago
2.1.11
2 years ago
2.0.7
2 years ago
2.0.6
2 years ago
2.0.8
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago