diff --git a/src/app/[name]/(Dialogs)/cart/components/CartSummary.tsx b/src/app/[name]/(Dialogs)/cart/components/CartSummary.tsx deleted file mode 100644 index 1121a27..0000000 --- a/src/app/[name]/(Dialogs)/cart/components/CartSummary.tsx +++ /dev/null @@ -1,134 +0,0 @@ -'use client'; - -import React from 'react'; -import Link from 'next/link'; -import { useParams, useRouter, usePathname } from 'next/navigation'; -import Button from '@/components/button/PrimaryButton'; -import { useGetFoods } from '@/app/[name]/(Main)/hooks/useMenuData'; -import type { Food } from '@/app/[name]/(Main)/types/Types'; -import { useCart } from '../hook/useCart'; -import { useTranslation } from 'react-i18next'; -import { useGetProfile } from '@/app/[name]/(Profile)/profile/hooks/userProfileData'; -import { useGetCartItems } from '../hooks/useCartData'; -import { useCartStore } from '../store/Store'; - -interface CartSummaryProps { - isPremium: boolean; -} - -const CartSummary = ({ isPremium }: CartSummaryProps) => { - const params = useParams(); - const router = useRouter(); - const pathname = usePathname(); - const name = params.name as string; - const { isSuccess } = useGetProfile(); - const { data: foodsResponse } = useGetFoods(); - const foods = React.useMemo(() => foodsResponse?.data ?? [], [foodsResponse?.data]); - const { items } = useCart(); - const { data: cartData } = useGetCartItems(isSuccess); - const { t } = useTranslation('parallels', { keyPrefix: 'Cart' }); - const { description, setDescription } = useCartStore(); - - const cartFoods = React.useMemo(() => { - if (!foods.length) return []; - return Object.entries(items) - .filter(([, detail]) => detail?.quantity && detail.quantity > 0) - .map(([id]) => - foods.find((foodItem) => String(foodItem.id) === String(id)) - ) - .filter((food): food is Food => Boolean(food)); - }, [foods, items]); - - const totalPrice = React.useMemo(() => { - // اگر داده از API آمده و total وجود دارد، از آن استفاده میکنیم - if (isSuccess && cartData?.data?.total !== undefined) { - return cartData.data.total; - } - - // در غیر این صورت، محاسبه محلی با در نظر گرفتن تخفیف - return cartFoods.reduce((sum, food) => { - const qty = items[String(food.id)]?.quantity ?? 0; - const basePrice = food.price ?? 0; - const discount = food.discount ?? 0; - const priceAfterDiscount = basePrice * (1 - discount / 100); - return sum + priceAfterDiscount * qty; - }, 0); - }, [cartFoods, items, isSuccess, cartData?.data?.total]); - - const isCartEmpty = cartFoods.length === 0; - - const formatPrice = React.useCallback( - (value: number) => value.toLocaleString('fa-IR'), - [] - ); - - return ( - <> - {!isCartEmpty && ( - <> - {isPremium && ( -
در حال دریافت سبد خرید...
-در حال دریافت سبد خرید...
-