You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import React, { useEffect } from 'react'; import { config } from './config'; import { View, ViewProps } from 'react-native'; import { OverlayProvider } from '@gluestack-ui/overlay'; import { ToastProvider } from '@gluestack-ui/toast'; import { useColorScheme } from 'nativewind'; import { ModeType } from './types';
export function GluestackUIProvider({ mode = 'light', ...props }: { mode?: ModeType; children?: React.ReactNode; style?: ViewProps['style']; }) { const { colorScheme, setColorScheme } = useColorScheme();
useEffect(() => { setColorScheme(mode); // eslint-disable-next-line react-hooks/exhaustive-deps
}, [mode]);
return ( <View style={[ config[colorScheme!], { flex: 1, height: '100%', width: '100%' }, props.style, ]} > <OverlayProvider> <ToastProvider>{props.children}</ToastProvider> </OverlayProvider> </View> ); }
|