From e41acced5f185d59cd541d5fbe95a6a88f29e4c4 Mon Sep 17 00:00:00 2001 From: Mohammed Al-yaseen Date: Thu, 20 Nov 2025 21:56:27 +0300 Subject: [PATCH] add loader while creating order --- src/pages/checkout/hooks/useOrder.ts | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/pages/checkout/hooks/useOrder.ts b/src/pages/checkout/hooks/useOrder.ts index a8f4ee5..cca6219 100644 --- a/src/pages/checkout/hooks/useOrder.ts +++ b/src/pages/checkout/hooks/useOrder.ts @@ -60,6 +60,15 @@ export default function useOrder() { }, [orderType]); const handleCreateOrder = useCallback(() => { + const loadingMessageKey = "create-order-loader"; + message.loading({ + content: t("order.creatingOrder", { + defaultValue: "Creating order...", + }), + key: loadingMessageKey, + duration: 0, + }); + createOrder({ phone: mobilenumber || phone || giftDetails?.senderPhone, comment: specialRequest, @@ -114,6 +123,7 @@ export default function useOrder() { : {}), }) .then((res: unknown) => { + message.destroy(loadingMessageKey); const mutationResult = res as { data?: { result?: { orderID?: string } }; error?: { data?: { message?: string } }; @@ -124,7 +134,10 @@ export default function useOrder() { ); else { const redirectMessageKey = "order-redirect-loader"; - if (orderType === OrderType.Gift && mutationResult.data?.result?.orderID) { + if ( + orderType === OrderType.Gift && + mutationResult.data?.result?.orderID + ) { message.loading({ content: t("order.redirectingToPayment", { defaultValue: "Redirecting to payment...", @@ -136,17 +149,18 @@ export default function useOrder() { } else { message.destroy(redirectMessageKey); if (mutationResult.data?.result?.orderID) { - navigate(`/${subdomain}/order/${mutationResult.data.result.orderID}`); + navigate( + `/${subdomain}/order/${mutationResult.data.result.orderID}`, + ); } } dispatch(clearCart()); - if (mutationResult.data?.result?.orderID) { - localStorage.setItem("orderID", mutationResult.data.result.orderID); - } } }) .catch((error: unknown) => { + message.destroy(loadingMessageKey); console.error("Create Order failed:", error); + message.error(t("order.createOrderFailed")); }); }, [ createOrder,