import { Session } from '@supabase/supabase-js' import React from 'react' import { AuthProvider } from './auth' import { QueryClientProvider } from './react-query' import { SafeAreaProvider } from './safe-area' import { TamaguiProvider } from './tamagui' import { UniversalThemeProvider } from './theme' import { ToastProvider } from './toast' export { loadThemePromise } from './theme/UniversalThemeProvider' export function Provider({ initialSession, children, }: { initialSession?: Session | null children: React.ReactNode }) { return ( {children} ) } const compose = (providers: React.FC<{ children: React.ReactNode }>[]) => providers.reduce((Prev, Curr) => ({ children }) => { const Provider = Prev ? ( {children} ) : ( {children} ) return Provider }) const Providers = compose([ UniversalThemeProvider, SafeAreaProvider, TamaguiProvider, ToastProvider, QueryClientProvider, ])