Commit a1529d06 authored by Kyle Muldoon's avatar Kyle Muldoon

rewrote lost files

parent e744ed33
// import util api call for cart order
import { sendOrderPost } from './../util/order-api';
export const SEND_USER_ORDER = "SEND_USER_ORDER"
const sendUserOrder = orderConfirmationResponse => ({
type: SEND_USER_ORDER,
payload: orderConfirmationResponse
})
export const dispatchOrderInfo = (orderInfo) => {
const response = sendOrderPost(orderInfo)
return sendUserOrder(response);
}
// export const fetchAllCartItems = () => dispatch => ApiUtil.fetchCartItems()
// .then(cartItems => dispatch(receiveAllCartItems(cartItems)))
import React, {useState, useEffect} from 'react'
import {useSelector, useDispatch} from 'react-redux'
import ShippingAddress from './ShippingAddress.js'
import PaymentMethod from './PaymentMethod.js'
......@@ -6,6 +7,10 @@ import ReviewOrder from './ReviewOrder.js'
import SubmitOrder from './SubmitOrder.js'
import './checkout.css'
import {dispatchOrderInfo} from './../../actions/checkout_actions'
export default function Checkout() {
......@@ -48,6 +53,14 @@ export default function Checkout() {
const [errorWhileValidating, setErrorWhileValidating] = useState([0])
///////////////////////
// Submit Action State
///////////////////////
const dispatch = useDispatch()
// This effect listens for the submit button to be clicked
// It then checks each of the required fields to make sure they are non null
......@@ -112,19 +125,19 @@ export default function Checkout() {
let handleSubmit = () => {
console.log("Submitting Order!")
let order = {}
order["firstName"] = firstName
order["lastName"] = lastName
order["shippingAddress"] = shippingAddress
order["aptSuitNo"] = aptSuiteNo
order["city"] = city
order["state"] = state
order["zipCode"] = zipCode
order["cardNumber"] = cardNumber
order["cardHolderName"] = cardHolderName
order["expirationDate"] = expirationDate
order["cvv"] = cvv
console.log(order)
// let order = {}
// order["firstName"] = firstName
// order["lastName"] = lastName
// order["shippingAddress"] = shippingAddress
// order["aptSuitNo"] = aptSuiteNo
// order["city"] = city
// order["state"] = state
// order["zipCode"] = zipCode
// order["cardNumber"] = cardNumber
// order["cardHolderName"] = cardHolderName
// order["expirationDate"] = expirationDate
// order["cvv"] = cvv
// console.log(order)
let chrisSpec = {
"user": {
......@@ -155,6 +168,7 @@ export default function Checkout() {
}
}
dispatch(dispatchOrderInfo(chrisSpec))
}
......
import {SEND_USER_ORDER} from './../actions/checkout_actions'
const initialState = {
orderResponse: {},
}
const orderReducer = (prevState = initialState, action) => {
Object.freeze(prevState);
const nextState = {...prevState};
switch(action.type) {
case SEND_USER_ORDER:
nextState.orderResponse = action.payload
return nextState
default:
return nextState
}
}
export default orderReducer
\ No newline at end of file
import { combineReducers } from 'redux';
import productsReducer from './products_reducer';
import orderReducer from './order_reducer'
const rootReducer = combineReducers({
market: productsReducer
market: productsReducer,
orderStatus: orderReducer
});
export default rootReducer;
\ No newline at end of file
import axios from 'axios'
export const postOrder = (order) => {
return axios.post("http://localhost:8080/api/users", order)
export const sendOrderPost = async (order) => {
const response = await axios.post("http://localhost:8080/api/orders", order)
return response.data
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment