diff --git a/src/components/CustomBottomSheet/CancelOrderBottomSheet.tsx b/src/components/CustomBottomSheet/CancelOrderBottomSheet.tsx index 0906c4d..9da0efe 100644 --- a/src/components/CustomBottomSheet/CancelOrderBottomSheet.tsx +++ b/src/components/CustomBottomSheet/CancelOrderBottomSheet.tsx @@ -1,31 +1,41 @@ // import { useGlobals } from "../../hooks/useGlobals"; -import { Button, Card } from "antd"; +import { Button, Card, message } from "antd"; import BackIcon from "components/Icons/BackIcon"; import CancelIcon from "components/Icons/CancelIcon"; import CancelPopupIcon from "components/Icons/CancelPopupIcon"; import NextIcon from "components/Icons/NextIcon"; import { useState } from "react"; import { useTranslation } from "react-i18next"; +import { useParams } from "react-router-dom"; +import { useCancelOrderMutation } from "redux/api/others"; +import { useAppSelector } from "redux/hooks"; import { ProBottomSheet } from "../ProBottomSheet/ProBottomSheet"; import ProText from "../ProText"; import ProTitle from "../ProTitle"; import styles from "./CustomBottomSheet.module.css"; -interface CancelOrderBottomSheetProps { - initialValue?: string; - onSave?: (value: string) => void; -} - -export function CancelOrderBottomSheet({}: CancelOrderBottomSheetProps) { +export function CancelOrderBottomSheet() { const { t } = useTranslation(); const [isOpen, setIsOpen] = useState(false); - const isRTL = false; // Default to LTR + const { isRTL } = useAppSelector((state) => state.locale); + const { orderID } = useParams(); - const handleSave = () => { + const [cancelOrder] = useCancelOrderMutation(); + + const handleCancelOrder = () => { setIsOpen(false); + cancelOrder({ + orderID: orderID, + }).then((res: any) => { + if (res.error) { + message.error(res.error.data.message); + } else { + message.success(res.data.message); + } + }); }; - const handleCancel = () => { + const handleKeepOrder = () => { setIsOpen(false); }; @@ -65,12 +75,12 @@ export function CancelOrderBottomSheet({}: CancelOrderBottomSheetProps) { setIsOpen(false)} title={t("order.cancelOrder")} showCloseButton={false} initialSnap={1} - height={"45vh"} - snapPoints={["40vh"]} + height={350} + snapPoints={[350]} >
{t("order.thisActionCannotBeUndone")} @@ -112,7 +122,7 @@ export function CancelOrderBottomSheet({}: CancelOrderBottomSheetProps) { @@ -126,7 +136,7 @@ export function CancelOrderBottomSheet({}: CancelOrderBottomSheetProps) { borderColor: "#ea1f22", backgroundColor: "#fff", }} - onClick={handleSave} + onClick={handleCancelOrder} > {t("order.cancelOrder")} diff --git a/src/redux/api/others.ts b/src/redux/api/others.ts index 5825e51..51001f1 100644 --- a/src/redux/api/others.ts +++ b/src/redux/api/others.ts @@ -1,4 +1,5 @@ import { + CANCEL_ORDER_URL, CREATE_ORDER_URL, ORDER_DETAILS_URL, ORDERS_URL, @@ -46,6 +47,14 @@ export const branchApi = baseApi.injectEndpoints({ }), invalidatesTags: ["Orders"], }), + cancelOrder: builder.mutation({ + query: (body: any) => ({ + url: CANCEL_ORDER_URL, + method: "POST", + body, + }), + invalidatesTags: ["Orders"], + }), getTables: builder.query< any, { restaurantID: string; tableType: string } @@ -89,4 +98,5 @@ export const { useGetOrdersQuery, useGetTablesQuery, useGetOrderDetailsQuery, + useCancelOrderMutation } = branchApi; diff --git a/src/utils/constants.ts b/src/utils/constants.ts index eb5990e..892a14d 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -97,6 +97,7 @@ export const PRODUCT_DETAILS_URL = `${BASE_URL}getOptionsForItem/`; export const ORDERS_URL = `${BASE_URL}customer_orders`; export const ORDER_DETAILS_URL = `${BASE_URL}restaurant/getOneOrderForWebmenu`; export const CREATE_ORDER_URL = `${BASE_URL}create_order_webmenu`; +export const CANCEL_ORDER_URL = `${BASE_URL}restaurant/cancelOrder`; export const TABLES_URL = `${BASE_URL}restaurant/getTables`; export const LOGIN_URL = `${API_BASE_URL}login`; export const SEND_OTP_URL = `${API_BASE_URL}sendOtp`;