<?php

declare(strict_types=1);

require_once __DIR__ . '/../app/config/bootstrap.php';
require_once __DIR__ . '/../app/models/Order.php';
require_once __DIR__ . '/../app/core/DijikalaLayout.php';

$order = null;
$items = [];
$error = null;

$hasTracking = isset($_GET['order_tracking_id']) && trim((string)$_GET['order_tracking_id']) !== '';
$hasId = isset($_GET['id']) && trim((string)$_GET['id']) !== '';
if (isset($_GET['phone']) && trim((string)$_GET['phone']) !== '' && ($hasTracking || $hasId)) {
    $phone = trim((string)$_GET['phone']);
    $model = new Order();
    if ($hasTracking) {
        $order = $model->findByPublicTracking(trim((string)$_GET['order_tracking_id']), $phone);
    } else {
        $orderId = (int)$_GET['id'];
        $order = $model->findForTracking($orderId, $phone);
    }
    if ($order) {
        $items = $model->items((int)$order['id']);
    } else {
        $error = 'سفارشی با این اطلاعات پیدا نشد.';
    }
}

renderDijikalaShellStart('پیگیری سفارش | ' . APP_NAME, [], '');
?>

<article class="container" style="padding:1.5rem 0 3rem;">
    <h2>پیگیری سفارش</h2>
    <p>با شناسه پیگیری یا شماره سفارش داخلی و شماره تلفن ثبت‌شده در سفارش.</p>
    <form class="c-form-account" method="get">
        <div class="c-form-account__title">شناسه پیگیری سفارش</div>
        <div class="c-form-account__row">
            <input class="c-ui-input__field c-ui-input__field--right-placeholder" name="order_tracking_id" placeholder="ORD-..."
                   value="<?= htmlspecialchars((string)($_GET['order_tracking_id'] ?? '')) ?>">
        </div>
        <div class="c-form-account__title">یا شماره سفارش داخلی</div>
        <div class="c-form-account__row">
            <input class="c-ui-input__field c-ui-input__field--right-placeholder" type="number" name="id" placeholder="عدد"
                   value="<?= htmlspecialchars((string)($_GET['id'] ?? '')) ?>">
        </div>
        <div class="c-form-account__title">شماره تلفن</div>
        <div class="c-form-account__row">
            <input class="c-ui-input__field c-ui-input__field--right-placeholder" name="phone" required placeholder="09..."
                   value="<?= htmlspecialchars((string)($_GET['phone'] ?? '')) ?>">
        </div>
        <div class="c-form-account__row c-form-account__row--submit">
            <button class="btn-login" type="submit">نمایش</button>
        </div>
    </form>
    <?php if ($error): ?>
        <p style="color:#b91c1c;margin-top:16px;"><?= htmlspecialchars($error) ?></p>
    <?php endif; ?>
    <?php if ($order): ?>
        <div style="margin-top:24px;padding:16px;border:1px solid #e2e8f0;border-radius:10px;">
            <h3>شناسه پیگیری: <code><?= htmlspecialchars((string)($order['order_tracking_id'] ?? '-')) ?></code></h3>
            <p>وضعیت: <strong><?= htmlspecialchars((string)$order['status']) ?></strong></p>
            <p>پرداخت: <?= htmlspecialchars((string)$order['payment_status']) ?></p>
            <p>کد پیگیری ارسال: <?= htmlspecialchars((string)($order['tracking_code'] ?? 'ثبت نشده')) ?></p>
            <p>مبلغ: <?= number_format((float)$order['total_amount']) ?> تومان</p>
            <ul>
                <?php foreach ($items as $item): ?>
                    <li>
                        <?= htmlspecialchars((string)$item['product_title']) ?> — تعداد <?= (int)$item['quantity'] ?>
                        <?php if (!empty($item['product_tracking_code'])): ?>
                            — شناسه کالا: <code><?= htmlspecialchars((string)$item['product_tracking_code']) ?></code>
                        <?php endif; ?>
                    </li>
                <?php endforeach; ?>
            </ul>
        </div>
    <?php endif; ?>
</article>

<?php
renderDijikalaShellEnd('tracking', 'minimal');
Performance::finish('public.order-tracking');
