Files

111 lines
6.9 KiB
PHP

<?php
$pageTitle = 'پیگیری آنلاین سفارش';
require __DIR__ . '/../layout/header.php';
require __DIR__ . '/../layout/navbar.php';
?>
<div class="max-w-4xl mx-auto px-4 sm:px-6 py-12">
<div class="text-center max-w-xl mx-auto mb-8">
<div class="w-14 h-14 rounded-2xl bg-amber-50 text-amber-600 flex items-center justify-center text-2xl mx-auto mb-3 shadow-sm">
<i class="fas fa-magnifying-glass-location"></i>
</div>
<h1 class="text-2xl sm:text-3xl font-extrabold text-stone-900">پیگیری وضعیت سفارش</h1>
<p class="text-xs sm:text-sm text-stone-500 mt-1">کد رهگیری دریافت شده پس از ثبت سفارش را در کادر زیر وارد نمایید.</p>
</div>
<!-- Search Box -->
<div class="bg-white rounded-2xl border border-stone-200 p-6 sm:p-8 shadow-sm mb-8">
<form action="/track" method="POST" class="flex flex-col sm:flex-row gap-3">
<input type="text" name="order_code" value="<?= htmlspecialchars($_POST['order_code'] ?? ($_GET['code'] ?? '')) ?>" required placeholder="مثال: BLD-A1B2C3" class="flex-1 bg-stone-50 border border-stone-300 rounded-xl px-4 py-3 text-sm font-mono tracking-wider focus:ring-2 focus:ring-amber-500 focus:outline-none uppercase">
<button type="submit" class="py-3 px-8 rounded-xl bg-amber-500 hover:bg-amber-600 text-stone-950 font-extrabold text-sm transition shadow-sm">
استعلام وضعیت
</button>
</form>
</div>
<?php if ($searched): ?>
<?php if ($order): ?>
<div class="bg-white rounded-3xl border border-stone-200 p-6 sm:p-8 shadow-sm space-y-6">
<!-- Status Timeline -->
<?php
$statusMap = [
'pending' => ['label' => 'در انتظار بررسی و تایید مالی', 'step' => 1, 'color' => 'amber'],
'confirmed' => ['label' => 'سفارش تایید شد', 'step' => 2, 'color' => 'sky'],
'packing' => ['label' => 'در حال بسته‌بندی و آماده‌سازی در مزرعه', 'step' => 3, 'color' => 'indigo'],
'shipped' => ['label' => 'تحویل باربری / ارسال شد', 'step' => 4, 'color' => 'emerald'],
'delivered' => ['label' => 'تحویل داده شده', 'step' => 5, 'color' => 'emerald'],
'cancelled' => ['label' => 'سفارش لغو شد', 'step' => 0, 'color' => 'rose']
];
$currentStatus = $statusMap[$order['status']] ?? ['label' => $order['status'], 'step' => 1, 'color' => 'amber'];
?>
<div class="flex flex-col sm:flex-row sm:items-center justify-between pb-4 border-b gap-2">
<div>
<span class="text-xs text-stone-400">شماره سفارش:</span>
<span class="text-lg font-black text-stone-900 block"><?= htmlspecialchars($order['order_code']) ?></span>
</div>
<div class="text-left">
<span class="text-xs text-stone-400 block">وضعیت فعلی:</span>
<span class="inline-block mt-0.5 px-3 py-1 rounded-full text-xs font-extrabold bg-<?= $currentStatus['color'] ?>-100 text-<?= $currentStatus['color'] ?>-800">
<?= $currentStatus['label'] ?>
</span>
</div>
</div>
<!-- Order Details Grid -->
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4 text-xs bg-stone-50 p-4 rounded-2xl border border-stone-100">
<div>
<span class="text-stone-400 block">نام تحویل‌گیرنده:</span>
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['customer_name']) ?></span>
</div>
<div>
<span class="text-stone-400 block">شماره تماس:</span>
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['customer_phone']) ?></span>
</div>
<div>
<span class="text-stone-400 block">تاریخ ثبت:</span>
<span class="font-bold text-stone-800 mt-0.5 block"><?= \Bildirchin\Helpers::getJalaliDate($order['created_at']) ?></span>
</div>
<div>
<span class="text-stone-400 block">روش ارسال:</span>
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['shipping_method']) ?></span>
</div>
<div>
<span class="text-stone-400 block">نحوه تسویه:</span>
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['payment_method']) ?></span>
</div>
<div>
<span class="text-stone-400 block">مبلغ کل فاکتور:</span>
<span class="font-black text-amber-900 mt-0.5 block text-sm"><?= \Bildirchin\Helpers::formatPrice($order['final_amount']) ?></span>
</div>
</div>
<!-- Order Items -->
<div>
<h4 class="font-bold text-xs text-stone-700 mb-2">اقلام سفارش داده شده:</h4>
<div class="border border-stone-200 rounded-xl overflow-hidden divide-y text-xs">
<?php foreach ($order['items'] as $item): ?>
<div class="p-3 flex justify-between items-center">
<div>
<span class="font-bold text-stone-800"><?= htmlspecialchars($item['product_name']) ?></span>
<span class="text-stone-400 mr-2">(تعداد: <?= \Bildirchin\Helpers::toPersianDigits($item['quantity']) ?>)</span>
</div>
<span class="font-bold text-stone-900"><?= \Bildirchin\Helpers::formatPrice($item['total_price']) ?></span>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
<?php else: ?>
<div class="bg-rose-50 border border-rose-200 text-rose-800 p-6 rounded-2xl text-center text-sm">
<i class="fas fa-circle-xmark text-2xl text-rose-500 mb-2 block"></i>
سفارشی با این کد رهگیری در سامانه مزرعه ثبت نشده است. لطفاً از صحت کد وارد شده اطمینان حاصل فرمایید.
</div>
<?php endif; ?>
<?php endif; ?>
</div>
<?php
require __DIR__ . '/../layout/footer.php';
?>