Skip to content

Commit 9d5ba74

Browse files
author
Nicolas Garnier
committed
Better example using the auth listener for the state with a signet button
1 parent 1c7f044 commit 9d5ba74

File tree

4 files changed

+33
-16
lines changed

4 files changed

+33
-16
lines changed

example/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

example/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
},
77
"dependencies": {
88
"firebase": "^4.8.0",
9-
"firebaseui": "^2.3.0",
9+
"firebaseui": "^2.6.0",
1010
"react": "15.6.1",
1111
"react-dom": "15.6.1",
12-
"react-firebaseui": "^1.0.10"
12+
"react-firebaseui": "^1.1.0"
1313
},
1414
"devDependencies": {
1515
"babel-cli": "6.24.1",

example/src/App.jsx

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,23 @@ export default class App extends React.Component {
4242
signInFlow: 'popup',
4343
signInOptions: [
4444
firebase.auth.GoogleAuthProvider.PROVIDER_ID,
45-
firebase.auth.FacebookAuthProvider.PROVIDER_ID
45+
firebase.auth.FacebookAuthProvider.PROVIDER_ID,
4646
],
4747
callbacks: {
48-
signInSuccess: () => {
49-
this.setState({signedIn: true});
50-
return false;
51-
}
52-
}
48+
signInSuccess: () => false,
49+
},
5350
};
5451

5552
state = {
56-
signedIn: false
53+
signedIn: false,
5754
};
5855

56+
componentWillMount() {
57+
firebaseApp.auth().onAuthStateChanged((user) => {
58+
this.setState({signedIn: !!user});
59+
});
60+
}
61+
5962
/**
6063
* @inheritDoc
6164
*/
@@ -68,13 +71,15 @@ export default class App extends React.Component {
6871
<div className={styles.caption}>This is a cool demo app</div>
6972
{!this.state.signedIn &&
7073
<div>
71-
<FirebaseAuth className={styles.firebaseUi} uiConfig={this.uiConfig} firebaseAuth={firebaseApp.auth()}/>
74+
<FirebaseAuth className={styles.firebaseUi} uiConfig={this.uiConfig}
75+
firebaseAuth={firebaseApp.auth()}/>
7276
</div>
7377
}
7478
{this.state.signedIn &&
75-
<div>
76-
Hello {firebaseApp.auth().currentUser.displayName}. You are now signed In!
77-
</div>
79+
<div className={styles.signedIn}>
80+
Hello {firebaseApp.auth().currentUser.displayName}. You are now signed In!
81+
<a className={styles.button} onClick={() => firebaseApp.auth().signOut()}>Sign-out</a>
82+
</div>
7883
}
7984
</div>
8085
);

example/src/app.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@
3030
flex-direction: column;
3131
font-family: sans-serif;
3232
}
33+
.signedIn {
34+
display: flex;
35+
justify-content: center;
36+
align-items: center;
37+
flex-direction: column;
38+
}
3339
.logo {
3440
font-family: 'Amaranth', sans-serif;
3541
font-size: 200%;
@@ -62,3 +68,9 @@
6268
.firebaseUi {
6369
min-width: 250px;
6470
}
71+
.button {
72+
cursor: pointer;
73+
color: blue;
74+
text-decoration: underline;
75+
margin-top: 10px;
76+
}

0 commit comments

Comments
 (0)