File tree Expand file tree Collapse file tree 3 files changed +25
-7
lines changed Expand file tree Collapse file tree 3 files changed +25
-7
lines changed Original file line number Diff line number Diff line change 11import React , { Component } from "react" ;
22import { AppRegistry , View } from "react-native" ;
33import firebase from "firebase" ;
4- import { Header } from "./src/components/common" ;
4+ import { Header , Button , Spinner } from "./src/components/common" ;
55import LoginForm from "./src/components/LoginForm" ;
66
77export default class App extends Component {
8+ state = { loggedIn : null } ;
9+
810 componentWillMount ( ) {
911 const config = {
1012 apiKey : "AIzaSyB-7ErC1c7WAmNxm6ZTufAtJpK8HP57yi8" ,
@@ -15,13 +17,32 @@ export default class App extends Component {
1517 messagingSenderId : "876070193723"
1618 } ;
1719 firebase . initializeApp ( config ) ;
20+
21+ firebase . auth ( ) . onAuthStateChanged ( user => {
22+ if ( user ) {
23+ this . setState ( { loggedIn : true } ) ;
24+ } else {
25+ this . setState ( { loggedIn : false } ) ;
26+ }
27+ } ) ;
28+ }
29+
30+ renderContent ( ) {
31+ switch ( this . state . loggedIn ) {
32+ case true :
33+ return < Button onPress = { ( ) => firebase . auth ( ) . signOut ( ) } > Log Out</ Button > ;
34+ case false :
35+ return < LoginForm /> ;
36+ default :
37+ return < Spinner size = "large" /> ;
38+ }
1839 }
1940
2041 render ( ) {
2142 return (
2243 < View >
2344 < Header headerText = "Authentication" />
24- < LoginForm />
45+ { this . renderContent ( ) }
2546 </ View >
2647 ) ;
2748 }
Original file line number Diff line number Diff line change @@ -77,7 +77,7 @@ class LoginForm extends Component {
7777
7878 < Text style = { styles . errorTextStyle } > { this . state . error } </ Text >
7979
80- < CardSection > { this . renderButton ( ) } </ CardSection >
80+ { this . renderButton ( ) }
8181 </ Card >
8282 ) ;
8383 }
Original file line number Diff line number Diff line change @@ -21,10 +21,7 @@ const styles = {
2121 height : 60 ,
2222 paddingTop : 15 ,
2323 shadowColor : "#000" ,
24- shadowOffset : {
25- width : 0 ,
26- height : 2
27- } ,
24+ shadowOffset : { width : 0 , height : 2 } ,
2825 shadowOpacity : 0.2 ,
2926 elevation : 2 ,
3027 position : "relative"
You can’t perform that action at this time.
0 commit comments