import { PlusIcon } from '@heroicons/react/16/solid'; import Price from 'components/price'; import { DEFAULT_OPTION } from 'lib/constants'; import { CartItem } from 'lib/shopify/types'; import { createUrl } from 'lib/utils'; import Image from 'next/image'; import Link from 'next/link'; import { DeleteItemButton } from './delete-item-button'; import { EditItemQuantityButton } from './edit-item-quantity-button'; type LineItemProps = { item: CartItem; closeCart: () => void; }; type MerchandiseSearchParams = { [key: string]: string; }; const CoreCharge = ({ coreCharge, quantity }: { coreCharge?: CartItem; quantity: number }) => { if (!coreCharge) return null; return (
{coreCharge.merchandise.selectedOptions[0] ? ( ) : ( Included )} {`x ${quantity}`}
(Core Charge)
); }; const LineItem = ({ item, closeCart }: LineItemProps) => { const merchandiseSearchParams = {} as MerchandiseSearchParams; item.merchandise.selectedOptions.forEach(({ name, value }) => { if (value !== DEFAULT_OPTION) { merchandiseSearchParams[name.toLowerCase()] = value; } }); const merchandiseUrl = createUrl( `/product/${item.merchandise.product.handle}`, new URLSearchParams(merchandiseSearchParams) ); return (
  • {
    {item.merchandise.product.title} {item.merchandise.title !== DEFAULT_OPTION ? (

    {item.merchandise.title}

    ) : null}

    {item.quantity}

  • ); }; export default LineItem;