summaryrefslogtreecommitdiff
path: root/src/react-native-app/hooks/useThemeColor.ts
diff options
context:
space:
mode:
authorSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
committerSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
commit82e03978b89938219958032efb1448cc76baa181 (patch)
tree626f3e54d52ecd49be0ed3bee30abacc0453d081 /src/react-native-app/hooks/useThemeColor.ts
Initial snapshot - OpenTelemetry demo 2.1.3 -f
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];
+ }
+}