From b9264a9d7ede6e064df22b2a32aefff83c2d49ca Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Sat, 27 Dec 2025 11:22:38 +0330 Subject: [PATCH] handle plan base and permium --- .../(Dialogs)/cart/components/CartSummary.tsx | 62 +++++++++++-------- src/app/[name]/(Dialogs)/cart/page.tsx | 35 ++++++++++- 2 files changed, 69 insertions(+), 28 deletions(-) diff --git a/src/app/[name]/(Dialogs)/cart/components/CartSummary.tsx b/src/app/[name]/(Dialogs)/cart/components/CartSummary.tsx index 89c937f..da46ad5 100644 --- a/src/app/[name]/(Dialogs)/cart/components/CartSummary.tsx +++ b/src/app/[name]/(Dialogs)/cart/components/CartSummary.tsx @@ -12,7 +12,11 @@ import { useGetProfile } from '@/app/[name]/(Profile)/profile/hooks/userProfileD import { useGetCartItems } from '../hooks/useCartData'; import { useCartStore } from '../store/Store'; -const CartSummary = () => { +interface CartSummaryProps { + isPremium: boolean; +} + +const CartSummary = ({ isPremium }: CartSummaryProps) => { const params = useParams(); const router = useRouter(); const pathname = usePathname(); @@ -62,20 +66,22 @@ const CartSummary = () => { <> {!isCartEmpty && ( <> -
-
-

{t('InputDescription.Label')}

- - + {isPremium && ( +
+
+

{t('InputDescription.Label')}

+ + +
-
+ )}
@@ -84,19 +90,21 @@ const CartSummary = () => {
{formatPrice(totalPrice)} تومان
- { - if (!isSuccess) { - event.preventDefault(); - const redirectUrl = encodeURIComponent(pathname); - router.replace(`/${name}/auth?redirect=${redirectUrl}`); - return; - } - }} - > - - + {isPremium && ( + { + if (!isSuccess) { + event.preventDefault(); + const redirectUrl = encodeURIComponent(pathname); + router.replace(`/${name}/auth?redirect=${redirectUrl}`); + return; + } + }} + > + + + )}
diff --git a/src/app/[name]/(Dialogs)/cart/page.tsx b/src/app/[name]/(Dialogs)/cart/page.tsx index 459fefc..ca36cef 100644 --- a/src/app/[name]/(Dialogs)/cart/page.tsx +++ b/src/app/[name]/(Dialogs)/cart/page.tsx @@ -13,13 +13,20 @@ import VerticalScrollView from '@/components/listview/VerticalScrollView'; import MenuItem from '@/components/listview/MenuItem'; import MenuItemRenderer from '@/components/listview/MenuItemRenderer'; import type { Food } from '@/app/[name]/(Main)/types/Types'; +import { useGetAbout } from '../../(Main)/about/hooks/useAboutData'; +import PagerModal from '@/components/pager/PagerModal'; +import Button from '@/components/button/PrimaryButton'; +import NotificationBellIcon from '@/components/icons/NotificationBellIcon'; const CartIndex = () => { const { t } = useTranslation('parallels', { keyPrefix: 'Cart' }); const router = useRouter(); const { clearCart, items } = useCart(); const [showClearConfirm, setShowClearConfirm] = React.useState(false); + const [showPagerModal, setShowPagerModal] = React.useState(false); const { data: foodsResponse, isFetching } = useGetFoods(); + const { data: aboutData } = useGetAbout(); + const isPremium = aboutData?.data?.plan === 'premium'; const foods = React.useMemo(() => foodsResponse?.data ?? [], [foodsResponse?.data]); const isLoading = isFetching && !foods.length; @@ -96,12 +103,36 @@ const CartIndex = () => { ) : ( + {!isPremium && ( +
+
+
+ +
+
+

+ ثبت سفارش +

+

+ برای ثبت سفارش، لطفاً گارسون را صدا کنید +

+
+
+ +
+ )} {cartFoods.map((food) => ( ))} - +
)} @@ -118,6 +149,8 @@ const CartIndex = () => { onClick={toggleClearConfirm} /> + + setShowPagerModal(false)} /> ); };