diff --git a/src/components/people/PeopleForm.js b/src/components/people/PeopleForm.js new file mode 100644 index 0000000..0ecfe2d --- /dev/null +++ b/src/components/people/PeopleForm.js @@ -0,0 +1,59 @@ +import React, { Component } from 'react' +import { reduxForm, Field } from 'redux-form' +import ErrorField from '../common/ErrorField' +import emailValidator from 'email-validator' +import { moduleName, addUser} from '../../ducks/people' +import { connect } from 'react-redux' + +class PeopleForm extends Component { + render() { + const { handleSubmit, submitting } = this.props; + return ( +
+

+ Add person +

+
+ + + +
+ +
+ +
+ ); + } +} + +const validate = ({first_name, last_name, email}) => { + const errors = {} + + if (!email) errors.email = 'email is required' + else if (!emailValidator.validate(email)) errors.email = 'invalid email' + + if (!first_name) errors.first_name = 'first_name is required' + + if(!last_name) errors.last_name = 'last_name is required' + + return errors +} + +const mapStateToProps = (state) => ({ + loading: state[moduleName.loading] +}); + +const mapDispatchToProps = (dispatch) => ({ + + addUser: ({first_name, last_name, email}) => dispatch(addUser({first_name, last_name, email})) +}); + +PeopleForm = connect( + mapStateToProps, + mapDispatchToProps +)(PeopleForm); + +export default reduxForm({ + form: 'people', + validate, +})(PeopleForm); \ No newline at end of file diff --git a/src/config.js b/src/config.js index e8d8d78..3d96faa 100644 --- a/src/config.js +++ b/src/config.js @@ -1,13 +1,13 @@ import firebase from 'firebase' -export const appName = "advreact-21-08" +export const appName = "adv-21-08" export const firebaseConfig = { - apiKey: "AIzaSyDjA6CeIHuni5lNm4ML1b-TSxJltsYUO8g", + apiKey: "AIzaSyAFf2xnTf-RQAxK0W_QWKbsf8nEW0vJ66Y", authDomain: `${appName}.firebaseapp.com`, databaseURL: `https://${appName}.firebaseio.com`, projectId: appName, storageBucket: `${appName}.appspot.com`, - messagingSenderId: "789814589283" + messagingSenderId: "497019564518" } firebase.initializeApp(firebaseConfig) \ No newline at end of file diff --git a/src/redux/index.js b/src/redux/index.js index d0ca1dc..b54db05 100644 --- a/src/redux/index.js +++ b/src/redux/index.js @@ -9,7 +9,7 @@ import rootSaga from './saga' const sagaMiddleware = createSagaMiddleware() const enhancer = applyMiddleware(sagaMiddleware, routerMiddleware(history), logger) -const store = createStore(reducer, enhancer) +const store = createStore(reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),enhancer) window.store = store sagaMiddleware.run(rootSaga) diff --git a/yarn.lock b/yarn.lock index 10d3512..f6859ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -47,14 +47,10 @@ acorn@^5.0.0, acorn@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" -address@1.0.2: +address@1.0.2, address@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/address/-/address-1.0.2.tgz#480081e82b587ba319459fef512f516fe03d58af" -address@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" - ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" @@ -338,7 +334,11 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" +<<<<<<< HEAD babel-core@6.25.0: +======= +babel-core@6.25.0, babel-core@^6.0.0: +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a version "6.25.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: @@ -362,7 +362,11 @@ babel-core@6.25.0: slash "^1.0.0" source-map "^0.5.0" +<<<<<<< HEAD babel-core@^6.0.0, babel-core@^6.26.0: +======= +babel-core@^6.26.0: +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a version "6.26.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" dependencies: @@ -838,18 +842,25 @@ babel-plugin-transform-react-jsx@6.24.1, babel-plugin-transform-react-jsx@^6.24. babel-plugin-syntax-jsx "^6.8.0" babel-runtime "^6.22.0" +<<<<<<< HEAD babel-plugin-transform-regenerator@6.24.1: +======= +babel-plugin-transform-regenerator@6.24.1, babel-plugin-transform-regenerator@^6.22.0: +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" dependencies: regenerator-transform "0.9.11" +<<<<<<< HEAD babel-plugin-transform-regenerator@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: regenerator-transform "^0.10.0" +======= +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a babel-plugin-transform-runtime@6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" @@ -950,14 +961,22 @@ babel-register@^6.24.1, babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" +<<<<<<< HEAD babel-runtime@6.23.0: +======= +babel-runtime@6.23.0, babel-runtime@^6.22.0: +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a version "6.23.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" +<<<<<<< HEAD babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: +======= +babel-runtime@^6.18.0, babel-runtime@^6.26.0: +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -4199,7 +4218,11 @@ minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +<<<<<<< HEAD minimist@0.0.8: +======= +minimist@0.0.8, minimist@~0.0.1: +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -4207,10 +4230,13 @@ minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +<<<<<<< HEAD minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" +======= +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -5440,6 +5466,7 @@ regenerator-transform@0.9.11: babel-types "^6.19.0" private "^0.1.6" +<<<<<<< HEAD regenerator-transform@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" @@ -5448,6 +5475,8 @@ regenerator-transform@^0.10.0: babel-types "^6.19.0" private "^0.1.6" +======= +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a regex-cache@^0.4.2: version "0.4.3" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" @@ -6600,6 +6629,7 @@ window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" +<<<<<<< HEAD wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -6608,6 +6638,12 @@ wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" +======= +wordwrap@0.0.2, wordwrap@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +>>>>>>> 0b7f579abde91b9b4dc38ae56fedd5640a1e556a wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"