Browse Source

register user form

David 9 years atrás
parent
commit
6ad77a0b5c

+ 29 - 1
src/actions/RegisterActions.js

@@ -1,6 +1,9 @@
 import { Actions } from 'react-native-router-flux';
 import {
-  PROP_CHANGED
+  PROP_CHANGED,
+  REGISTER_USER,
+  REGISTER_USER_SUCCESS,
+  REGISTER_USER_FAILURE
 } from './types';
 
 export const propChanged = ({key,val}) => {
@@ -9,3 +12,28 @@ export const propChanged = ({key,val}) => {
     payload: {key,val}
   };
 };
+
+
+export const registerUser = ( ) => {
+  console.log("registering");
+  return (dispatch) => {
+    dispatch({ type: REGISTER_USER })
+    /*fetch('https://plataforma.especificosba.com.ar/back/login.php', {
+      method: 'POST',
+      headers: {
+          'Accept': 'application/json',
+          'Content-Type': 'application/json',
+      },
+      body: JSON.stringify({
+        user: email,
+        pass: password,
+      })
+    })
+    .then( (response) => response.json() )
+      .then( (responseJson) => {
+        loginUserSuccess(dispatch, responseJson);
+      });
+    */
+  };
+
+};

+ 3 - 0
src/actions/types.js

@@ -8,3 +8,6 @@ export const CURSADAS_FETCH_SUCCESS = "cursadas_fetch_success";
 export const CLASE_FETCH_SUCCESS = "clase_fetch_success";
 export const PROFESOR_FETCH_SUCCESS = "profesor_fetch_success";
 export const PROP_CHANGED = "prop_changed";
+export const REGISTER_USER = "register_user";
+export const REGISTER_USER_SUCCESS = "register_user_success";
+export const REGISTER_USER_FAILURE = "register_user_failure";

+ 8 - 8
src/components/RegisterForm.js

@@ -2,7 +2,7 @@ import React, { Component} from 'react';
 import { Text, ListView } from 'react-native';
 import { connect } from 'react-redux';
 import { Card, CardSection, Input, Button, Spinner } from './common';
-import { propChanged } from '../actions/';
+import { propChanged, registerUser } from '../actions/';
 import { Actions } from 'react-native-router-flux';
 
 class RegisterForm extends Component {
@@ -29,10 +29,11 @@ class RegisterForm extends Component {
 	}
 
   onRegisterPress() {
-  //  Actions.register();
+    this.props.registerUser({ user: this.props.user });
   }
 
   renderButton() {
+    console.log("loading:",this.props.loading);
     if (this.props.loading) {
       return <Spinner size="large" />;
     }
@@ -44,14 +45,13 @@ class RegisterForm extends Component {
   }
 
   renderItem(item) {
-    console.log("renderitem", item);
-    console.log("this", this);
     return (
       <CardSection>
         <Input
           label={item.label}
           placeholder={item.placeholder}
-          value={this.props[item.key]}
+          value={this.props.user[item.key]}
+          editable={false}
           onChangeText={ () => this.props.propChanged({ key: item.key, val: this.props[item.key] }) }
         />
       </CardSection>
@@ -87,9 +87,9 @@ const styles = {
 }
 
 const mapStateToProps = ({ register }) => {
-  const { email, nombre, password, error, loading } = register;
-  return { email, nombre, password, error, loading };
+  const { error, user, loading } = register;
+  return { error, loading, user };
 };
 
 
-export default connect(mapStateToProps, { propChanged } )(RegisterForm);
+export default connect(mapStateToProps, { propChanged, registerUser } )(RegisterForm);

+ 21 - 11
src/reducers/RegisterReducer.js

@@ -1,17 +1,22 @@
 import {
-  PROP_CHANGED
+  PROP_CHANGED,
+  REGISTER_USER,
+  REGISTER_USER_SUCCESS,
+  REGISTER_USER_FAILURE
 } from '../actions/types';
 
 const INITIAL_STATE = {
-  email: 'davidventura27@gmail.com',
-  nombre: 'David -- !!',
-  apellido: '',
-  pais: '',
-  provincia: '',
-  ciudad: '',
-  direccion: '',
-  tel: '',
-  cel: '',
+  user: {
+    email: 'davidventura27@gmail.com',
+    nombre: 'David -- !!',
+    apellido: '',
+    pais: '',
+    provincia: '',
+    ciudad: '',
+    direccion: '',
+    tel: '',
+    cel: ''
+  },
   error: '',
   loading: false
 };
@@ -20,7 +25,12 @@ export default (state = INITIAL_STATE, action) => {
   console.log("reg reducer", action);
   switch(action.type) {
     case PROP_CHANGED:
-      return { ...state, [action.payload.key]: action.payload.val };
+      const { key, val } = action.payload;
+      const newUser = { ...state.user, [key]: val };
+      return { ...state, user: newUser };
+    case REGISTER_USER:
+      console.log("setting loading");
+      return { ...state, loading: true };
     default:
       return state;
   }