<?php
require_once __DIR__ . '/../../config/config.php';
require_once __DIR__ . '/../../includes/auth.php';

requireAdmin();
$db = getDBConnection();

// Metrics calculations
$todayRevenue  = $db->query("SELECT SUM(total_amount) FROM orders WHERE DATE(created_at) = CURDATE() AND payment_status = 'paid'")->fetchColumn() ?: 0.00;
$monthRevenue  = $db->query("SELECT SUM(total_amount) FROM orders WHERE MONTH(created_at) = MONTH(CURDATE()) AND YEAR(created_at) = YEAR(CURDATE()) AND payment_status = 'paid'")->fetchColumn() ?: 0.00;
$totalOrders   = $db->query("SELECT COUNT(*) FROM orders")->fetchColumn();
$pendingOrders = $db->query("SELECT COUNT(*) FROM orders WHERE order_status = 'pending'")->fetchColumn();
// Vendor metrics
$totalVendors     = $db->query("SELECT COUNT(*) FROM vendors WHERE status='approved'")->fetchColumn();
$pendingVendorApps= $db->query("SELECT COUNT(*) FROM vendor_applications WHERE status='pending'")->fetchColumn();

// Latest orders
$latestOrders = $db->query("SELECT o.*, u.fullname FROM orders o JOIN users u ON o.user_id = u.id ORDER BY o.created_at DESC LIMIT 5")->fetchAll();

// Best selling items
$bestSelling = $db->query("SELECT product_name, SUM(quantity) as total_qty, SUM(subtotal) as total_sales FROM order_items GROUP BY product_name ORDER BY total_qty DESC LIMIT 5")->fetchAll();

require_once __DIR__ . '/../../includes/admin_header.php';
?>

<div class="row g-3 mb-4">
  <div class="col-md-2">
    <div class="card card-custom p-3 border-start border-4 border-primary">
      <div class="text-muted small">💰 ยอดขายวันนี้</div>
      <h4 class="fw-bold text-primary mb-0">฿<?php echo number_format($todayRevenue, 0); ?></h4>
    </div>
  </div>
  <div class="col-md-2">
    <div class="card card-custom p-3 border-start border-4 border-success">
      <div class="text-muted small">📈 ยอดขายเดือนนี้</div>
      <h4 class="fw-bold text-success mb-0">฿<?php echo number_format($monthRevenue, 0); ?></h4>
    </div>
  </div>
  <div class="col-md-2">
    <div class="card card-custom p-3 border-start border-4 border-info">
      <div class="text-muted small">📦 ออเดอร์ทั้งหมด</div>
      <h4 class="fw-bold text-info mb-0"><?php echo number_format($totalOrders); ?></h4>
    </div>
  </div>
  <div class="col-md-2">
    <div class="card card-custom p-3 border-start border-4 border-warning">
      <div class="text-muted small">⏳ รอการตรวจสอบ</div>
      <h4 class="fw-bold text-warning mb-0"><?php echo number_format($pendingOrders); ?></h4>
    </div>
  </div>
  <div class="col-md-2">
    <div class="card card-custom p-3 border-start border-4 border-purple" style="border-color:#7c3aed!important">
      <div class="text-muted small">🏪 ร้านค้าในระบบ</div>
      <h4 class="fw-bold mb-0" style="color:#7c3aed"><?php echo number_format($totalVendors); ?></h4>
    </div>
  </div>
  <div class="col-md-2">
    <div class="card card-custom p-3 border-start border-4 border-danger">
      <div class="text-muted small">📌 รออนุมัติร้านค้า</div>
      <h4 class="fw-bold text-danger mb-0">
        <?php echo number_format($pendingVendorApps); ?>
        <?php if ($pendingVendorApps > 0): ?>
          <a href="vendors.php?tab=applications" class="btn btn-danger btn-sm rounded-pill ms-1" style="font-size:10px">ดู</a>
        <?php endif; ?>
      </h4>
    </div>
  </div>
</div>

<!-- Chart.js Sales Graph -->
<div class="card card-custom p-4 mb-4">
  <h5 class="fw-bold mb-3">📊 กราฟสรุปยอดขาย 7 วันล่าสุด</h5>
  <canvas id="salesChart" style="max-height: 300px;"></canvas>
</div>

<div class="row g-4">
  <!-- Latest Orders -->
  <div class="col-md-7">
    <div class="card card-custom p-4 h-100">
      <div class="d-flex justify-content-between align-items-center mb-3">
        <h5 class="fw-bold mb-0">🛒 ออเดอร์ล่าสุด</h5>
        <a href="orders.php" class="btn btn-sm btn-outline-primary rounded-pill">ดูทั้งหมด</a>
      </div>
      <table class="table table-hover align-middle">
        <thead>
          <tr>
            <th>Order No</th>
            <th>ลูกค้า</th>
            <th>ยอดรวม</th>
            <th>สถานะ</th>
          </tr>
        </thead>
        <tbody>
          <?php foreach ($latestOrders as $o): ?>
            <tr>
              <td class="fw-bold">#<?php echo sanitize($o['order_no']); ?></td>
              <td><?php echo sanitize($o['fullname']); ?></td>
              <td>฿<?php echo number_format($o['total_amount'], 2); ?></td>
              <td><span class="badge bg-warning text-dark"><?php echo strtoupper($o['order_status']); ?></span></td>
            </tr>
          <?php endforeach; ?>
        </tbody>
      </table>
    </div>
  </div>

  <!-- Best Sellers -->
  <div class="col-md-5">
    <div class="card card-custom p-4 h-100">
      <h5 class="fw-bold mb-3">🔥 สินค้าขายดี</h5>
      <ul class="list-group list-group-flush">
        <?php foreach ($bestSelling as $bs): ?>
          <li class="list-group-item bg-transparent d-flex justify-content-between align-items-center px-0">
            <div>
              <h6 class="mb-0 fw-bold"><?php echo sanitize($bs['product_name']); ?></h6>
              <small class="text-muted">ขายแล้ว: <?php echo $bs['total_qty']; ?> ชิ้น</small>
            </div>
            <span class="fw-bold text-primary">฿<?php echo number_format($bs['total_sales'], 2); ?></span>
          </li>
        <?php endforeach; ?>
      </ul>
    </div>
  </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', () => {
    const ctx = document.getElementById('salesChart').getContext('2d');
    new Chart(ctx, {
        type: 'line',
        data: {
            labels: ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5', 'Day 6', 'Today'],
            datasets: [{
                label: 'ยอดขาย (บาท)',
                data: [1200, 1900, 3000, 2500, 4200, 3800, <?php echo $todayRevenue; ?>],
                borderColor: '#4f46e5',
                backgroundColor: 'rgba(79, 70, 229, 0.1)',
                fill: true,
                tension: 0.4
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false
        }
    });
});
</script>

<?php require_once __DIR__ . '/../../includes/admin_footer.php'; ?>
