diff --git a/app/payment/[uuid]/page.js b/app/payment/[uuid]/page.js
index 45d793e..a49752d 100644
--- a/app/payment/[uuid]/page.js
+++ b/app/payment/[uuid]/page.js
@@ -1,7 +1,7 @@
"use client";
import { useEffect, useState } from "react";
-import { useParams, useRouter } from "next/navigation";
+import { useParams, useRouter, useSearchParams } from "next/navigation";
import { request } from "@/services/response";
import { formatToman } from "@/lib/money";
import Cookies from "js-cookie";
@@ -10,6 +10,7 @@ import Layout from "@/components/layout";
export default function PaymentDetailsPage() {
const params = useParams();
const router = useRouter();
+ const searchParams = useSearchParams();
const [payment, setPayment] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
@@ -54,6 +55,15 @@ export default function PaymentDetailsPage() {
}
}, [params.uuid, router]);
+ // پس از دیدن جزئیاتِ پرداختِ موفق، خودکار به تاریخچهٔ نوبتها (تب تأییدشده) برو.
+ useEffect(() => {
+ const isSuccess = searchParams.get("status") === "success" || payment?.status === "success";
+ if (isSuccess) {
+ const t = setTimeout(() => router.push("/dashboard?sidebar=1"), 4000);
+ return () => clearTimeout(t);
+ }
+ }, [payment, searchParams, router]);
+
const getStatusLabel = (status) => {
const statusMap = {
pending: "در انتظار پرداخت",
@@ -202,7 +212,7 @@ export default function PaymentDetailsPage() {
{/* دکمهها */}
{["pending", "failed", "canceled"].includes(payment.status) &&
- payment.appointment_uuid ? (
+ payment.appointment_uuid ? (
diff --git a/app/payment/result/page.js b/app/payment/result/page.js
index c962e8f..63a4b2f 100644
--- a/app/payment/result/page.js
+++ b/app/payment/result/page.js
@@ -15,7 +15,7 @@ function PaymentResultRedirect() {
const q = status ? `?status=${status}` : "";
router.replace(`/payment/${paymentUuid}${q}`);
} else {
- router.replace("/dashboard?sidebar=2");
+ router.replace("/dashboard?sidebar=1");
}
}, [searchParams, router]);
diff --git a/components/dashboard/userAccount/sidebars/turns/Head.js b/components/dashboard/userAccount/sidebars/turns/Head.js
index 541a47b..11f828a 100644
--- a/components/dashboard/userAccount/sidebars/turns/Head.js
+++ b/components/dashboard/userAccount/sidebars/turns/Head.js
@@ -1,22 +1,22 @@
import Tabs from "@/app/component/Tabs";
const listTab = [
- "همه",
- "در انتظار پرداخت",
"تأیید شده",
+ "در انتظار پرداخت",
"انجام شده",
"لغو شده",
"منقضی شده",
+ "همه",
];
function Head({ status, setStatus }) {
const statusMap = {
- 0: undefined, // all
+ 0: "confirmed",
1: "pending",
- 2: "confirmed",
- 3: "completed",
- 4: "cancelled_by_user",
- 5: "expired",
+ 2: "completed",
+ 3: "cancelled_by_user",
+ 4: "expired",
+ 5: undefined, // all
};
const handleChange = (e, value) => {
diff --git a/components/dashboard/userAccount/sidebars/turns/index.js b/components/dashboard/userAccount/sidebars/turns/index.js
index 8cadd1f..851cd25 100644
--- a/components/dashboard/userAccount/sidebars/turns/index.js
+++ b/components/dashboard/userAccount/sidebars/turns/index.js
@@ -8,7 +8,7 @@ import Cookies from "js-cookie";
import IsTurnsDetails from "./isTurnsDetails";
function Turns({ user, setIsTurnsDetails, loading }) {
- const [status, setStatus] = useState(undefined);
+ const [status, setStatus] = useState("confirmed");
const [appointments, setAppointments] = useState([]);
const [isLoading, setIsLoading] = useState(true);
const [page, setPage] = useState(1);