import { gql, TypedDocumentNode } from "@apollo/client";
import { RemoveCartItemData } from "@/types/cart/type";

export const REMOVE_CART_ITEM: TypedDocumentNode<RemoveCartItemData> = gql`
  mutation RemoveCartItem( $cartItemId: Int! ) {
    createRemoveCartItem(input: { cartItemId: $cartItemId }) {
      removeCartItem {
        id
        appliedTaxes
        itemsQty
        isGuest
        itemsCount
        items {
          edges {
            node {
              id
              cartId
              productId
              name
              price
              baseImage
              sku
              quantity
              type
              productUrlKey
              canChangeQty
            }
          }
        }
        subtotal
        subTotalInclTax
        discountAmount
        taxAmount
        taxTotal
        shippingAmount
        shippingAmountInclTax
        grandTotal
        formattedSubtotal
        formattedSubTotalInclTax
        formattedDiscountAmount
        formattedTaxAmount
        formattedTaxTotal
        formattedShippingAmount
        formattedShippingAmountInclTax
        formattedGrandTotal
        couponCode
        selectedShippingRate
        selectedShippingRateTitle
        paymentMethod
        paymentMethodTitle
        haveStockableItems
        billingAddress
        shippingAddress
      }
    }
  }
`;
