- {profile.addresses && profile.addresses.length > 0 && (
-
+ {isLoggedIn && (
+
+
+
)}
@@ -332,36 +396,86 @@ export default function CheckoutPage() {
setPaymentMethod(pay.id)}
- className={cn("p-4 sm:p-6 rounded-2xl sm:rounded-3xl border-2 cursor-pointer transition-all group flex sm:flex-col items-center sm:items-start gap-4 sm:gap-0", paymentMethod === pay.id ? "border-canina-blue bg-canina-blue/5" : "border-medical-gray-100 hover:border-canina-blue")}
+ className={cn("p-4 sm:p-6 rounded-2xl sm:rounded-3xl border-2 cursor-pointer transition-all group flex sm:flex-col items-center sm:items-start gap-4 sm:gap-0 relative", paymentMethod === pay.id ? "border-canina-blue bg-canina-blue/5" : "border-medical-gray-100 hover:border-canina-blue")}
>
{pay.icon}
{pay.label}
-
{pay.desc}
+
+
{pay.desc}
+ {pay.id === 'wallet' && (profile.walletBalance || 0) === 0 && (
+
+ )}
+
))}
+
اطلاعات کارت جهت واریز وجه سفارش:
-
-
شماره کارت (بانک سامان):
-
۶۲۱۹-۸۶۱۹-۷۴۰۱-۲۰۷۱
+
+ {/* Card Number Box */}
+
+
+ شماره کارت (بانک سامان):
+ handleCopy("6219861974012071", "شماره کارت")}
+ className="font-mono text-sm sm:text-base font-extrabold text-gray-900 tracking-wider dir-ltr block cursor-pointer hover:text-canina-blue transition-colors"
+ >
+ 6219 - 8619 - 7401 - 2071
+
+
+
-
-
شماره شبا:
-
IR-65 0560 6118 2800 5725 1015 01
+
+ {/* Sheba Box */}
+
+
+ شماره شبا:
+ handleCopy("IR650560611828005725101501", "شماره شبا")}
+ className="font-mono text-xs sm:text-sm font-extrabold text-gray-900 tracking-wider dir-ltr block cursor-pointer hover:text-canina-blue transition-colors"
+ >
+ IR-65 0560 6118 2800 5725 1015 01
+
+
+
-
-
به نام: پارسا آقایی
+
+
+ به نام: پارسا آقایی
پس از ثبت سفارش، کارشناسان فروش جهت تایید فیش با شما تماس میگیرند.
@@ -546,6 +660,32 @@ export default function CheckoutPage() {
+
+
setShowTopUpModal(false)}
+ onConfirm={(amt) => {
+ useUserStore.setState(state => ({
+ profile: {
+ ...state.profile,
+ walletBalance: (state.profile.walletBalance || 0) + amt
+ }
+ }));
+ }}
+ />
+
+ setShowAddressModal(false)}
+ onSave={(newAddr) => {
+ const currentAddresses = profile.addresses || [];
+ const updatedAddresses = [newAddr, ...currentAddresses];
+ updateProfile({ addresses: updatedAddresses });
+ setSelectedAddressId(newAddr.id);
+ setShowAddressModal(false);
+ toast.success('آدرس جدید اضافه شد و به عنوان آدرس تحویل انتخاب گردید.');
+ }}
+ />
);
}
diff --git a/frontend/application/lib/data/provinces.ts b/frontend/application/lib/data/provinces.ts
new file mode 100644
index 0000000..19f7251
--- /dev/null
+++ b/frontend/application/lib/data/provinces.ts
@@ -0,0 +1,55 @@
+export const IRAN_PROVINCES = [
+ "آذربایجان شرقی",
+ "آذربایجان غربی",
+ "اردبیل",
+ "اصفهان",
+ "البرز",
+ "ایلام",
+ "بوشهر",
+ "تهران",
+ "چهارمحال و بختیاری",
+ "خراسان جنوبی",
+ "خراسان رضوی",
+ "خراسان شمالی",
+ "خوزستان",
+ "زنجان",
+ "سمنان",
+ "سیستان و بلوچستان",
+ "فارس",
+ "قزوین",
+ "قم",
+ "کردستان",
+ "کرمان",
+ "کرمانشاه",
+ "کهگیلویه و بویراحمد",
+ "گلستان",
+ "گیلان",
+ "لرستان",
+ "مازندران",
+ "مرکزی",
+ "هرمزگان",
+ "همدان",
+ "یزد"
+];
+
+export const PROVINCE_CITIES: Record
= {
+ "تهران": ["تهران", "شهریار", "اسلامشهر", "قدس", "ملارد", "ورامین", "ری", "دماوند", "پردیس", "رباطکریم", "شمیرانات", "فشم"],
+ "البرز": ["کرج", "فردیس", "هشتگرد", "نظرآباد", "اشتهارد", "طالقان", "چهارباغ"],
+ "اصفهان": ["اصفهان", "کاشان", "خمینیشهر", "نجفآباد", "شاهینشهر", "شهرضا", "فولادشهر", "مبارکه"],
+ "فارس": ["شیراز", "مرودشت", "جهرم", "فسا", "کازرون", "لار", "داراب", "آباده"],
+ "خراسان رضوی": ["مشهد", "نیشابور", "سبزوار", "تربت حیدریه", "کاشمر", "قوچان", "چناران"],
+ "آذربایجان شرقی": ["تبریز", "مراغه", "مرند", "میانه", "اهر", "بناب", "سهند"],
+ "آذربایجان غربی": ["ارومیه", "خوی", "میاندوآب", "مهاباد", "بوکان", "سلماس", "پیرانشهر"],
+ "مازندران": ["ساری", "بابل", "آمل", "قائمشهر", "بهشهر", "چالوس", "تنکابن", "نوشهر", "رامسر"],
+ "گیلان": ["رشت", "بندر انزلی", "لاهیجان", "لنگرود", "تالش", "آستارا", "فومن", "صومعهسرا"],
+ "خوزستان": ["اهواز", "دزفول", "آبادان", "خرمشهر", "ماهشهر", "اندیمشک", "ایذه", "شوشتر"],
+ "یزد": ["یزد", "میبد", "اردکان", "بافق", "مهریز"],
+ "قم": ["قم"],
+ "قزوین": ["قزوین", "تاکستان", "الوند", "آبیک"],
+ "سمنان": ["سمنان", "شاهرود", "دامغان", "گرمسار"],
+ "کرمان": ["کرمان", "سیرجان", "رفسنجان", "جیرفت", "بم", "زرند"],
+ "کرمانشاه": ["کرمانشاه", "اسلامآباد غرب", "کنگاور", "سنقر", "سرپل ذهاب"],
+ "مرکزی": ["اراک", "ساوه", "خمینی", "محلات", "دلیجان"],
+ "هرمزگان": ["بندرعباس", "قشم", "کیش", "میناب", "بندرلنگه", "حاجیآباد"],
+ "همدان": ["همدان", "ملایر", "نهاوند", "تویسرکان"]
+};