1
0
mirror of https://github.com/tooot-app/app synced 2025-02-09 00:18:38 +01:00
tooot/App.tsx

54 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-10-31 21:04:46 +01:00
import React from 'react'
2020-11-23 00:07:32 +01:00
import { AppearanceProvider } from 'react-native-appearance'
import { QueryCache, ReactQueryCacheProvider, setConsole } from 'react-query'
2020-11-21 13:19:05 +01:00
import { Provider } from 'react-redux'
2020-11-23 00:07:32 +01:00
import ThemeManager from 'src/utils/styles/ThemeManager'
2020-10-31 21:04:46 +01:00
import { Index } from 'src/Index'
import { persistor, store } from 'src/store'
import { PersistGate } from 'redux-persist/integration/react'
2020-10-31 21:04:46 +01:00
const queryCache = new QueryCache()
setConsole({
log: console.log,
warn: console.warn,
error: console.warn
})
2020-12-10 19:19:56 +01:00
if (__DEV__) {
const whyDidYouRender = require('@welldone-software/why-did-you-render')
whyDidYouRender(React, {
trackAllPureComponents: true,
trackHooks: true,
hotReloadBufferMs: 1000
})
}
2020-11-17 23:57:23 +01:00
2020-11-23 00:07:32 +01:00
const App: React.FC = () => {
return (
<AppearanceProvider>
2020-11-29 18:08:31 +01:00
<ReactQueryCacheProvider queryCache={queryCache}>
<Provider store={store}>
<PersistGate persistor={persistor}>
{bootstrapped => {
if (bootstrapped) {
require('src/i18n/i18n')
return (
<ThemeManager>
<Index />
</ThemeManager>
)
} else {
return <></>
}
}}
</PersistGate>
</Provider>
</ReactQueryCacheProvider>
2020-11-23 00:07:32 +01:00
</AppearanceProvider>
)
}
2020-10-31 21:04:46 +01:00
export default App