Files
lark-card/packages/app/provider/index.tsx
2025-08-25 12:00:06 +08:00

30 lines
781 B
TypeScript

import { useColorScheme } from 'react-native'
import {
CustomToast,
TamaguiProvider,
type TamaguiProviderProps,
ToastProvider,
config,
isWeb,
} from '@my/ui'
import { ToastViewport } from './ToastViewport'
export function Provider({
children,
defaultTheme = 'light',
...rest
}: Omit<TamaguiProviderProps, 'config'> & { defaultTheme?: string }) {
const colorScheme = useColorScheme()
const theme = defaultTheme || (colorScheme === 'dark' ? 'dark' : 'light')
return (
<TamaguiProvider config={config} defaultTheme={theme} {...rest}>
<ToastProvider swipeDirection="horizontal" duration={6000} native={isWeb ? [] : ['mobile']}>
{children}
<CustomToast />
<ToastViewport />
</ToastProvider>
</TamaguiProvider>
)
}