Skip to content

Commit 5e00675

Browse files
authored
fix: Update header for currency and language (#108)
* Update header for currency and language * Update checout headers
1 parent 33da8bd commit 5e00675

File tree

8 files changed

+31
-24
lines changed

8 files changed

+31
-24
lines changed

src/BulkOrder.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useEffect, useState } from 'react';
22
import { useFormik } from 'formik';
33
import useOnclickOutside from 'react-cool-onclickoutside';
4-
import { useTranslation, useCartData, useMultiCartData, useCustomerData } from './app-state';
4+
import { useTranslation, useCartData, useMultiCartData, useCustomerData, useCurrency } from './app-state';
55
import { bulkAdd } from './service';
66
import { SettingsCart } from './SettingsCart';
77
import { ReactComponent as ClearIcon } from './images/icons/ic_clear.svg';
@@ -20,6 +20,8 @@ export const BulkOrder: React.FC = (props) => {
2020
const { updateCartItems, setCartQuantity, handleShowCartPopup } = useCartData();
2121
const { multiCartData, updateCartData, updateSelectedCart, setIsCartSelected } = useMultiCartData();
2222
const { isLoggedIn } = useCustomerData();
23+
const { selectedLanguage } = useTranslation();
24+
const { selectedCurrency } = useCurrency();
2325

2426
const [bulkOrderItems, setBulkOrderItems] = useState([]);
2527
const [bulkError, setBulkError] = useState('');
@@ -131,7 +133,7 @@ export const BulkOrder: React.FC = (props) => {
131133
setShowLoader(true);
132134
const currentCart = localStorage.getItem("mcart") || "";
133135
const mcart = cartID ? cartID : currentCart;
134-
bulkAdd(mcart, bulkOrderItems)
136+
bulkAdd(mcart, bulkOrderItems, selectedLanguage, selectedCurrency)
135137
.then((res:any) => {
136138
const totalQuantity = bulkOrderItems.reduce((sum, { quantity }) => sum + quantity, 0);
137139
const errorsWQ: [{type:string, sku:string, quantity:number}] = [{type: "", sku: "", quantity: 0}];

src/CartModal.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useContext, useState } from 'react';
22
import useOnclickOutside from 'react-cool-onclickoutside';
33
import { Elements, StripeProvider } from 'react-stripe-elements';
4-
import { useCartData, useCustomerData, useMultiCartData, useOrdersData, useTranslation } from './app-state';
4+
import { useCartData, useCustomerData, useMultiCartData, useOrdersData, useTranslation, useCurrency } from './app-state';
55
import { config } from './config';
66
import { checkout, payment, removeAllCartItems } from './service';
77

@@ -57,7 +57,8 @@ export const CartModal: React.FC<CartModalParams> = (props) => {
5757
const { isLoggedIn } = useCustomerData();
5858
const { updatePurchaseHistory } = useOrdersData();
5959
const { isCartSelected, isCreateNewCart, updateCartData, total, currentPage } = useMultiCartData();
60-
const { t } = useTranslation();
60+
const { t, selectedLanguage } = useTranslation();
61+
const { selectedCurrency } = useCurrency();
6162
const { addError } = useContext(APIErrorContext);
6263

6364
const [route, setRoute] = useState<string>('');
@@ -76,7 +77,7 @@ export const CartModal: React.FC<CartModalParams> = (props) => {
7677
const billing = isSameAddress ? shippingAddress : billingAddress;
7778
const name = `${shippingAddress.first_name} ${shippingAddress.last_name}`;
7879
const customerData = mcustomer && mcustomer.length ? {id: mcustomer} : {name: name, email: email};
79-
const orderRes = await checkout(mcart, customerData, billing, shippingAddress);
80+
const orderRes = await checkout(mcart, customerData, billing, shippingAddress, selectedLanguage, selectedCurrency);
8081

8182
const paymentParams = {
8283
gateway: 'stripe',

src/CreateCart.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, { useState } from "react";
2-
import { useMultiCartData, useTranslation, useCartData } from "./app-state";
2+
import { useMultiCartData, useTranslation, useCartData, useCurrency} from "./app-state";
33
import { addCustomerAssociation, getMultiCarts, bulkAdd, editCartInfo} from "./service";
44
import { ReactComponent as ClearIcon } from "./images/icons/ic_clear.svg";
55

@@ -13,7 +13,8 @@ interface CreateCartParams {
1313

1414
export const CreateCart: React.FC<CreateCartParams> = (props) => {
1515
const { showCreateCart, handleHideCreateCart } = props;
16-
const { t } = useTranslation();
16+
const { t, selectedLanguage } = useTranslation();
17+
const { selectedCurrency } = useCurrency();
1718
const { updateCartItems } = useCartData();
1819
const { guestCartId, setMultiCartData, updateSelectedCart, multiCartData, updateCartData, handleMergedMessage } = useMultiCartData();
1920

@@ -71,7 +72,7 @@ export const CreateCart: React.FC<CreateCartParams> = (props) => {
7172
type: "cart_items",
7273
cart_id: guestCartId,
7374
}];
74-
bulkAdd(selectedCart, data)
75+
bulkAdd(selectedCart, data, selectedLanguage, selectedCurrency )
7576
.then(() => {
7677
updateCartData();
7778
updateCartItems();

src/OrderDetailsTable.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useContext, useEffect, useState } from "react";
22
import { ProductMainImage } from "./ProductMainImage";
3-
import { useTranslation, useCartData, useMultiCartData } from "./app-state";
3+
import { useTranslation, useCartData, useMultiCartData, useCurrency } from "./app-state";
44
import { useResolve } from "./hooks";
55
import { getProductsByIds , bulkAdd } from "./service";
66
import { APIErrorContext } from "./APIErrorProvider";
@@ -23,7 +23,8 @@ export const OrderDetailsTable: React.FC<OrderDetailsTableParams> = ({
2323
orderItems,
2424
modalUI,
2525
}) => {
26-
const { t } = useTranslation();
26+
const { t, selectedLanguage } = useTranslation();
27+
const { selectedCurrency } = useCurrency();
2728
const { addError } = useContext(APIErrorContext);
2829
const { updateCartItems, setOpenModal, handlePartialAddMessage, setPartialAddMessage, partialAddConfirmation } = useCartData();
2930
const { updateCartData } = useMultiCartData();
@@ -63,7 +64,7 @@ export const OrderDetailsTable: React.FC<OrderDetailsTableParams> = ({
6364
}
6465
];
6566
setPartialAddMessage("");
66-
bulkAdd(mcart, data)
67+
bulkAdd(mcart, data, selectedLanguage, selectedCurrency)
6768
.then((res:any) => {
6869
updateCartItems();
6970
updateCartData();

src/OrdersHistory.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useCallback, useEffect, useState } from 'react';
22
import * as moltin from '@moltin/sdk';
33
import { Link, useParams } from 'react-router-dom';
4-
import { useOrdersData, useTranslation, useCartData , useMultiCartData } from './app-state';
4+
import { useOrdersData, useTranslation, useCartData , useMultiCartData , useCurrency} from './app-state';
55
import { ReactComponent as CaretIcon } from './images/icons/ic_caret.svg';
66
import useOnclickOutside from 'react-cool-onclickoutside';
77
import { bulkAdd } from "./service";
@@ -19,7 +19,8 @@ interface OrderParams {
1919
export const OrdersHistory: React.FC = () => {
2020
const params = useParams<OrderParams>();
2121

22-
const { t } = useTranslation();
22+
const { t, selectedLanguage } = useTranslation();
23+
const { selectedCurrency } = useCurrency();
2324
const { ordersData, ordersItemsData: items , total, setPageNum, currentPage, setDateIndex, setSort, sort, totalOrders } = useOrdersData();
2425
const { updateCartItems, setOpenModal, handlePartialAddMessage, setPartialAddMessage, partialAddConfirmation } = useCartData();
2526
const { updateCartData } = useMultiCartData();
@@ -65,7 +66,7 @@ export const OrdersHistory: React.FC = () => {
6566
order_id: activeOrderId,
6667
}];
6768
setPartialAddMessage("");
68-
bulkAdd(mcart, data)
69+
bulkAdd(mcart, data, selectedLanguage, selectedCurrency)
6970
.then((res:any) => {
7071
updateCartItems();
7172
updateCartData();

src/Product.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export const Product: React.FC = () => {
113113
const currentCart = localStorage.getItem("mcart") || "";
114114
const mcart = cartId ? cartId : currentCart;
115115
setAddToCartLoading(true);
116-
return addToCart(mcart, productId)
116+
return addToCart(mcart, productId, selectedLanguage, selectedCurrency)
117117
.then(() => {
118118
if (cartId && cartId !== currentCart) {
119119
localStorage.setItem('mcart', cartId);

src/QuickOrder.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
import React, { useState, useEffect } from 'react';
3-
import { useTranslation, useCartData, useMultiCartData, useCustomerData } from './app-state';
3+
import { useTranslation, useCartData, useMultiCartData, useCustomerData, useCurrency } from './app-state';
44
import useOnclickOutside from 'react-cool-onclickoutside';
55
import { bulkAdd } from './service';
66
import { SettingsCart } from './SettingsCart';
@@ -12,7 +12,8 @@ import { ReactComponent as CloseIcon } from './images/icons/ic_close.svg';
1212
import './QuickOrder.scss'
1313

1414
export const QuickOrder: React.FC = (props) => {
15-
const { t } = useTranslation();
15+
const { t, selectedLanguage } = useTranslation();
16+
const { selectedCurrency } = useCurrency();
1617
const { updateCartItems, setCartQuantity, handleShowCartPopup, cartData} = useCartData();
1718
const { updateCartData, updateSelectedCart, multiCartData, setIsCartSelected } = useMultiCartData();
1819
const { isLoggedIn } = useCustomerData();
@@ -181,7 +182,7 @@ export const QuickOrder: React.FC = (props) => {
181182
const totalQuantity = products.reduce((sum, { quantity }) => sum + quantity, 0);
182183
const currentCart = localStorage.getItem("mcart") || "";
183184
const mcart = cartId ? cartId : currentCart;
184-
bulkAdd(mcart, products)
185+
bulkAdd(mcart, products, selectedLanguage, selectedCurrency)
185186
.then((res:any) => {
186187
const errorsWQ: [{type:string, sku:string, quantity:number}] = [{type: "", sku: "", quantity: 0}];
187188
if(res.errors){

src/service.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -237,14 +237,14 @@ export async function deleteCart(reference: string) {
237237
await moltin.Cart(reference).Delete();
238238
}
239239

240-
export async function addToCart(reference: string, productId: string): Promise<void> {
241-
const moltin = MoltinGateway({ host: config.endpointURL, client_id: config.clientId });
240+
export async function addToCart(reference: string, productId: string, language: string, currency: string): Promise<void> {
241+
const moltin = MoltinGateway({ host: config.endpointURL, client_id: config.clientId, language, currency });
242242
const quantity = 1;
243243
await moltin.Cart(reference).AddProduct(productId, quantity);
244244
}
245245

246-
export async function bulkAdd(reference: string, data: moltin.CartItemObject[]): Promise<moltin.CartItemsResponse> {
247-
const moltin = MoltinGateway({ host: config.endpointURL, client_id: config.clientId });
246+
export async function bulkAdd(reference: string, data: moltin.CartItemObject[], language: string, currency: string): Promise<moltin.CartItemsResponse> {
247+
const moltin = MoltinGateway({ host: config.endpointURL, client_id: config.clientId, language, currency });
248248
const result = await moltin.Cart(reference).BulkAdd(data);
249249

250250
return result;
@@ -270,8 +270,8 @@ export async function updateCartItem(reference: string, productId: string, quant
270270
await moltin.Cart(reference).UpdateItem(productId, quantity);
271271
}
272272

273-
export async function checkout(reference: string, customer: any, billing: any, shipping: any): Promise<{ data: moltin.Order }> {
274-
const moltin = MoltinGateway({ host: config.endpointURL, client_id: config.clientId });
273+
export async function checkout(reference: string, customer: any, billing: any, shipping: any, language: string, currency: string): Promise<{ data: moltin.Order }> {
274+
const moltin = MoltinGateway({ host: config.endpointURL, client_id: config.clientId, language, currency });
275275
const checkoutRes = await moltin.Cart(reference).Checkout(customer, billing, shipping);
276276

277277
return checkoutRes;

0 commit comments

Comments
 (0)