-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.ios.js
66 lines (58 loc) · 1.25 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
/**
* Sample React Native Chat App with Socket.io
* Emre TEKİNCE - emretekince.com
* https://github.com/emretekince/react-native-example-chat-socket-io
*/
'use strict';
import React from 'react-native';
import Login from './Login';
import Chat from './Chat';
var {
AppRegistry,
StatusBarIOS,
Component,
View,
ActivityIndicatorIOS,
AsyncStorage
} = React;
class AwesomeProject extends Component{
constructor(props) {
super(props);
this.state = {
isLoggedIn:false,
checkingAuth: true
}
}
componentDidMount(){
AsyncStorage.getItem('username',(err,val)=>{
this.setState({
checkingAuth: false,
isLoggedIn: val != null
})
})
}
render() {
StatusBarIOS.setStyle('light-content');
if(this.state.checkingAuth){
return (
<View style={{flex:1,justifyContent:'center'}}>
<ActivityIndicatorIOS animating={true} size="large" />
</View>
)
}
if(!this.state.isLoggedIn)
return (
<Login onLogin={this.onLogin.bind(this)}/>
);
else
return (
<Chat/>
);
}
onLogin() {
this.setState({
isLoggedIn:true
})
}
}
AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);