From ec86282403ea34704d0faab7b04ca033bd3a0650 Mon Sep 17 00:00:00 2001
From: Hailey <me@haileyok.com>
Date: Tue, 6 Feb 2024 11:43:51 -0800
Subject: Options for selecting dark theme, fix some white flashes when in dark
 mode (#2722)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* add dark theme selection to settings/schema

* use `useThemePrefs` where needed

* adjust theme providers to support various themes

* update storybook

* handle web themes

* better themeing for web

* dont show dark theme prefs when color mode is light

* drop the inverted text change on oled theme

* get the color mode inside of `useColorModeTheme`

* use `ThemeName` type everywhere

* typo

* use dim/dark instead of dark/oled

* prevent any fickers on web

* fix styles

* use `dim` for dark default

* more cleanup

* 🤔

* set system background color

* ts
---
 src/Splash.tsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/Splash.tsx')

diff --git a/src/Splash.tsx b/src/Splash.tsx
index 99f9a100d..80d0a66e7 100644
--- a/src/Splash.tsx
+++ b/src/Splash.tsx
@@ -21,7 +21,7 @@ import {useSafeAreaInsets} from 'react-native-safe-area-context'
 import Svg, {Path, SvgProps} from 'react-native-svg'
 
 import {isAndroid} from '#/platform/detection'
-import {useColorMode} from '#/state/shell'
+import {useThemePrefs} from 'state/shell'
 import {Logotype} from '#/view/icons/Logotype'
 
 // @ts-ignore
@@ -75,7 +75,7 @@ export function Splash(props: React.PropsWithChildren<Props>) {
     isLayoutReady &&
     reduceMotion !== undefined
 
-  const colorMode = useColorMode()
+  const {colorMode} = useThemePrefs()
   const colorScheme = useColorScheme()
   const themeName = colorMode === 'system' ? colorScheme : colorMode
   const isDarkMode = themeName === 'dark'
-- 
cgit 1.4.1

