@@ -22,6 +22,7 @@ import {
2222 getProductsAction ,
2323 buyProductAction ,
2424 applyCouponAction ,
25+ newProductAction ,
2526 newCouponAction ,
2627} from "../../actions/shopActions" ;
2728import Shop from "../../components/shop/shop" ;
@@ -37,6 +38,10 @@ const ShopContainer = (props) => {
3738 const [ errorMessage , setErrorMessage ] = React . useState ( "" ) ;
3839 const [ isCouponFormOpen , setIsCouponFormOpen ] = useState ( false ) ;
3940
41+ const [ isNewProductFormOpen , setIsNewProductFormOpen ] = useState ( false ) ;
42+ const [ newProductHasErrored , setNewProductHasErrored ] = useState ( false ) ;
43+ const [ newProductErrorMessage , setNewProductErrorMessage ] = useState ( "" ) ;
44+
4045 const [ newCouponHasErrored , setNewCouponHasErrored ] = React . useState ( false ) ;
4146 const [ newCouponErrorMessage , setNewCouponErrorMessage ] = React . useState ( "" ) ;
4247 const [ isNewCouponFormOpen , setIsNewCouponFormOpen ] = useState ( false ) ;
@@ -103,6 +108,27 @@ const ShopContainer = (props) => {
103108 } ) ;
104109 } ;
105110
111+ const handleNewProductFormFinish = ( values ) => {
112+ const callback = ( res , data ) => {
113+ if ( res === responseTypes . SUCCESS ) {
114+ setIsNewProductFormOpen ( false ) ;
115+ Modal . success ( {
116+ title : SUCCESS_MESSAGE ,
117+ content : data ,
118+ onOk : ( ) => handleOffsetChange ( 0 ) ,
119+ } ) ;
120+ } else {
121+ setNewProductHasErrored ( true ) ;
122+ setNewProductErrorMessage ( data ) ;
123+ }
124+ } ;
125+ props . newProduct ( {
126+ callback,
127+ accessToken,
128+ ...values ,
129+ } ) ;
130+ } ;
131+
106132 const handleNewCouponFormFinish = ( values ) => {
107133 const callback = ( res , data ) => {
108134 if ( res === responseTypes . SUCCESS ) {
@@ -132,6 +158,11 @@ const ShopContainer = (props) => {
132158 errorMessage = { errorMessage }
133159 onFinish = { handleFormFinish }
134160 onOffsetChange = { handleOffsetChange }
161+ isNewProductFormOpen = { isNewProductFormOpen }
162+ setIsNewProductFormOpen = { setIsNewProductFormOpen }
163+ newProductHasErrored = { newProductHasErrored }
164+ newProductErrorMessage = { newProductErrorMessage }
165+ onNewProductFinish = { handleNewProductFormFinish }
135166 isNewCouponFormOpen = { isNewCouponFormOpen }
136167 setIsNewCouponFormOpen = { setIsNewCouponFormOpen }
137168 newCouponHasErrored = { newCouponHasErrored }
@@ -152,6 +183,7 @@ const mapDispatchToProps = {
152183 getProducts : getProductsAction ,
153184 buyProduct : buyProductAction ,
154185 applyCoupon : applyCouponAction ,
186+ newProduct : newProductAction ,
155187 newCoupon : newCouponAction ,
156188} ;
157189
@@ -160,6 +192,7 @@ ShopContainer.propTypes = {
160192 getProducts : PropTypes . func ,
161193 buyProduct : PropTypes . func ,
162194 applyCoupon : PropTypes . func ,
195+ newProduct : PropTypes . func ,
163196 newCoupon : PropTypes . func ,
164197 nextOffset : PropTypes . number ,
165198 prevOffset : PropTypes . number ,
0 commit comments