@@ -11,13 +11,11 @@ import {
1111 MD3LightTheme ,
1212 MD2DarkTheme ,
1313 MD2LightTheme ,
14- MD2Theme ,
15- MD3Theme ,
16- useTheme ,
1714} from 'react-native-paper' ;
1815import { SafeAreaInsetsContext } from 'react-native-safe-area-context' ;
1916
2017import DrawerItems from './DrawerItems' ;
18+ import { PreferencesContext } from './PreferencesContext' ;
2119import App from './RootNavigator' ;
2220import {
2321 CombinedDarkTheme ,
@@ -28,20 +26,7 @@ import {
2826
2927const PERSISTENCE_KEY = 'NAVIGATION_STATE' ;
3028const PREFERENCES_KEY = 'APP_PREFERENCES' ;
31-
32- export const PreferencesContext = React . createContext < {
33- toggleTheme : ( ) => void ;
34- toggleThemeVersion : ( ) => void ;
35- toggleCollapsed : ( ) => void ;
36- toggleCustomFont : ( ) => void ;
37- toggleRippleEffect : ( ) => void ;
38- customFontLoaded : boolean ;
39- rippleEffectEnabled : boolean ;
40- collapsed : boolean ;
41- theme : MD2Theme | MD3Theme ;
42- } | null > ( null ) ;
43-
44- export const useExampleTheme = ( ) => useTheme < MD2Theme | MD3Theme > ( ) ;
29+ const noop = ( ) => { } ;
4530
4631const Drawer = createDrawerNavigator < { Home : undefined } > ( ) ;
4732
@@ -127,19 +112,24 @@ export default function PaperExample() {
127112 const preferences = React . useMemo (
128113 ( ) => ( {
129114 toggleTheme : ( ) => setIsDarkMode ( ( oldValue ) => ! oldValue ) ,
130- toggleCollapsed : ( ) => setCollapsed ( ! collapsed ) ,
131- toggleCustomFont : ( ) => setCustomFont ( ! customFontLoaded ) ,
132- toggleRippleEffect : ( ) => setRippleEffectEnabled ( ! rippleEffectEnabled ) ,
133115 toggleThemeVersion : ( ) => {
134116 setCustomFont ( false ) ;
135117 setCollapsed ( false ) ;
136118 setThemeVersion ( ( oldThemeVersion ) => ( oldThemeVersion === 2 ? 3 : 2 ) ) ;
137119 setRippleEffectEnabled ( true ) ;
138120 } ,
121+ toggleCollapsed : ( ) => setCollapsed ( ! collapsed ) ,
122+ toggleCustomFont : ( ) => setCustomFont ( ! customFontLoaded ) ,
123+ toggleRippleEffect : ( ) => setRippleEffectEnabled ( ! rippleEffectEnabled ) ,
124+ theme,
125+ collapsed,
139126 customFontLoaded,
140127 rippleEffectEnabled,
141- collapsed,
142- theme,
128+ // noop for web, specified to avoid type errors
129+ toggleRtl : noop ,
130+ toggleShouldUseDeviceColors : noop ,
131+ rtl : false ,
132+ shouldUseDeviceColors : false ,
143133 } ) ,
144134 [ theme , collapsed , customFontLoaded , rippleEffectEnabled ]
145135 ) ;
0 commit comments