Skip to content

Commit c2fc089

Browse files
committed
Implement barebones Register page
1 parent 58bbfef commit c2fc089

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

src/App.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22
import CardEditor from './CardEditor';
33
import CardViewer from './CardViewer';
44
import Homepage from './Homepage';
5+
import PageRegister from './PageRegister';
56

67
import { 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>

src/PageRegister.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
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);

src/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { BrowserRouter } from 'react-router-dom';
77
import { Provider } from 'react-redux';
88
import firebase from 'firebase/app';
99
import 'firebase/database';
10+
import 'firebase/auth';
1011
import { createStore, combineReducers } from 'redux';
1112
import {
1213
ReactReduxFirebaseProvider,

0 commit comments

Comments
 (0)