import { useState, useEffect } from "react"; import ArrowLeftB from "@/components/icons/ArrowLeftB"; import { Button, MenuItem, Select, FormControl, InputLabel } from "@mui/material"; import ButtonFixed from "./ButtonFixed"; import { request } from "@/services/response"; function Paying({ setStep, appointmentId }) { const [selectedBank, setSelectedBank] = useState(""); const [loading, setLoading] = useState(false); const [timeLeft, setTimeLeft] = useState(600); // 10 minutes in seconds const banks = [ { id: "mellat", title: "بانک ملت" }, { id: "sep", title: "سامان (سپ)" } ]; useEffect(() => { if (timeLeft === 0) return; const timer = setInterval(() => { setTimeLeft((prev) => prev - 1); }, 1000); return () => clearInterval(timer); }, [timeLeft]); const formatTime = (seconds) => { const minutes = Math.floor(seconds / 60); const secs = seconds % 60; return `${minutes}:${secs.toString().padStart(2, '0')}`; }; const handlePayment = async () => { if (!selectedBank) { alert("لطفا بانک خود را انتخاب کنید"); return; } if (!appointmentId) { alert("شناسه نوبت یافت نشد"); return; } setLoading(true); try { const paymentPayload = { appointment_uuid: appointmentId, gateway: selectedBank, frontend_address: `${window.location.origin}/payment/result`, }; const res = await request.postAppointmentPayment(paymentPayload); const redirectUrl = res?.data?.redirect_url; if (redirectUrl) { window.location.href = redirectUrl; } else { setStep((prev) => prev + 1); } } catch (error) { console.error("Payment error:", error); alert("خطا در پرداخت"); setLoading(false); } }; return (

اطلاعات پرداخت

زمان باقیمانده:

{formatTime(timeLeft)}

انتخاب بانک {/*

مبلغ پیش پرداخت (بیعانه) :

10،000 تومان

*/}
); } export default Paying;