-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.tsx
71 lines (61 loc) · 2.19 KB
/
App.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import React, { useState, useEffect } from 'react'
import { NavigationContainer } from '@react-navigation/native'
import AsyncStorage from '@react-native-community/async-storage'
import * as Sentry from '@sentry/react-native'
import { ApolloProvider } from '@apollo/client'
import DevMenu from 'react-native-dev-menu'
import './src/utilities/ReactotronConfig'
//import Storybook from './storybook'
import { client } from './client'
import BaseModule from './src/BaseModule'
import { useNoInternet } from './src/utilities/hooks'
import AppNoInternet from './src/components/AppNoInternet'
const storybookKeyName = 'mobile-render-storybook'
const App: React.FC = () => {
const [isStorybook, setIsStorybook] = useState(false)
const { isConnected } = useNoInternet()
const loadRenderStorybook = async () => {
try {
const value = await AsyncStorage.getItem(storybookKeyName)
setIsStorybook(value === 'true')
} catch (error) {
console.warn(error)
}
}
const toggleStorybook = async () => {
setIsStorybook((_renderStorybook) => {
AsyncStorage.setItem(storybookKeyName, String(_renderStorybook)).catch((e) => console.warn(e))
return !_renderStorybook
})
}
useEffect(() => {
/** Development-mode */
if (__DEV__) {
DevMenu.addItem('Toggle storybook', toggleStorybook)
//LogBox.ignoreAllLogs() // Ignore all log warnings
//console.error = () => console.log() // Ignore all errors
}
// Sentry logging
// Visit here to see all logs https://sentry.io/organizations/vibins-personal-projects/issues/?project=5935046
Sentry.init({
dsn: 'https://9c5521b6af684430a7c4b4cf8ef0a352@o971056.ingest.sentry.io/5935046',
enableAutoSessionTracking: true,
// Sessions close after app is 10 seconds in the background.
sessionTrackingIntervalMillis: 10000,
maxBreadcrumbs: 50,
debug: true,
enableNative: false,
})
//loadRenderStorybook()
}, [])
if (isStorybook) return <></>
return (
<ApolloProvider client={client}>
<AppNoInternet isConnected={isConnected} />
<NavigationContainer>
<BaseModule />
</NavigationContainer>
</ApolloProvider>
)
}
export default App