This repository has been archived by the owner on Mar 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.js
66 lines (58 loc) · 1.72 KB
/
App.js
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
import React from 'react'
import { View } from 'react-native'
import { createStackNavigator, createAppContainer } from 'react-navigation'
import { Font } from 'expo'
import * as firebase from 'firebase'
import LoginScreen from './app/LoginScreen'
import HomeScreen from './app/HomeScreen'
import ProfileScreen from './app/ProfileScreen'
import TempProfileScreen from './app/TempProfileScreen'
import FriendScreen from './app/FriendScreen'
import ChatWindow from './app/FriendScreen/ChatWindow'
const MainNavigator = createStackNavigator({
Login: { screen: LoginScreen },
Home: { screen: HomeScreen },
Profile: { screen: ProfileScreen },
TempProfile: { screen: TempProfileScreen },
Friend: { screen: FriendScreen },
Chat: { screen: ChatWindow }
}, {
initialRouteName: 'Login',
headerMode: 'none'
})
const App = createAppContainer(MainNavigator)
export default class AppContainer extends React.Component {
constructor (props) {
super(props)
this.state = {
fontLoaded: false
}
}
componentDidMount () {
this.loadAssetsAsync()
this.initializeFirebase()
}
loadAssetsAsync = async () => {
await Font.loadAsync({
'gotham': require('./assets/fonts/Gotham_Rounded_Bold.otf'),
'gotham-medium': require('./assets/fonts/Gotham_Rounded_Medium.ttf')
})
this.setState({ fontLoaded: true })
}
initializeFirebase = () => {
// Initialize Firebase
const firebaseConfig = {
apiKey: '<YOUR-API-KEY>',
authDomain: '<YOUR-AUTH-DOMAIN>',
databaseURL: '<YOUR-DATABASE-URL>',
storageBucket: '<YOUR-STORAGE-BUCKET>'
}
firebase.initializeApp(firebaseConfig)
}
render () {
if (!this.state.fontLoaded) {
return <View />
}
return <App />
}
}