-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.js
55 lines (50 loc) · 1.55 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
/* global require */
import React from 'react';
import { createStackNavigator } from 'react-navigation';
import {Font} from 'expo';
import * as firebase from 'firebase';
import TrailsScreen from './src/screens/TrailsScreen'
import LoginScreen from './src/screens/LoginScreen';
import LogHikeScreen from './src/screens/LogHike';
import TrailDetailScreen from './src/screens/TrailDetailScreen';
import UserHikesScreen from './src/screens/UserHikesScreen';
import UserTeamScreen from './src/screens/UserTeamScreen';
import LeaderboardScreen from './src/screens/LeaderboardScreen';
import { config } from './config';
const RootStack = createStackNavigator(
{
TrailDetail: TrailDetailScreen,
Trails: TrailsScreen,
Login: LoginScreen,
LogHike: LogHikeScreen,
UserHikes: UserHikesScreen,
UserTeam: UserTeamScreen,
Leaderboard: LeaderboardScreen
},
{
initialRouteName: 'Login',
}
);
export default class App extends React.Component {
state = {
firebaseInitialized: false,
fontLoaded: false
}
async componentDidMount(){
await firebase.initializeApp(config);
this.setState({firebaseInitialized: true});
await Font.loadAsync({
'News Cycle': require('./assets/fonts/NewsCycle-Regular.ttf'),
'News Cycle Bold': require('./assets/fonts/NewsCycle-Bold.ttf'),
'Poppins': require('./assets/fonts/Poppins-Regular.ttf')
});
this.setState({fontLoaded: true})
}
render() {
return (
(this.state.firebaseInitialized && this.state.fontLoaded) ?
<RootStack/> :
null
);
}
}