File tree Expand file tree Collapse file tree 3 files changed +62
-0
lines changed
Expand file tree Collapse file tree 3 files changed +62
-0
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import React from 'react';
22import CardEditor from './CardEditor' ;
33import CardViewer from './CardViewer' ;
44import Homepage from './Homepage' ;
5+ import PageRegister from './PageRegister' ;
56
67import { Switch , Route } from 'react-router-dom' ;
78
@@ -17,6 +18,9 @@ const App = () => {
1718 < Route exact path = "/viewer/:deckId" >
1819 < CardViewer />
1920 </ Route >
21+ < Route exact path = "/register" >
22+ < PageRegister />
23+ </ Route >
2024 < Route >
2125 < div > Page not found!</ div >
2226 </ Route >
Original file line number Diff line number Diff line change 1+ import React from 'react' ;
2+ import { firebaseConnect } from 'react-redux-firebase' ;
3+
4+ class PageRegister extends React . Component {
5+ constructor ( props ) {
6+ super ( props ) ;
7+ this . state = {
8+ email : '' ,
9+ password : '' ,
10+ } ;
11+ }
12+
13+ handleChange = event =>
14+ this . setState ( { [ event . target . name ] : event . target . value , error : '' } ) ;
15+
16+ register = async ( ) => {
17+ const credentials = {
18+ email : this . state . email ,
19+ password : this . state . password ,
20+ } ;
21+
22+ try {
23+ await this . props . firebase . createUser ( credentials ) ;
24+ } catch ( error ) {
25+ this . setState ( { error : error . message } ) ;
26+ }
27+ } ;
28+
29+ render ( ) {
30+ return (
31+ < div >
32+ < h2 > Register</ h2 >
33+ < div >
34+ < div > { this . state . error } </ div >
35+ < input
36+ name = "email"
37+ onChange = { this . handleChange }
38+ placeholder = "Email"
39+ value = { this . state . email }
40+ />
41+ < br />
42+ < input
43+ name = "password"
44+ onChange = { this . handleChange }
45+ placeholder = "Password"
46+ type = "password"
47+ value = { this . state . password }
48+ />
49+ </ div >
50+ < br />
51+ < button onClick = { this . register } > Register!</ button >
52+ </ div >
53+ ) ;
54+ }
55+ }
56+
57+ export default firebaseConnect ( ) ( PageRegister ) ;
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ import { BrowserRouter } from 'react-router-dom';
77import { Provider } from 'react-redux' ;
88import firebase from 'firebase/app' ;
99import 'firebase/database' ;
10+ import 'firebase/auth' ;
1011import { createStore , combineReducers } from 'redux' ;
1112import {
1213 ReactReduxFirebaseProvider ,
You can’t perform that action at this time.
0 commit comments