-
Notifications
You must be signed in to change notification settings - Fork 0
/
store.js
128 lines (108 loc) · 3.5 KB
/
store.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
// import {createStore, combineReducers, applyMiddleware} from "redux"
// import thunk from "redux-thunk"
// import {composedWithDevTools, composeWithDevTools} from "redux-devtools-extension"
// import { productDetailsReducer, productReducer, productsReducer } from "./reducers/productReducer"
// import { forgotPasswordReducer, profileReducer, userReducer } from "./reducers/userReducer"
// // const reducer = combineReducers({
// // products: productReducer,
// // productDetails:productDetailsReducer,
// // user: userReducer,
// // profile: profileReducer
// // })
// const reducer = combineReducers({
// products: productsReducer,
// productDetails: productDetailsReducer,
// user: userReducer,
// profile: profileReducer,
// forgotPassword: forgotPasswordReducer,
// cart: cartReducer,
// newOrder: newOrderReducer,
// myOrders: myOrdersReducer,
// orderDetails: orderDetailsReducer,
// newReview: newReviewReducer,
// newProduct: newProductReducer,
// product: productReducer,
// allOrders: allOrdersReducer,
// order: orderReducer,
// allUsers: allUsersReducer,
// userDetails: userDetailsReducer,
// productReviews: productReviewsReducer,
// review: reviewReducer,
// });
// let initialState = {
// cart: {
// cartItems: localStorage.getItem("cartItems")
// ? JSON.parse(localStorage.getItem("cartItems"))
// : [],
// shippingInfo: localStorage.getItem("shippingInfo")
// ? JSON.parse(localStorage.getItem("shippingInfo"))
// : {},
// },
// };
// const middleware = [thunk]
// const store = createStore(reducer, initialState, composeWithDevTools(applyMiddleware(...middleware)))
// export default store
import { createStore, combineReducers, applyMiddleware } from "redux";
import thunk from "redux-thunk";
import { composeWithDevTools } from "redux-devtools-extension";
import {
newProductReducer,
newReviewReducer,
productDetailsReducer,
productReducer,
productReviewsReducer,
productsReducer,
reviewReducer,
} from "./reducers/productReducer";
import {
allUsersReducer,
forgotPasswordReducer,
profileReducer,
userDetailsReducer,
userReducer,
} from "./reducers/userReducer";
import { cartReducer } from "./reducers/cartReducer";
import {
allOrdersReducer,
myOrdersReducer,
newOrderReducer,
orderDetailsReducer,
orderReducer,
} from "./reducers/orderReducer";
const reducer = combineReducers({
products: productsReducer,
productDetails: productDetailsReducer,
user: userReducer,
profile: profileReducer,
forgotPassword: forgotPasswordReducer,
cart: cartReducer,
newOrder: newOrderReducer,
myOrders: myOrdersReducer,
orderDetails: orderDetailsReducer,
newReview: newReviewReducer,
newProduct: newProductReducer,
product: productReducer,
allOrders: allOrdersReducer,
order: orderReducer,
allUsers: allUsersReducer,
userDetails: userDetailsReducer,
productReviews: productReviewsReducer,
review: reviewReducer,
});
let initialState = {
cart: {
cartItems: localStorage.getItem("cartItems")
? JSON.parse(localStorage.getItem("cartItems"))
: [],
shippingInfo: localStorage.getItem("shippingInfo")
? JSON.parse(localStorage.getItem("shippingInfo"))
: {},
},
};
const middleware = [thunk];
const store = createStore(
reducer,
initialState,
composeWithDevTools(applyMiddleware(...middleware))
);
export default store;