| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import {useCallback} from "react";
- import { useApolloClient } from "@apollo/client/react";
- import {
- CREATE_SAVE_CHECKOUT_CART
- } from "@/graphql";
- import { SaveCheckoutCartVariables, SaveCheckoutCart } from "@/types/checkout/type";
- interface SaveCheckoutCartResult {
- data: SaveCheckoutCart | null;
- msg: string;
- error: boolean;
- }
- export const useSaveCheckoutCart = () => {
- const client = useApolloClient();
- const defaultVariables = {
- shippingMethod: '-1',
- paymentMethod: '-1',
- couponCode: '-1',
- giftCardNumber: '-1',
- memberDiscount: '-1',
- useShippingInsurance: '-1',
- rewardPoints: -1
- };
- const saveCheckoutCart = useCallback((params: SaveCheckoutCartVariables) => {
- const variables = Object.assign({},defaultVariables,params);
- return client.mutate({
- mutation: CREATE_SAVE_CHECKOUT_CART,
- variables: variables //params
- }).then((res) => {
- const resData = res.data?.createSaveCheckoutCart.saveCheckoutCart ?? null;
- const result: SaveCheckoutCartResult = {
- data:resData,
- msg: '',
- error: false
- };
- return result;
- }).catch((err) => {
- const result: SaveCheckoutCartResult = {
- data: null,
- msg: err.message,
- error: true
- };
- return result;
- });
- },[client]);
- return {
- saveCheckoutCart
- };
- };
|