-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathindex.ios.js
96 lines (65 loc) · 1.61 KB
/
index.ios.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import React, {
Component
} from "react";
import {
AppRegistry,
Navigator,
} from "react-native";
import * as firebase from "firebase";
import Home from "./includes/views/home";
import Login from "./includes/views/login";
import Firebase from "./includes/firebase/firebase";
class Initial extends Component {
constructor(props) {
super(props);
Firebase.initialise();
this.getInitialView();
this.state = {
userLoaded: false,
initialView: null
};
this.getInitialView = this.getInitialView.bind(this);
}
getInitialView() {
firebase.auth().onAuthStateChanged((user) => {
let initialView = user ? "Home" : "Login";
this.setState({
userLoaded: true,
initialView: initialView
})
});
}
static renderScene(route, navigator) {
switch (route.name) {
case "Home":
return (<Home navigator={navigator} />);
break;
case "Login":
return (<Login navigator={navigator} />);
break;
}
}
static configureScene(route) {
if (route.sceneConfig) {
return (route.sceneConfig);
} else {
return ({
...Navigator.SceneConfigs.HorizontalSwipeJump,
gestures: {}
});
}
}
render() {
if (this.state.userLoaded) {
return (
<Navigator
initialRoute={{name: this.state.initialView}}
renderScene={Initial.renderScene}
configureScene={Initial.configureScene}
/>);
} else {
return null;
}
}
}
AppRegistry.registerComponent("FirebaseReactNative", () => Initial);