34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
|
import { useColorScheme } from 'react-native'
|
||
|
import { TamaguiProvider, type TamaguiProviderProps } from 'tamagui'
|
||
|
import { ToastProvider, ToastViewport } from '@tamagui/toast'
|
||
|
import { CurrentToast } from './CurrentToast'
|
||
|
import { config } from '../tamagui.config'
|
||
|
import {useRouter} from "expo-router"
|
||
|
|
||
|
export function Provider({ children, ...rest }: Omit<TamaguiProviderProps, 'config'>) {
|
||
|
const colorScheme = useColorScheme()
|
||
|
|
||
|
return (
|
||
|
<TamaguiProvider
|
||
|
config={config}
|
||
|
defaultTheme={colorScheme === 'dark' ? 'dark' : 'light'}
|
||
|
{...rest}
|
||
|
>
|
||
|
<ToastProvider
|
||
|
swipeDirection="horizontal"
|
||
|
duration={6000}
|
||
|
native={
|
||
|
[
|
||
|
/* uncomment the next line to do native toasts on mobile. NOTE: it'll require you making a dev build and won't work with Expo Go */
|
||
|
// 'mobile'
|
||
|
]
|
||
|
}
|
||
|
>
|
||
|
{children}
|
||
|
<CurrentToast />
|
||
|
<ToastViewport top="$8" left={0} right={0} />
|
||
|
</ToastProvider>
|
||
|
</TamaguiProvider>
|
||
|
)
|
||
|
}
|