Feat: Use system default color mode, but allow user override

This commit is contained in:
Jaz 2023-05-16 21:36:43 -07:00
parent 404b2f043c
commit da0ed7e002
6 changed files with 59 additions and 35 deletions

View file

@ -89,10 +89,13 @@ export const ThemeProvider: React.FC<ThemeProviderProps> = ({
theme,
children,
}) => {
const colorScheme = useColorScheme()
const colorSchemeFromRN = useColorScheme()
// if theme is 'system', use the device's configured color scheme
let colorScheme = theme === 'system' ? colorSchemeFromRN : theme
const value = useMemo(
() => ((theme || colorScheme) === 'dark' ? darkTheme : defaultTheme),
() => (colorScheme === 'dark' ? darkTheme : defaultTheme),
[colorScheme, theme],
)