From 69425580d671d2c08b3424af968e52fd8a483d9d Mon Sep 17 00:00:00 2001 From: Mohammed Al-yaseen Date: Sat, 17 Jan 2026 11:05:00 +0300 Subject: [PATCH] apply "thawani" way payment --- public/thawani.png | Bin 0 -> 1260 bytes src/assets/locals/ar.json | 3 +- src/assets/locals/en.json | 3 +- src/components/Icons/RefershIcon.tsx | 6 +-- .../PaymentMethods/PaymentMethods.tsx | 35 ++++++++++++------ src/features/order/orderSlice.ts | 8 +++- src/pages/checkout/hooks/useOrder.ts | 5 +-- 7 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 public/thawani.png diff --git a/public/thawani.png b/public/thawani.png new file mode 100644 index 0000000000000000000000000000000000000000..8e10ece4c9121b2382039ec766cd6ec220cd9be7 GIT binary patch literal 1260 zcmVdx~GXOG_huMiXNcWw!xIyfMlJX+$)7 zVW72z^n%1FUKlm7Te#3YYojS>yfD!cNlaRTx`n2tACS7c=ZqKUS*@pMx9m2ZxhuuKosIF?#n`JB8$cBXf>GRqD{&b+U@o!1N`m+PEvS%IrU*3WAIc)6Tzc^wC;h?(NT z@f?{Lj)=S>BL>OaP;a+AkFiu8Kzm6U`0B)vDq?l;ZF~kRJB{E7cH`mM*37Y5tv(Rq z0elgcl+RD%=fXEznNyE7_ADNRRYU|gVYoP-3wjkkL0(_0Y7t@`wv^{{-0)TmO7DvW z{8VRYk-&AhxX0^N#9CEV!`kA!TQ0LU|_y@F`(-1v;_r2C(x$Cq{KOyiXh zZSoLK^ayks|CqzTXmdzr{-3{kL~QB$=rHzSCL%N0C*wJM82v@(-^858(4 zmKU9wV(0nUTDw)AT^tcN7S^2Wg4o>^z&?BqukF~d$4GPdrQjhP#LZ~ocX&eP)Q%0~ zM)z)dRXcwmbB-JO@drGCgOA_#%$)6OiSOa6)7!8+ZI^~vd2e&mYmYXbmdwh0PS_t} zb<$Qj6yaoaN+d3*xAWA@eqx)<%Y~ZES8z;3!hOxnX0=vfjShdz%LA8?Yg*bb!>-17 znL&YPj88TzGFT~nzEcF85+mah{2{b(~nKg%mcnfYVqkF*sR^UUS zT7B;#my5Gd{(9V4X2*g7LllG24fa;^W=vhZt=RKZ3h^5X~w44BJ8+=u^)hHh#5;x(_4j+SPdW48?nzA5*FNi7U%+x*PB8241=Bi{#hizUF2v?JH7#2cIo_{u#5O zU}X|x*iTLo$I(jJ*I7>D9fd9LEGfTmo{@h9-^I>=t<5_k<$64f+fU>CZfO;wIato& z@~ppX%4^HN!m?MeK&gDq2W+S*m&hF}{uE)c}I$cYZHc<@ zCp=KL-jh9mxl~C^;juaAl`4C#WTVZY3Re?fD44j$xzX||opHT8_(iCWZf`uD3+{vk z%`1ubq>fCri9Q_BI WMv(&j;l~~T0000 { ); diff --git a/src/components/PaymentMethods/PaymentMethods.tsx b/src/components/PaymentMethods/PaymentMethods.tsx index 57cab9a..f9031e0 100644 --- a/src/components/PaymentMethods/PaymentMethods.tsx +++ b/src/components/PaymentMethods/PaymentMethods.tsx @@ -1,7 +1,7 @@ -import { Form, Radio, Space } from "antd"; +import { Form, Image, Radio, Space } from "antd"; import { Group } from "antd/es/radio"; import ArabicPrice from "components/ArabicPrice"; -import DifferentCardIcon from "components/Icons/paymentMethods/DifferentCardIcon"; +// import DifferentCardIcon from "components/Icons/paymentMethods/DifferentCardIcon"; import ProText from "components/ProText"; import { selectCart, @@ -14,7 +14,6 @@ import { colors, ProGray1 } from "../../ThemeConstants"; import ProInputCard from "../ProInputCard/ProInputCard"; import styles from "./PaymentMethods.module.css"; import { OrderType } from "pages/checkout/hooks/types.ts"; -import RCardIcon from "components/Icons/RCardIcon"; import { formatPriceUi } from "utils/helpers"; const PaymentMethods = () => { @@ -22,7 +21,7 @@ const PaymentMethods = () => { const { paymentMethod, orderType } = useAppSelector(selectCart); const dispatch = useAppDispatch(); const grandTotal = useAppSelector(selectGrandTotal); - const { isRTL } = useAppSelector((state) => state.locale); + // const { isRTL } = useAppSelector((state) => state.locale); const options: { label: React.ReactNode; @@ -40,12 +39,14 @@ const PaymentMethods = () => { - $ + {/* $ */} + + + {t("checkout.cash")} - {t("checkout.cash")} ), value: "cash", @@ -65,14 +66,26 @@ const PaymentMethods = () => { { label: ( <> - - {t("checkout.differentCard")} + {/* */} + + {t("checkout.thawani")} + ), - value: "differentCard", + value: "thawani", icon: (
- + thawani
), hideCurrency: true, diff --git a/src/features/order/orderSlice.ts b/src/features/order/orderSlice.ts index bfb95a8..4d09f60 100644 --- a/src/features/order/orderSlice.ts +++ b/src/features/order/orderSlice.ts @@ -380,7 +380,11 @@ const orderSlice = createSlice({ // Clear all cart data from localStorage if (typeof window !== "undefined") { Object.values(CART_STORAGE_KEYS) - .filter((key) => key !== CART_STORAGE_KEYS.ORDER_TYPE) + .filter( + (key) => + key !== CART_STORAGE_KEYS.ORDER_TYPE && + key !== CART_STORAGE_KEYS.PAYMENT_METHOD, + ) .forEach((key) => { localStorage.removeItem(key); }); @@ -703,7 +707,7 @@ const orderSlice = createSlice({ }, updateOrder(state, action: PayloadAction) { state.order = { ...(state.order || {}), ...action.payload }; - + if (typeof window !== "undefined") { localStorage.setItem( CART_STORAGE_KEYS.ORDER, diff --git a/src/pages/checkout/hooks/useOrder.ts b/src/pages/checkout/hooks/useOrder.ts index e175d8a..3282cdc 100644 --- a/src/pages/checkout/hooks/useOrder.ts +++ b/src/pages/checkout/hooks/useOrder.ts @@ -75,8 +75,6 @@ export default function useOrder() { duration: 0, }); - console.log(order?.roomNumber); - createOrder({ phone: mobilenumber || phone || giftDetails?.senderPhone, comment: specialRequest, @@ -152,8 +150,9 @@ export default function useOrder() { ); else { const redirectMessageKey = "order-redirect-loader"; + if ( - orderType === OrderType.Gift && + localStorage.getItem("fascano_payment_method")?.toString() === '"thawani"' && mutationResult.data?.result?.orderID ) { message.loading({