diff --git a/src/app/[name]/(Dialogs)/cart/components/CartItemsList.tsx b/src/app/[name]/(Dialogs)/cart/components/CartItemsList.tsx
index cc52a3d..588a186 100644
--- a/src/app/[name]/(Dialogs)/cart/components/CartItemsList.tsx
+++ b/src/app/[name]/(Dialogs)/cart/components/CartItemsList.tsx
@@ -15,21 +15,24 @@ const CartItemsList = () => {
const { items } = useCart();
const { t } = useTranslation('parallels', { keyPrefix: 'Cart' });
- const cartProducts = React.useMemo(() => {
+ const cartLines = React.useMemo(() => {
if (!products.length) return [];
return Object.entries(items)
.filter(([, detail]) => detail?.quantity && detail.quantity > 0)
- .map(([id]) =>
- products.find((productItem) => String(productItem.id) === String(id))
- )
- .filter((product): product is Product => Boolean(product));
+ .map(([variantId]) => {
+ const product = products.find((p) =>
+ p.variants?.some((v) => String(v.id) === String(variantId))
+ );
+ return product ? { product, variantId } : null;
+ })
+ .filter((line): line is { product: Product; variantId: string } => line != null);
}, [products, items]);
if (isFetching && !products.length) {
return
{t('EmptyStateTitle', { defaultValue: 'سبد خرید شما خالی است' })}
@@ -44,9 +47,9 @@ const CartItemsList = () => { return (