Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, { Component } from 'react';
- import {
- AppRegistry, Modal,AsyncStorage
- } from 'react-native';
- import { StackNavigator } from 'react-navigation';
- import ChatList from './screens/ChatList'
- import Login from './screens/Login'
- import ChatRooms from './screens/ChatRooms';
- class App extends Component {
- static navigationOptions = {
- title: 'Home',
- headerStyle: {
- backgroundColor: '#64B5F6',
- },
- headerTitleStyle: {
- color: 'white',
- },
- headerBackTitleStyle: {
- color: 'white',
- },
- headerTintColor: 'white',
- };
- constructor() {
- super();
- this.state = {
- loginVisible: true
- }
- }
- componentWillMount(){
- //Check if userData is stored on device else open Login
- AsyncStorage.getItem('userData').then((user_data_json) => {
- let user_data = JSON.parse(user_data_json);
- console.log(36, user_data);
- if(user_data != null){
- this.setState({loginVisible:false});
- }else{
- this.setState({loginVisible:true});
- }
- });
- }
- render(){
- console.log(48, this.state.loginVisible);
- const { navigate } = this.props;
- //if user is not logged in go to Login modal, if he is head to ChatRooms
- //loginVisible determines such
- if (this.state.loginVisible) {
- console.log('visible')
- return (
- <Modal visible={this.state.loginVisible}
- onRequestClose={function() {}}>
- <Login navigation={ navigate} onClose={this._onCloseLogin.bind(this)}/>
- </Modal>
- );
- } else {
- return (
- <ChatRooms onRoomSelected={this._onRoomSelected.bind(this)}/>
- );
- }
- }
- _onRoomSelected(row) {
- this.props.navigation.navigate('ChatList',{ row/*user: 'Lucy'*/ })
- // alert("Selected User:\n" + JSON.stringify(user))
- }
- _onCloseLogin(){
- this.setState({
- loginVisible: false,
- })
- }
- }
- const SimpleApp = StackNavigator({
- Home: { screen: App },
- ChatList: { screen: ChatList, title: 'ss' },
- });
- export default SimpleApp;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement