11import CommerceLayer , {
2- ShippingMethod as ShippingMethodCollection ,
3- PaymentMethod ,
4- Order ,
2+ type ShippingMethod as ShippingMethodCollection ,
3+ type PaymentMethod ,
4+ type Order ,
55} from "@commercelayer/sdk"
66import { changeLanguage } from "i18next"
77import { createContext , useEffect , useReducer , useRef } from "react"
@@ -103,6 +103,7 @@ export const AppProvider: React.FC<AppProviderProps> = ({
103103 } )
104104
105105 const getOrder = ( order : Order ) => {
106+ console . log ( "order" , order )
106107 orderRef . current = order
107108 }
108109
@@ -143,15 +144,13 @@ export const AppProvider: React.FC<AppProviderProps> = ({
143144 } )
144145 }
145146
146- const setAddresses = async ( ) => {
147+ const setAddresses = async ( order ?: Order ) => {
147148 dispatch ( { type : ActionType . START_LOADING } )
148-
149- const order = await getOrderFromRef ( )
150-
149+ const currentOrder = order ?? ( await getOrderFromRef ( ) )
151150 const isShipmentRequired = await checkIfShipmentRequired ( cl , orderId )
152151
153152 const others = calculateSettings (
154- order ,
153+ currentOrder ,
155154 isShipmentRequired ,
156155 // FIX We are using customer addresses saved in reducer because
157156 // we don't receive them from fetchOrder
@@ -161,7 +160,7 @@ export const AppProvider: React.FC<AppProviderProps> = ({
161160 dispatch ( {
162161 type : ActionType . SET_ADDRESSES ,
163162 payload : {
164- order,
163+ order : currentOrder ,
165164 others,
166165 } ,
167166 } )
@@ -265,13 +264,13 @@ export const AppProvider: React.FC<AppProviderProps> = ({
265264 } )
266265 }
267266
268- const placeOrder = async ( ) => {
267+ const placeOrder = async ( order ?: Order ) => {
269268 dispatch ( { type : ActionType . START_LOADING } )
270- const order = await getOrderFromRef ( )
269+ const currentOrder = order ?? ( await getOrderFromRef ( ) )
271270
272271 dispatch ( {
273272 type : ActionType . PLACE_ORDER ,
274- payload : { order } ,
273+ payload : { order : currentOrder } ,
275274 } )
276275 }
277276
0 commit comments