64 lines
3.0 KiB
TypeScript
64 lines
3.0 KiB
TypeScript
import type { MetaFunction } from "@remix-run/node";
|
||
import { useNavigate, useSearchParams } from "@remix-run/react";
|
||
import { CheckCircle2, XCircle } from "lucide-react";
|
||
import { Button } from "../components/ui/button";
|
||
import ProfilePagesHeader from "../components/ProfilePagesHeader";
|
||
|
||
export const meta: MetaFunction = () => {
|
||
return [
|
||
{ title: "نتیجه پرداخت - ویترون" },
|
||
{ name: "description", content: "نتیجه پرداخت و تراکنش شما در ویترون. بررسی وضعیت پرداخت، کد پیگیری و اطلاعات تراکنش مالی." },
|
||
{ name: "keywords", content: "نتیجه پرداخت، تراکنش، کد پیگیری، پرداخت موفق، پرداخت ناموفق، ویترون" },
|
||
{ name: "robots", content: "noindex, follow" },
|
||
{ property: "og:title", content: "نتیجه پرداخت - ویترون" },
|
||
{ property: "og:description", content: "نتیجه پرداخت و تراکنش شما در ویترون. بررسی وضعیت پرداخت، کد پیگیری و اطلاعات تراکنش مالی." },
|
||
{ property: "og:type", content: "website" },
|
||
{ name: "twitter:card", content: "summary" },
|
||
{ name: "twitter:title", content: "نتیجه پرداخت - ویترون" },
|
||
{ name: "twitter:description", content: "نتیجه پرداخت و تراکنش شما در ویترون. بررسی وضعیت پرداخت، کد پیگیری و اطلاعات تراکنش مالی." },
|
||
];
|
||
};
|
||
|
||
export default function PaymentResult() {
|
||
const [searchParams] = useSearchParams();
|
||
const status = searchParams.get("status");
|
||
const refId = searchParams.get("ref_id");
|
||
const reason = searchParams.get("reason");
|
||
const navigate = useNavigate();
|
||
|
||
return (
|
||
<div className="flex flex-col gap-6 w-full items-center">
|
||
<ProfilePagesHeader title="نتیجه پرداخت" />
|
||
<div className="flex flex-col gap-6 items-center mt-[100px] px-4">
|
||
{status === "success" ? (
|
||
<>
|
||
<CheckCircle2 className="text-primary size-16" />
|
||
<p className="text-B16 text-center">پرداخت با موفقیت انجام شد</p>
|
||
<div className="flex flex-col items-center gap-1">
|
||
<p className="text-R14 text-GRAY">کد پیگیری:</p>
|
||
<p className="text-B16">{refId}</p>
|
||
</div>
|
||
</>
|
||
) : (
|
||
<>
|
||
<XCircle className="text-RED size-16" />
|
||
<p className="text-B16 text-center">پرداخت ناموفق</p>
|
||
<p className="text-R14 text-GRAY text-center">
|
||
{reason ||
|
||
"متاسفانه مشکلی در پرداخت پیش آمده است. لطفا دوباره تلاش کنید."}
|
||
</p>
|
||
</>
|
||
)}
|
||
<Button
|
||
className="w-full"
|
||
size={"xl"}
|
||
variant="dark"
|
||
onClick={() => navigate("/profile/wallet")}
|
||
>
|
||
بازگشت به کیف پول
|
||
</Button>
|
||
</div>
|
||
</div>
|
||
);
|
||
}
|