You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
537 B
22 lines
537 B
|
1 month ago
|
/**
|
||
|
|
* Learn more about light and dark modes:
|
||
|
|
* https://docs.expo.dev/guides/color-schemes/
|
||
|
|
*/
|
||
|
|
|
||
|
|
import { Colors } from '@/constants/theme';
|
||
|
|
import { useColorScheme } from '@/hooks/use-color-scheme';
|
||
|
|
|
||
|
|
export function useThemeColor(
|
||
|
|
props: { light?: string; dark?: string },
|
||
|
|
colorName: keyof typeof Colors.light & keyof typeof Colors.dark
|
||
|
|
) {
|
||
|
|
const theme = useColorScheme() ?? 'light';
|
||
|
|
const colorFromProps = props[theme];
|
||
|
|
|
||
|
|
if (colorFromProps) {
|
||
|
|
return colorFromProps;
|
||
|
|
} else {
|
||
|
|
return Colors[theme][colorName];
|
||
|
|
}
|
||
|
|
}
|