@@ -49,7 +61,7 @@ function OrderDetailInex() {
onDeliveryTypeChange={changeDeliveryType}
/>
- {deliveryType === '0' && (
+ {shouldShowAddress && (
)}
diff --git a/src/app/[name]/(Dialogs)/order/checkout/hooks/useOrderData.ts b/src/app/[name]/(Dialogs)/order/checkout/hooks/useOrderData.ts
index 66c26c9..fb71d91 100644
--- a/src/app/[name]/(Dialogs)/order/checkout/hooks/useOrderData.ts
+++ b/src/app/[name]/(Dialogs)/order/checkout/hooks/useOrderData.ts
@@ -5,6 +5,7 @@ import {
setAddressCart,
setDeliveryMethod,
setPaymentMethod,
+ createOrder,
} from "../service/OrderService";
export const useGetShipmentMethod = () => {
@@ -38,3 +39,9 @@ export const useSetPaymentMethod = () => {
mutationFn: setPaymentMethod,
});
};
+
+export const useCreateOrder = () => {
+ return useMutation({
+ mutationFn: createOrder,
+ });
+};
diff --git a/src/app/[name]/(Dialogs)/order/checkout/service/OrderService.ts b/src/app/[name]/(Dialogs)/order/checkout/service/OrderService.ts
index bb3722a..5596122 100644
--- a/src/app/[name]/(Dialogs)/order/checkout/service/OrderService.ts
+++ b/src/app/[name]/(Dialogs)/order/checkout/service/OrderService.ts
@@ -36,3 +36,8 @@ export const setPaymentMethod = async (id: string) => {
});
return data;
};
+
+export const createOrder = async () => {
+ const { data } = await api.post("/public/checkout");
+ return data;
+};
diff --git a/src/features/auth/components/StepOtp.tsx b/src/features/auth/components/StepOtp.tsx
index 05e60a8..69de111 100644
--- a/src/features/auth/components/StepOtp.tsx
+++ b/src/features/auth/components/StepOtp.tsx
@@ -11,6 +11,7 @@ import { extractErrorMessage } from '@/lib/func'
import { useReceiptStore } from '@/zustand/receiptStore'
import { useBulkCart } from '@/app/[name]/(Dialogs)/cart/hooks/useCartData'
import { setRefreshToken, setToken } from '@/lib/api/func'
+import { useSearchParams } from 'next/navigation'
type Props = {
@@ -19,13 +20,21 @@ type Props = {
}
const StepOtp = ({ phone, slug }: Props) => {
-
+ const searchParams = useSearchParams()
+ const redirectUrl = searchParams.get('redirect')
const { t } = useTranslation('auth')
const { mutate: mutateOtpVerify, isPending } = useOtpVerify()
const { items, clear } = useReceiptStore()
const { mutate: mutateBulkCart, isPending: isBulkCartPending } = useBulkCart()
+ const getRedirectPath = () => {
+ if (redirectUrl) {
+ return decodeURIComponent(redirectUrl)
+ }
+ return `/${slug}`
+ }
+
const formik = useFormik
({
initialValues: {
phone: phone,
@@ -56,17 +65,17 @@ const StepOtp = ({ phone, slug }: Props) => {
mutateBulkCart({ items: bulkCartItems }, {
onSuccess: () => {
clear()
- window.location.href = `/${slug}`
+ window.location.href = getRedirectPath()
},
onError: (error) => {
toast(extractErrorMessage(error), 'error')
}
})
} else {
- window.location.href = `/${slug}`
+ window.location.href = getRedirectPath()
}
} else {
- window.location.href = `/${slug}`
+ window.location.href = getRedirectPath()
}