import React, { useEffect } from 'react'
import SplashScreen from 'react-native-splash-screen'
import { Root } from './src/module/root'
import './src/i18n/index'
import { Provider } from 'react-redux'
import { store } from './src/store/store'
import { GestureHandlerRootView } from 'react-native-gesture-handler'
import { NavigationContainer } from '@react-navigation/native'
import {
	SafeAreaProvider,
	initialWindowMetrics,
} from 'react-native-safe-area-context'
import { SheetProvider } from 'react-native-actions-sheet'

const App = () => {
	useEffect(() => {
		SplashScreen.hide()
	}, [])

	return (
		<GestureHandlerRootView style={{ flex: 1 }}>
			<NavigationContainer>
				<SafeAreaProvider initialMetrics={initialWindowMetrics}>
					<SheetProvider>
						<Provider store={store}>
							<Root />
						</Provider>
					</SheetProvider>
				</SafeAreaProvider>
			</NavigationContainer>
		</GestureHandlerRootView>
	)
}

export default App
