about summary refs log tree commit diff
path: root/src/lib/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/hooks')
-rw-r--r--src/lib/hooks/useCustomPalette.ts13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/hooks/useCustomPalette.ts b/src/lib/hooks/useCustomPalette.ts
new file mode 100644
index 000000000..4f8f5c836
--- /dev/null
+++ b/src/lib/hooks/useCustomPalette.ts
@@ -0,0 +1,13 @@
+import React from 'react'
+import {useTheme} from 'lib/ThemeContext'
+import {choose} from 'lib/functions'
+
+export function useCustomPalette<T>({light, dark}: {light: T; dark: T}) {
+  const theme = useTheme()
+  return React.useMemo(() => {
+    return choose<T, Record<string, T>>(theme.colorScheme, {
+      dark,
+      light,
+    })
+  }, [theme.colorScheme, dark, light])
+}