import React from 'react'; import { config } from './config'; import { ColorSchemeName, useColorScheme, View, ViewProps } from 'react-native'; import { OverlayProvider } from '@gluestack-ui/overlay'; import { ToastProvider } from '@gluestack-ui/toast'; import { colorScheme as colorSchemeNW } from 'nativewind'; type ModeType = 'light' | 'dark' | 'system'; const getColorSchemeName = ( colorScheme: ColorSchemeName, mode: ModeType ): 'light' | 'dark' => { if (mode === 'system') { return colorScheme ?? 'light'; } return mode; }; export function GluestackUIProvider({ mode = 'light', ...props }: { mode?: 'light' | 'dark' | 'system'; children?: React.ReactNode; style?: ViewProps['style']; }) { const colorScheme = useColorScheme(); const colorSchemeName = getColorSchemeName(colorScheme, mode); colorSchemeNW.set(mode); return ( {props.children} ); }