summaryrefslogtreecommitdiff
path: root/src/react-native-app/hooks/useThemeColor.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/react-native-app/hooks/useThemeColor.ts')
-rw-r--r--src/react-native-app/hooks/useThemeColor.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/react-native-app/hooks/useThemeColor.ts b/src/react-native-app/hooks/useThemeColor.ts
new file mode 100644
index 0000000..c7b9684
--- /dev/null
+++ b/src/react-native-app/hooks/useThemeColor.ts
@@ -0,0 +1,24 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+/**
+ * Learn more about light and dark modes:
+ * https://docs.expo.dev/guides/color-schemes/
+ */
+
+import { useColorScheme } from "react-native";
+
+import { Colors } from "@/constants/Colors";
+
+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];
+ }
+}