diff --git a/src/assets/locals/ar.json b/src/assets/locals/ar.json index fbcd367..321d435 100644 --- a/src/assets/locals/ar.json +++ b/src/assets/locals/ar.json @@ -46,6 +46,7 @@ "dineIn": "تناول", "pickup": "استلام", "car": "سيارة", + "pay": "الدفع", "sendGift": "إرسال هدية", "roomService": "خدمة الغرف", "officeDelivery": "توصيل للمكتب", @@ -392,5 +393,13 @@ "validation": { "phoneRequired": "رقم الهاتف مطلوب", "invalidPhone": "رقم الهاتف غير صالح" + }, + "pay": { + "title": "الدفع", + "description": "الدفع للطلب", + "pay": "الدفع", + "payDescription": "الدفع للطلب", + "payButton": "الدفع", + "payButtonDescription": "الدفع للطلب" } } diff --git a/src/assets/locals/en.json b/src/assets/locals/en.json index 971e672..7198bf8 100644 --- a/src/assets/locals/en.json +++ b/src/assets/locals/en.json @@ -46,6 +46,7 @@ "dineIn": "Dine-in", "pickup": "Pickup", "car": "Car", + "pay": "Pay", "sendGift": "Send a Gift", "roomService": "Room Service", "officeDelivery": "Office Delivery", @@ -404,5 +405,13 @@ "validation": { "phoneRequired": "Phone number is required", "invalidPhone": "Invalid phone number" + }, + "pay": { + "title": "Pay", + "description": "Pay for your order", + "pay": "Pay", + "payDescription": "Pay for your order", + "payButton": "Pay", + "payButtonDescription": "Pay for your order" } } diff --git a/src/pages/checkout/components/BriefMenu.tsx b/src/pages/checkout/components/BriefMenu.tsx index 957fe63..399019a 100644 --- a/src/pages/checkout/components/BriefMenu.tsx +++ b/src/pages/checkout/components/BriefMenu.tsx @@ -3,16 +3,19 @@ import ArabicPrice from "components/ArabicPrice"; import ProInputCard from "components/ProInputCard/ProInputCard"; import ProText from "components/ProText"; import { selectCart } from "features/order/orderSlice"; +import { OrderType } from "pages/checkout/hooks/types.ts"; import { useMemo } from "react"; import { useTranslation } from "react-i18next"; +import { Link, useParams } from "react-router-dom"; import { useAppSelector } from "redux/hooks"; +import { colors } from "ThemeConstants"; import styles from "../../address/address.module.css"; -import { OrderType } from "pages/checkout/hooks/types.ts"; export default function BriefMenu() { const { tables, items } = useAppSelector(selectCart); const { t } = useTranslation(); const { orderType } = useAppSelector(selectCart); + const { subdomain } = useParams(); const menuItems = useMemo( () => @@ -46,7 +49,18 @@ export default function BriefMenu() { ); return ( - + + + {t("menu.title")} + + + ) : undefined + } + >
{menuItems}
); diff --git a/src/pages/checkout/hooks/types.ts b/src/pages/checkout/hooks/types.ts index 2502ac1..8876b27 100644 --- a/src/pages/checkout/hooks/types.ts +++ b/src/pages/checkout/hooks/types.ts @@ -246,4 +246,5 @@ export enum OrderType { ToRoom = "room", ToOffice = "office", Booking = "booking", + Pay = "pay" } diff --git a/src/pages/checkout/page.tsx b/src/pages/checkout/page.tsx index 2aced3c..4589af5 100644 --- a/src/pages/checkout/page.tsx +++ b/src/pages/checkout/page.tsx @@ -1,4 +1,5 @@ import { Form, Layout } from "antd"; +import InputCard from "components/InputCard"; import OrderSummary from "components/OrderSummary/OrderSummary"; import PaymentMethods from "components/PaymentMethods/PaymentMethods"; import ProHeader from "components/ProHeader/ProHeader"; @@ -9,11 +10,9 @@ import styles from "../address/address.module.css"; import { AddressSummary } from "./components/AddressSummary"; import BriefMenu from "./components/BriefMenu"; import CheckoutButton from "./components/CheckoutButton"; -import { GiftDetails } from "./components/GiftDetails"; -import PhoneCard from "./components/phoneCard"; -import InputCard from "components/InputCard"; -import { OrderType } from "./hooks/types"; import { GiftCard } from "./components/GiftCard"; +import PhoneCard from "./components/phoneCard"; +import { OrderType } from "./hooks/types"; export default function CheckoutPage() { const { t } = useTranslation(); diff --git a/src/pages/menu/components/CartButton/CartButton.tsx b/src/pages/menu/components/CartButton/CartButton.tsx index 2ee70c6..07dc9be 100644 --- a/src/pages/menu/components/CartButton/CartButton.tsx +++ b/src/pages/menu/components/CartButton/CartButton.tsx @@ -1,6 +1,7 @@ import { Badge, Button } from "antd"; import CartIcon from "components/Icons/cart/CartIcon"; import { selectCartItems } from "features/order/orderSlice"; +import { OrderType } from "pages/checkout/hooks/types"; import { useCallback } from "react"; import { useNavigate, useParams } from "react-router-dom"; import { useAppSelector } from "redux/hooks"; @@ -11,10 +12,17 @@ export function CartButton() { const { subdomain } = useParams(); const navigate = useNavigate(); const items = useAppSelector(selectCartItems); + const { orderType } = useAppSelector((s) => s.order); const onCartClick = useCallback(() => { - navigate(`/${subdomain}/cart`); - }, [navigate, subdomain]); + console.log(orderType); + + navigate( + orderType === OrderType.Pay + ? `/${subdomain}/pay` + : `/${subdomain}/menu?orderType=${orderType}`, + ); + }, [navigate, subdomain, orderType]); const totalItems = items.reduce((sum, item) => sum + item.quantity, 0); @@ -26,7 +34,7 @@ export function CartButton() { right: !isRTL ? "auto" : "20px", left: !isRTL ? "20px" : "auto", }} - className={'cart-button'} + className={"cart-button"} >