Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react';
  2. import {
  3.   AppRegistry, Modal,AsyncStorage
  4. } from 'react-native';
  5. import { StackNavigator } from 'react-navigation';
  6. import ChatList from './screens/ChatList'
  7. import Login from './screens/Login'
  8. import ChatRooms from './screens/ChatRooms';
  9.  
  10. class App extends Component {
  11.     static navigationOptions = {
  12.   title: 'Home',
  13.   headerStyle: {
  14.           backgroundColor: '#64B5F6',
  15.       },
  16.       headerTitleStyle: {
  17.           color: 'white',
  18.       },
  19.       headerBackTitleStyle: {
  20.           color: 'white',
  21.       },
  22.       headerTintColor: 'white',
  23. };
  24.  
  25.   constructor() {
  26.     super();
  27.     this.state = {
  28.       loginVisible: true
  29.     }
  30.   }
  31.  
  32.   componentWillMount(){
  33.     //Check if userData is stored on device else open Login
  34.     AsyncStorage.getItem('userData').then((user_data_json) => {
  35.       let user_data = JSON.parse(user_data_json);
  36.        console.log(36, user_data);
  37.       if(user_data != null){
  38.         this.setState({loginVisible:false});
  39.       }else{
  40.          this.setState({loginVisible:true});
  41.       }
  42.     });
  43.  
  44.   }
  45.  
  46.   render(){
  47.  
  48.     console.log(48, this.state.loginVisible);
  49.     const { navigate } = this.props;
  50.     //if user is not logged in go to Login modal, if he is head to ChatRooms
  51.     //loginVisible determines such
  52.     if (this.state.loginVisible) {
  53.         console.log('visible')
  54.         return (
  55.             <Modal visible={this.state.loginVisible}
  56.                    onRequestClose={function() {}}>
  57.                     <Login navigation={ navigate} onClose={this._onCloseLogin.bind(this)}/>  
  58.             </Modal>
  59.           );
  60.            
  61.     } else {
  62.         return (
  63.             <ChatRooms onRoomSelected={this._onRoomSelected.bind(this)}/>
  64.           );
  65.     }
  66.  
  67.   }
  68.     _onRoomSelected(row) {
  69.         this.props.navigation.navigate('ChatList',{ row/*user: 'Lucy'*/ })
  70.         // alert("Selected User:\n" + JSON.stringify(user))
  71.     }
  72.  
  73.     _onCloseLogin(){
  74.         this.setState({
  75.           loginVisible: false,
  76.     })
  77.     }
  78.  
  79.  
  80. }
  81.  
  82. const SimpleApp = StackNavigator({
  83.   Home: { screen: App },
  84.   ChatList: { screen: ChatList, title: 'ss' },
  85. });
  86.  
  87. export default SimpleApp;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement