<?php
// get_order_details.php - جلب تفاصيل الطلب مع الأقسام (متوافق مع نظام cart.php)
include 'config.php';
checkCustomerAuth();

$order_id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
$customer_id = $_SESSION['customer_id'];

if ($order_id <= 0) {
    echo '<div style="text-align: center; padding: 30px; color: var(--danger);">طلب غير صالح</div>';
    exit();
}

// جلب معلومات الطلب
$order_sql = "SELECT o.*, d.discount_name 
              FROM orders o 
              LEFT JOIN direct_discounts d ON o.discount_id = d.id 
              WHERE o.id = ? AND o.customer_id = ?";
$order_stmt = $conn->prepare($order_sql);
$order_stmt->bind_param("ii", $order_id, $customer_id);
$order_stmt->execute();
$order_result = $order_stmt->get_result();

if ($order_result->num_rows == 0) {
    echo '<div style="text-align: center; padding: 30px; color: var(--danger);">لا يمكن الوصول لهذا الطلب</div>';
    exit();
}

$order = $order_result->fetch_assoc();

// جلب عناصر الطلب مع الأقسام (بنفس نظام cart.php)
$items_sql = "SELECT oi.*, 
                     m.name as meal_name, 
                     m.image,
                     m.has_portions,
                     m.price as meal_base_price,
                     mp.name as portion_name
              FROM order_items oi
              LEFT JOIN meals m ON oi.meal_id = m.id
              LEFT JOIN meal_portions mp ON oi.portion_id = mp.id
              WHERE oi.order_id = ?
              ORDER BY oi.id ASC";
$items_stmt = $conn->prepare($items_sql);
$items_stmt->bind_param("i", $order_id);
$items_stmt->execute();
$items_result = $items_stmt->get_result();

// نص الحالة
$status_text = [
    'pending' => 'قيد الانتظار',
    'accepted' => 'تم القبول',
    'preparing' => 'جاري التجهيز',
    'ready' => 'جاهز',
    'on_the_way' => 'في الطريق',
    'delivered' => 'تم التوصيل',
    'cancelled' => 'ملغي'
][$order['status']] ?? $order['status'];

// لون الحالة
$status_color = [
    'pending' => '#FF9800',
    'accepted' => '#29B6F6',
    'preparing' => '#9C27B0',
    'ready' => '#4CAF50',
    'on_the_way' => '#9C27B0',
    'delivered' => '#4CAF50',
    'cancelled' => '#F44336'
][$order['status']] ?? '#78909C';

// أيقونة الحالة
$status_icon = [
    'pending' => 'bi-clock',
    'accepted' => 'bi-check-circle',
    'preparing' => 'bi-gear',
    'ready' => 'bi-bag-check',
    'on_the_way' => 'bi-truck',
    'delivered' => 'bi-check2-circle',
    'cancelled' => 'bi-x-circle'
][$order['status']] ?? 'bi-info-circle';

// تحديد نسبة التقدم
$progress_percentage = [
    'pending' => '20%',
    'accepted' => '40%',
    'preparing' => '60%',
    'ready' => '80%',
    'on_the_way' => '90%',
    'delivered' => '100%',
    'cancelled' => '0%'
][$order['status']] ?? '0%';

// دالة لتحديد لون القسم (نفس الألوان في cart.php)
function getPortionColor($portion_name) {
    $colors = [
        'ربع' => '#4CAF50',
        'نصف' => '#2196F3',
        'ثلاثة أرباع' => '#9C27B0',
        'ثلاث ارباع' => '#9C27B0',
        'كامل' => '#F57C00',
        'صغير' => '#FF9800',
        'وسط' => '#03A9F4',
        'كبير' => '#F44336',
        'عائلي' => '#8BC34A'
    ];
    
    foreach ($colors as $key => $color) {
        if (strpos($portion_name, $key) !== false) {
            return $color;
        }
    }
    
    return '#F57C00'; // اللون الافتراضي
}
?>

<style>
    /* نفس تنسيقات cart.php */
    .portion-badge {
        display: inline-flex;
        align-items: center;
        background: var(--primary-soft);
        color: var(--primary);
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 12px;
        font-weight: 600;
        margin: 5px 0;
        border: 1px solid var(--primary-light);
    }
    
    .portion-badge i {
        font-size: 12px;
        margin-left: 4px;
    }
    
    .cart-item {
        background: white;
        border-radius: var(--radius-md);
        padding: 15px;
        margin-bottom: 15px;
        box-shadow: var(--shadow-sm);
        border: 1px solid var(--primary-light);
    }
    
    .cart-item-row {
        display: flex;
        gap: 15px;
    }
    
    .cart-item-image {
        width: 80px;
        height: 80px;
        border-radius: 15px;
        object-fit: cover;
        border: 2px solid var(--primary-light);
    }
    
    .cart-item-details {
        flex: 1;
    }
    
    .cart-item-title {
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 5px;
        color: var(--dark);
    }
    
    .cart-item-price {
        color: var(--primary);
        font-weight: 700;
        font-size: 15px;
        margin-bottom: 5px;
    }
    
    .cart-item-controls {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 10px;
    }
    
    .item-subtotal {
        font-weight: 700;
        color: var(--dark);
        font-size: 15px;
    }
    
    .summary-card {
        background: white;
        border-radius: var(--radius-md);
        padding: 20px;
        margin: 20px 0;
        box-shadow: var(--shadow-sm);
        border: 1px solid var(--primary-light);
    }
    
    .summary-row {
        display: flex;
        justify-content: space-between;
        padding: 12px 0;
        border-bottom: 1px solid var(--gray-light);
    }
    
    .summary-row:last-child {
        border-bottom: none;
        font-weight: 800;
        font-size: 1.2rem;
        color: var(--primary);
    }
    
    .discount-badge {
        background: linear-gradient(135deg, var(--success), #2E7D32);
        color: white;
        padding: 4px 12px;
        border-radius: 20px;
        font-size: 11px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 3px;
    }
    
    .order-info-header {
        background: var(--gray-light);
        border-radius: 15px;
        padding: 15px;
        margin-bottom: 20px;
    }
    
    .status-progress-bar {
        width: 100%;
        height: 8px;
        background: rgba(255,255,255,0.5);
        border-radius: 4px;
        overflow: hidden;
        margin: 10px 0;
    }
    
    .status-progress-fill {
        height: 100%;
        background: linear-gradient(90deg, var(--primary), var(--accent));
        border-radius: 4px;
        transition: width 0.3s ease;
    }
    
    .progress-steps {
        display: flex;
        justify-content: space-between;
        margin-top: 10px;
    }
    
    .step-item {
        text-align: center;
        font-size: 11px;
        color: var(--gray);
        flex: 1;
    }
    
    .step-item.active {
        color: var(--primary);
        font-weight: 600;
    }
    
    .step-item i {
        display: block;
        font-size: 1.2rem;
        margin-bottom: 3px;
    }
    
    .reorder-btn {
        width: 100%;
        padding: 16px;
        background: linear-gradient(135deg, var(--primary), var(--accent));
        color: white;
        border: none;
        border-radius: 100px;
        font-weight: 700;
        font-size: 1.1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        cursor: pointer;
        box-shadow: var(--shadow-md);
        margin-top: 20px;
    }
</style>

<div style="padding: 5px;">
    <!-- معلومات الطلب -->
    <div class="order-info-header">
        <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; flex-wrap: wrap; gap: 10px;">
            <span style="font-weight: 700; color: var(--primary); font-size: 1.1rem;">طلب #<?= $order['id'] ?></span>
            <span style="color: var(--gray); font-size: 0.9rem;"><?= date('Y/m/d h:i A', strtotime($order['created_at'])) ?></span>
        </div>
        
        <!-- شريط تتبع الحالة -->
        <div style="margin: 15px 0; background: white; border-radius: 12px; padding: 12px;">
            <div style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px;">
                <i class="<?= $status_icon ?>" style="color: <?= $status_color ?>; font-size: 1.3rem;"></i>
                <span style="font-weight: 700; color: <?= $status_color ?>; font-size: 1rem;"><?= $status_text ?></span>
            </div>
            
            <?php if ($order['status'] != 'cancelled' && $order['status'] != 'delivered'): ?>
            <div class="status-progress-bar">
                <div class="status-progress-fill" style="width: <?= $progress_percentage ?>;"></div>
            </div>
            
            <!-- خطوات التتبع -->
            <div class="progress-steps">
                <?php
                $steps = [
                    'pending' => ['icon' => 'bi-clock', 'label' => 'انتظار', 'active' => in_array($order['status'], ['pending', 'accepted', 'preparing', 'ready', 'on_the_way', 'delivered'])],
                    'accepted' => ['icon' => 'bi-check-circle', 'label' => 'قبول', 'active' => in_array($order['status'], ['accepted', 'preparing', 'ready', 'on_the_way', 'delivered'])],
                    'preparing' => ['icon' => 'bi-gear', 'label' => 'تجهيز', 'active' => in_array($order['status'], ['preparing', 'ready', 'on_the_way', 'delivered'])],
                    'on_the_way' => ['icon' => 'bi-truck', 'label' => 'توصيل', 'active' => in_array($order['status'], ['on_the_way', 'delivered'])]
                ];
                
                foreach ($steps as $key => $step):
                ?>
                <div class="step-item <?= $step['active'] ? 'active' : '' ?>">
                    <i class="bi <?= $step['icon'] ?>"></i>
                    <span><?= $step['label'] ?></span>
                </div>
                <?php endforeach; ?>
            </div>
            <?php endif; ?>
        </div>
        
        <!-- ملاحظات الطلب -->
        <?php if (!empty($order['notes'])): ?>
        <div style="background: white; border-radius: 10px; padding: 12px; margin-top: 10px;">
            <div style="display: flex; align-items: center; gap: 8px; color: var(--gray); font-size: 0.9rem;">
                <i class="bi bi-chat-left-text" style="color: var(--primary);"></i>
                <span style="font-weight: 600;">ملاحظات:</span>
            </div>
            <p style="margin-top: 5px; padding-right: 32px; color: var(--dark);"><?= htmlspecialchars($order['notes']) ?></p>
        </div>
        <?php endif; ?>
    </div>
    
    <!-- عناصر الطلب (بنفس تصميم cart.php) -->
    <h4 style="margin: 15px 0 12px; color: var(--dark); display: flex; align-items: center; gap: 8px;">
        <i class="bi bi-basket" style="color: var(--primary); font-size: 1.3rem;"></i> 
        <span>عناصر الطلب</span>
        <span style="background: var(--primary-soft); color: var(--primary); padding: 2px 10px; border-radius: 20px; font-size: 0.8rem;">
            <?= $items_result->num_rows ?> عناصر
        </span>
    </h4>
    
    <?php 
    $subtotal = 0;
    $items_result->data_seek(0);
    while ($item = $items_result->fetch_assoc()): 
        $item_total = $item['price'] * $item['quantity'];
        $subtotal += $item_total;
        
        // صورة المنتج
        $image_path = !empty($item['image']) ? '../admin/uploads/' . $item['image'] : 'https://via.placeholder.com/80x80?text=Max';
        
        // التحقق من وجود قسم
        $has_portion = !empty($item['portion_name']) && $item['portion_name'] != 'كامل' && $item['portion_name'] != '';
        $portion_color = $has_portion ? getPortionColor($item['portion_name']) : '';
    ?>
    <div class="cart-item">
        <div class="cart-item-row">
            <img src="<?= $image_path ?>" class="cart-item-image" alt="<?= htmlspecialchars($item['meal_name'] ?? '') ?>">
            
            <div class="cart-item-details">
                <h3 class="cart-item-title"><?= htmlspecialchars($item['meal_name'] ?? '') ?></h3>
                <div class="cart-item-price"><?= number_format($item['price'] ?? 0, 2) ?> ريال</div>
                
                <!-- عرض القسم المحدد بنفس تصميم cart.php -->
                <?php if ($has_portion): ?>
                <div class="portion-badge" style="background: <?= $portion_color ?>20; color: <?= $portion_color ?>; border-color: <?= $portion_color ?>40;">
                    <i class="bi bi-tag"></i> <?= htmlspecialchars($item['portion_name']) ?>
                </div>
                <?php endif; ?>
                
                <div class="cart-item-controls">
                    <div style="display: flex; align-items: center;">
                        <span class="item-quantity" style="background: var(--primary-soft); color: var(--primary); padding: 4px 12px; border-radius: 20px; font-weight: 600;">
                            الكمية: <?= (int)($item['quantity'] ?? 1) ?>
                        </span>
                    </div>
                    
                    <span class="item-subtotal">
                        <?= number_format($item_total, 2) ?> ريال
                    </span>
                </div>
                
                <!-- السعر الأصلي إذا كان مختلفاً -->
                <?php if ($has_portion && !empty($item['meal_base_price']) && $item['meal_base_price'] != $item['price']): ?>
                <div style="font-size: 11px; color: var(--gray); margin-top: 5px;">
                    السعر الأصلي: <span style="text-decoration: line-through;"><?= number_format($item['meal_base_price'], 2) ?> ريال</span>
                </div>
                <?php endif; ?>
            </div>
        </div>
    </div>
    <?php endwhile; ?>
    
    <!-- ملخص الأسعار (بنفس تصميم cart.php) -->
    <div class="summary-card">
        <div class="summary-row">
            <span>مجموع المنتجات</span>
            <span><?= number_format($subtotal, 2) ?> ريال</span>
        </div>
        
        <div class="summary-row">
            <span>رسوم التوصيل</span>
            <span><?= number_format($order['delivery_fee'] ?? 10, 2) ?> ريال</span>
        </div>
        
        <?php if (!empty($order['discount_amount']) && $order['discount_amount'] > 0): ?>
        <div class="summary-row" style="color: var(--success);">
            <span>
                <i class="bi bi-tag"></i> خصم <?= htmlspecialchars($order['discount_name'] ?? '') ?>:
            </span>
            <span>-<?= number_format($order['discount_amount'], 2) ?> ريال</span>
        </div>
        <?php endif; ?>
        
        <div class="summary-row" style="border-bottom: none; font-weight: 800; font-size: 1.2rem; color: var(--primary);">
            <strong>الإجمالي الكلي</strong>
            <strong><?= number_format($order['total'], 2) ?> ريال</strong>
        </div>
    </div>
    
    <!-- زر إعادة الطلب (للمكتملة) -->
    <?php if ($order['status'] == 'delivered'): ?>
    <button class="reorder-btn" onclick="reorder(<?= $order['id'] ?>)">
        <i class="bi bi-arrow-repeat"></i> إعادة الطلب
    </button>
    <p style="text-align: center; color: var(--gray); font-size: 0.8rem; margin-top: 8px;">
        سيتم إضافة جميع العناصر مع الأقسام إلى السلة
    </p>
    <?php endif; ?>
</div>