diff --git a/admin-panel/package.json b/admin-panel/package.json
index 5fbeba9..dad3e1d 100644
--- a/admin-panel/package.json
+++ b/admin-panel/package.json
@@ -4,7 +4,7 @@
"private": true,
"dependencies": {
"email-validator": "^1.1.1",
- "firebase": "^4.7.0",
+ "firebase": "^4.8.0",
"history": "^4.7.2",
"immutable": "^3.8.2",
"logger": "^0.0.1",
diff --git a/admin-panel/src/components/auth/SignInForm.js b/admin-panel/src/components/auth/SignInForm.js
index 3033ef6..19d2487 100644
--- a/admin-panel/src/components/auth/SignInForm.js
+++ b/admin-panel/src/components/auth/SignInForm.js
@@ -1,6 +1,9 @@
import React, { Component } from 'react'
import {reduxForm, Field} from 'redux-form'
+import validator from 'email-validator'
+import ErrorField from '../common/ErrorField'
+
class SignInForm extends Component {
static propTypes = {
@@ -12,10 +15,10 @@ class SignInForm extends Component {
Sign In
@@ -25,6 +28,19 @@ class SignInForm extends Component {
}
}
+const validate = ({ email, password }) => {
+ const errors = {}
+
+ if (!email) errors.email = 'email is a required field'
+ if (email && !validator.validate(email)) errors.email = 'incorrect email format'
+
+ if (!password) errors.password = 'password is a required field'
+ if (password && password.length < 8) errors.password = 'password is to short'
+
+ return errors
+}
+
export default reduxForm({
- form: 'auth'
+ form: 'auth',
+ validate
})(SignInForm)
\ No newline at end of file
diff --git a/admin-panel/src/components/common/Loader.js b/admin-panel/src/components/common/Loader.js
new file mode 100644
index 0000000..2ecdbe2
--- /dev/null
+++ b/admin-panel/src/components/common/Loader.js
@@ -0,0 +1,13 @@
+import React, {Component} from 'react';
+
+class Loader extends Component {
+ render() {
+ return (
+
+
Loading...
+
+ );
+ }
+}
+
+export default Loader;
\ No newline at end of file
diff --git a/admin-panel/src/components/people/AddPeopleForm.js b/admin-panel/src/components/people/AddPeopleForm.js
new file mode 100644
index 0000000..8577b34
--- /dev/null
+++ b/admin-panel/src/components/people/AddPeopleForm.js
@@ -0,0 +1,30 @@
+import React, { Component } from 'react';
+import {reduxForm, Field} from 'redux-form'
+
+class AddPeopleForm extends Component {
+ render() {
+ return (
+
+ );
+ }
+}
+
+export default reduxForm({
+ form: 'addPeopleForm'
+})(AddPeopleForm);
diff --git a/admin-panel/src/components/people/People.js b/admin-panel/src/components/people/People.js
new file mode 100644
index 0000000..67e6b20
--- /dev/null
+++ b/admin-panel/src/components/people/People.js
@@ -0,0 +1,14 @@
+import React, { Component } from 'react';
+import AddPeopleForm from './AddPeopleForm';
+
+class People extends Component {
+ render() {
+ return (
+
+ );
+ }
+}
+
+export default People;
diff --git a/admin-panel/src/components/routes/Admin.js b/admin-panel/src/components/routes/Admin.js
index 952248e..422c2ae 100644
--- a/admin-panel/src/components/routes/Admin.js
+++ b/admin-panel/src/components/routes/Admin.js
@@ -1,4 +1,7 @@
import React, { Component } from 'react'
+import {NavLink} from 'react-router-dom';
+import ProtectedRoute from '../common/ProtectedRoute';
+import People from '../people/People';
class Admin extends Component {
static propTypes = {
@@ -9,6 +12,8 @@ class Admin extends Component {
return (
Admin Page
+
Add People
+
)
}
diff --git a/admin-panel/src/components/routes/auth/index.js b/admin-panel/src/components/routes/auth/index.js
index 91c9bab..b1b0905 100644
--- a/admin-panel/src/components/routes/auth/index.js
+++ b/admin-panel/src/components/routes/auth/index.js
@@ -4,6 +4,7 @@ import {connect} from 'react-redux'
import {signIn, signUp} from '../../../ducks/auth'
import SignInForm from '../../auth/SignInForm'
import SignUpForm from '../../auth/SignUpForm'
+import Loader from '../../common/Loader'
class Auth extends Component {
static propTypes = {
@@ -14,13 +15,22 @@ class Auth extends Component {
return (
Auth page
-
+ {this.renderBody()}
+
+ )
+ }
+
+ renderBody = () => {
+ const {auth} = this.props
+ if (this.props.auth.loading) return ;
+
+ return (
+
+ - Sign In
+ - Sign Up
} />
} />
-
+
)
}
@@ -29,4 +39,8 @@ class Auth extends Component {
}
-export default connect(null, { signIn, signUp })(Auth)
\ No newline at end of file
+export default connect(
+ state => ({
+ auth: state.auth
+ }),
+ { signIn, signUp })(Auth)
\ No newline at end of file
diff --git a/admin-panel/src/config.js b/admin-panel/src/config.js
index 65bba00..0a4a3e4 100644
--- a/admin-panel/src/config.js
+++ b/admin-panel/src/config.js
@@ -1,14 +1,14 @@
import firebase from 'firebase'
-export const appName = 'advreact-04-12'
+export const appName = 'advreact0412'
const config = {
- apiKey: "AIzaSyCmDWlgYIhtEr1pWjgKYds3iXKWBl9wbjE",
+ apiKey: "AIzaSyCFY57-ViC6JCloWtC_2w5cIUIGcPiwhG0",
authDomain: `${appName}.firebaseapp.com`,
databaseURL: `https://${appName}.firebaseio.com`,
- projectId: appName,
+ projectId: "advreact0412",
storageBucket: "",
- messagingSenderId: "95255462276"
+ messagingSenderId: "513427030560"
}
firebase.initializeApp(config)
\ No newline at end of file