feat(appointment): payment timer from real lock + status-driven payment UX

Drive the payment countdown from the booking's expires_at (15-min lock)
instead of a fake local 10-min timer; when it hits zero, show an expiry
notice and an 'choose time again' button back to slot selection. Show the
booked time (Jalali) and doctor on the payment step, and replace the
fabricated success amount with a confirmation/SMS note.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hamed
2026-06-15 18:09:33 +03:30
co-authored by Claude Opus 4.8
parent 08107d6ef2
commit eb3cb6ca10
2 changed files with 50 additions and 32 deletions
+3 -15
View File
@@ -18,24 +18,12 @@ function SuccessPay({ setStep }) {
</p>
</div>
<p
className="text-[#3B3B3B] text-[16px] font-normal
mt-[24px] sm:mt-[26px] md:mt-[29px] lg:mt-[32px]
className="text-[#3B3B3B] text-[16px] font-normal text-center
mt-[24px] sm:mt-[26px] md:mt-[29px] lg:mt-[32px]
mb-[24px] md:mb-[16px]"
>
برای نمایش نوبت ها به قسمت نوبت های من بروید.{" "}
نوبت شما تأیید شد و پیامک تأیید برای بیمار ارسال میشود. برای نمایش نوبتها به قسمت نوبتهای من بروید.{" "}
</p>
<div className="flex w-full md:hidden flex-col justify-center items-center mb-[32px]">
<span className="w-full block h-px bg-[#EFEFEF]"></span>
<div className="flex items-center justify-between my-[20px] gap-[80px]">
<p className="text-[#616161] text-[14px] font-medium">
مقدار پرداخت شده:{" "}
</p>
<p className="text-[#05BA58] text-[14px] font-bold">
20،000 تومان
</p>
</div>
<span className="w-full block h-px bg-[#EFEFEF]"></span>
</div>
<Link href="/dashboard">
<Button
variant="text"