<?php
// === server bootstrap & includes ===
include('includes/db.php');

// Normalize connection charset/collation (avoids UNION collation clashes)
mysqli_query($conn, "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci");
mysqli_query($conn, "SET collation_connection = 'utf8mb4_unicode_ci'");

// --- helpers ---
function h($v){ return htmlspecialchars((string)$v, ENT_QUOTES, 'UTF-8'); }

// --- UTC to IST conversion functions ---
function utcToIst($utcDateTime, $format = 'Y-m-d h:i A') {
    if (empty($utcDateTime)) return '';
    
    try {
        $utc = new DateTime($utcDateTime, new DateTimeZone('UTC'));
        $utc->setTimezone(new DateTimeZone('Asia/Kolkata')); // IST timezone
        return $utc->format($format);
    } catch (Exception $e) {
        return $utcDateTime; // fallback to original if conversion fails
    }
}

function utcDateToIst($utcDate, $format = 'M d, Y') {
    if (empty($utcDate)) return '';
    
    try {
        $utc = new DateTime($utcDate . ' 00:00:00', new DateTimeZone('UTC'));
        $utc->setTimezone(new DateTimeZone('Asia/Kolkata'));
        return $utc->format($format);
    } catch (Exception $e) {
        return $utcDate;
    }
}

// --- date ranges (server time - UTC) ---
$todayStart   = date('Y-m-d 00:00:00');
$todayEnd     = date('Y-m-d 23:59:59');
$monthStart   = date('Y-m-01 00:00:00');

// --- low stock threshold (can be changed in URL) ---
$threshold = isset($_GET['threshold']) ? max(0, (int)$_GET['threshold']) : 5;

// --- function to compute all stats (used for initial render AND ajax refresh) ---
function get_dashboard_data(mysqli $conn, int $threshold, string $todayStart, string $todayEnd, string $monthStart) {
    $data = [
        'kpis' => [
            'monthly_revenue' => 0.00,
            'orders_today'    => 0,
            'today_total_sales' => 0.00,
            'today_profit'    => 0.00,
            'low_stock'       => 0,
            'total_customers' => 0,
            'total_invoices'  => 0,
            'total_investment' => 0.00,
            'total_sellable'  => 0.00,
            'total_profit'    => 0.00,
            'total_products'  => 0
        ],
        'transactions_html' => '',
        'inventory_html'    => '',
        'activity_html'     => '',
        'chart7d'           => ['labels'=>[], 'values'=>[]], // chart payload
    ];

    // KPIs - Financial Metrics
    $q = mysqli_query($conn, "SELECT COALESCE(SUM(total),0) AS s FROM invoices WHERE created_at BETWEEN '{$monthStart}' AND NOW()");
    if ($q && ($r=mysqli_fetch_assoc($q))) $data['kpis']['monthly_revenue'] = (float)$r['s'];

    $q = mysqli_query($conn, "SELECT COUNT(*) AS c FROM invoices WHERE created_at BETWEEN '{$todayStart}' AND '{$todayEnd}'");
    if ($q && ($r=mysqli_fetch_assoc($q))) $data['kpis']['orders_today'] = (int)$r['c'];

    // Today's total sales
    $q = mysqli_query($conn, "SELECT COALESCE(SUM(total),0) AS s FROM invoices WHERE created_at BETWEEN '{$todayStart}' AND '{$todayEnd}'");
    if ($q && ($r=mysqli_fetch_assoc($q))) $data['kpis']['today_total_sales'] = (float)$r['s'];

    // Today's profit calculation - simplified approach
    // Calculate total revenue minus total cost for today's sales
    $q = mysqli_query($conn, "
        SELECT 
            COALESCE(SUM(i.total), 0) AS total_revenue,
            COALESCE(SUM(i.subtotal), 0) AS total_subtotal
        FROM invoices i
        WHERE i.created_at BETWEEN '{$todayStart}' AND '{$todayEnd}'
    ");
    
    $todayRevenue = 0;
    if ($q && ($r=mysqli_fetch_assoc($q))) {
        $todayRevenue = (float)$r['total_revenue'];
    }
    
    // Get cost of goods sold for today
    // We'll estimate based on average profit margin or calculate from current stock prices
    $q2 = mysqli_query($conn, "
        SELECT 
            ii.product_name,
            ii.product_category,
            ii.quantity,
            ii.discounted_price,
            ii.total_price
        FROM invoice_items ii
        INNER JOIN invoices i ON i.id = ii.invoice_id
        WHERE i.created_at BETWEEN '{$todayStart}' AND '{$todayEnd}'
    ");
    
    $totalCost = 0;
    if ($q2 && mysqli_num_rows($q2) > 0) {
        while ($item = mysqli_fetch_assoc($q2)) {
            // Try to find matching product to get stock price
            $prodName = mysqli_real_escape_string($conn, $item['product_name']);
            $catName = mysqli_real_escape_string($conn, $item['product_category']);
            
            $q3 = mysqli_query($conn, "
                SELECT p.stock_price 
                FROM products p
                LEFT JOIN categories c ON c.id = p.category_id
                WHERE p.product_name = '{$prodName}' 
                AND c.category_name = '{$catName}'
                LIMIT 1
            ");
            
            if ($q3 && ($prod = mysqli_fetch_assoc($q3))) {
                $stockPrice = (float)$prod['stock_price'];
                $totalCost += $stockPrice * (int)$item['quantity'];
            } else {
                // If product not found, estimate 70% cost (30% profit margin)
                $totalCost += (float)$item['discounted_price'] * 0.7 * (int)$item['quantity'];
            }
        }
    }
    
    $data['kpis']['today_profit'] = $todayRevenue - $totalCost;

    $q = mysqli_query($conn, "SELECT COUNT(*) AS c FROM products WHERE quantity <= {$threshold}");
    if ($q && ($r=mysqli_fetch_assoc($q))) $data['kpis']['low_stock'] = (int)$r['c'];

    $q = mysqli_query($conn, "SELECT COUNT(*) AS c FROM customers");
    if ($q && ($r=mysqli_fetch_assoc($q))) $data['kpis']['total_customers'] = (int)$r['c'];

    $q = mysqli_query($conn, "SELECT COUNT(*) AS c FROM invoices");
    if ($q && ($r=mysqli_fetch_assoc($q))) $data['kpis']['total_invoices'] = (int)$r['c'];

    $q = mysqli_query($conn, "SELECT COUNT(*) AS c FROM products");
    if ($q && ($r=mysqli_fetch_assoc($q))) $data['kpis']['total_products'] = (int)$r['c'];

    // Inventory Financial Metrics
    $q = mysqli_query($conn, "
        SELECT 
            COALESCE(SUM(stock_price * quantity), 0) AS total_investment,
            COALESCE(SUM(customer_price * quantity), 0) AS total_sellable,
            COALESCE(SUM(profit * quantity), 0) AS total_profit
        FROM products
    ");
    if ($q && ($r=mysqli_fetch_assoc($q))) {
        $data['kpis']['total_investment'] = (float)$r['total_investment'];
        $data['kpis']['total_sellable'] = (float)$r['total_sellable'];
        $data['kpis']['total_profit'] = (float)$r['total_profit'];
    }

    // Latest transactions (10)
    $tx = mysqli_query(
        $conn,
        "SELECT i.id, i.invoice_number, i.total, i.payment_method, i.created_at,
                c.id AS cid, c.name AS customer_name
         FROM invoices i
         LEFT JOIN customers c ON c.id = i.customer_id
         ORDER BY i.created_at DESC
         LIMIT 10"
    );
    ob_start();
    if ($tx && mysqli_num_rows($tx) > 0) {
        $i=1;
        while ($row = mysqli_fetch_assoc($tx)) {
            $cust  = $row['customer_name'] ? h($row['customer_name']) : 'Walk-in';
            $custLink = $row['cid'] ? 'view-customer.php?id='.(int)$row['cid'] : '#';
            $amt   = number_format((float)$row['total'], 2);
            $date  = utcToIst($row['created_at'], 'M d, h:i A'); // Convert to IST 12-hour format
            $pm    = strtoupper(h($row['payment_method']));
            $inv   = h($row['invoice_number']);

            echo '<tr>
                    <td>'.($i++).'</td>
                    <td><a href="'.$custLink.'" class="text-decoration-none">'.$cust.'</a></td>
                    <td>₹'.$amt.'</td>
                    <td><span class="badge bg-primary">'.$pm.'</span></td>
                    <td>'.h($date).'</td>
                    <td><span class="text-muted">'.$inv.'</span></td>
                 </tr>';
        }
    } else {
        echo '<tr><td colspan="6" class="text-center">No recent transactions</td></tr>';
    }
    $data['transactions_html'] = ob_get_clean();

    // Inventory snapshot (lowest qty first, 10 rows) - Updated with new pricing structure
    $inv = mysqli_query(
        $conn,
        "SELECT p.product_name, p.stock_price, p.customer_price, p.profit, p.profit_percentage, p.quantity, p.created_at, c.category_name
           FROM products p
           LEFT JOIN categories c ON c.id = p.category_id
         ORDER BY p.quantity ASC, p.id DESC
         LIMIT 10"
    );
    ob_start();
    if ($inv && mysqli_num_rows($inv) > 0) {
        while ($r = mysqli_fetch_assoc($inv)) {
            $name  = h($r['product_name']);
            $cat   = h($r['category_name'] ?? 'N/A');
            $stock_price = (float)$r['stock_price'];
            $customer_price = (float)$r['customer_price'];
            $profit = (float)$r['profit'];
            $profit_percentage = (float)$r['profit_percentage'];
            $qty   = (int)$r['quantity'];
            $investment = $stock_price * $qty;
            $sellable = $customer_price * $qty;
            $created = utcToIst($r['created_at'], 'M d, Y'); // Convert to IST
            
            $badge = $qty <= $threshold
                ? '<span class="badge bg-danger">Low</span>'
                : ($qty <= $threshold*2
                    ? '<span class="badge bg-warning">Moderate</span>'
                    : '<span class="badge bg-success">OK</span>');
                    
            $profit_class = $profit >= 0 ? 'text-success' : 'text-danger';
            $profit_display = $profit >= 0 ? '+₹' . number_format($profit, 2) : '-₹' . number_format(abs($profit), 2);

            echo '<tr>
                    <td>'.$name.'</td>
                    <td>'.$cat.'</td>
                    <td class="text-end">₹'.number_format($stock_price,2).'</td>
                    <td class="text-end">₹'.number_format($customer_price,2).'</td>
                    <td class="text-end '.$profit_class.'">'.$profit_display.'</td>
                    <td class="text-end">'.$qty.'</td>
                    <td class="text-end">₹'.number_format($investment,2).'</td>
                    <td class="text-end">₹'.number_format($sellable,2).'</td>
                    <td>'.$badge.'</td>
                  </tr>';
        }
    } else {
        echo '<tr><td colspan="9" class="text-center">No products</td></tr>';
    }
    $data['inventory_html'] = ob_get_clean();

    // Recent activity feed
    $af = mysqli_query(
        $conn,
        "SELECT created_at,
                CAST(CONCAT('Invoice ', invoice_number, ' created (', CHAR(8377 USING utf8mb4), total, ')')
                     AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_unicode_ci AS t
           FROM invoices
         UNION ALL
         SELECT created_at,
                CAST(CONCAT('New customer: ', name) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_unicode_ci AS t
           FROM customers
         UNION ALL
         SELECT created_at,
                CAST(CONCAT('Product added: ', product_name) AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_unicode_ci AS t
           FROM products
         ORDER BY created_at DESC
         LIMIT 5"
    );
    ob_start();
    if ($af && mysqli_num_rows($af) > 0) {
        while ($row = mysqli_fetch_assoc($af)) {
            $date = utcToIst($row['created_at'], 'M d, h:i A'); // Convert to IST 12-hour format
            echo '<li class="list-group-item d-flex justify-content-between align-items-center">
                    <span class="text-muted small">'.h($date).'</span>
                    <span class="ms-2">'.h($row['t']).'</span>
                  </li>';
        }
    } else {
        echo '<li class="list-group-item text-center text-muted">No recent activity</li>';
    }
    $data['activity_html'] = ob_get_clean();

    // === CHART: Sales last 7 days (fill missing days with 0) - Using IST dates ===
    $map = [];
    $rangeStart = date('Y-m-d', strtotime('-6 days'));
    $rangeEnd   = date('Y-m-d');
    $sql = "SELECT DATE(created_at) d, COALESCE(SUM(total),0) s
            FROM invoices
            WHERE created_at BETWEEN '{$rangeStart} 00:00:00' AND '{$rangeEnd} 23:59:59'
            GROUP BY DATE(created_at)
            ORDER BY DATE(created_at)";
    $rs = mysqli_query($conn, $sql);
    if ($rs) {
        while ($row = mysqli_fetch_assoc($rs)) {
            // Convert UTC date to IST for display
            $istDate = utcDateToIst($row['d'], 'M d');
            $map[$istDate] = (float)$row['s'];
        }
    }
    $labels = [];
    $values = [];
    for ($i=6; $i>=0; $i--) {
        $d = date('Y-m-d', strtotime("-{$i} days"));
        $istLabel = utcDateToIst($d, 'M d');
        $labels[] = $istLabel;
        $values[] = $map[$istLabel] ?? 0.0;
    }
    $data['chart7d']['labels'] = $labels;
    $data['chart7d']['values'] = $values;

    return $data;
}

// === AJAX endpoint (returns JSON with fresh KPIs + HTML snippets) ===
if (isset($_GET['ajax']) && $_GET['ajax'] === '1') {
    header('Content-Type: application/json; charset=utf-8');
    $payload = get_dashboard_data($conn, $threshold, $todayStart, $todayEnd, $monthStart);
    echo json_encode($payload);
    exit;
}

// === first render data ===
$DATA = get_dashboard_data($conn, $threshold, $todayStart, $todayEnd, $monthStart);

// Get current IST time for display
$currentIstTime = utcToIst(date('Y-m-d H:i:s'), 'h:i:s A');


       
    
        $user_role = isset($_SESSION['user_role']) ? $_SESSION['user_role'] : 'Sale';
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <?php include('includes/head.php'); ?>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        .card-value { font-size: 1.5rem; font-weight: 600; margin-bottom: 0; }
        .card-label { font-size: 0.875rem; color: #fff; margin-bottom: 0.5rem; opacity: 0.9; }
        .kpi-card { transition: transform 0.2s; border-radius: 10px; border: none; color: white; }
        .kpi-card:hover { transform: translateY(-3px); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
        .profit-positive { color: #28a745; }
        .profit-negative { color: #dc3545; }
        .activity-feed { max-height: 300px; overflow-y: auto; }
        .time-indicator { font-size: 0.75rem; color: #6c757d; }
        .ist-badge { background: #ff6b6b; color: white; padding: 2px 6px; border-radius: 4px; font-size: 0.7rem; }
        .stats-icon { font-size: 2rem; opacity: 0.8; }
        #sales7d {
            height: 320px !important;
            max-height: 320px !important;
            width: 100% !important;
            display: block;
        }
    </style>
</head>
<body data-sidebar="dark">

<!-- Loader -->
<?php include('includes/pre-loader.php'); ?>

<!-- Begin page -->
<div id="layout-wrapper">

<?php include('includes/topbar.php'); ?>

    <!-- ========== Left Sidebar Start ========== -->
    <div class="vertical-menu">
        <div data-simplebar class="h-100">
            <?php include('includes/sidebar.php'); ?>
        </div>
    </div>
    <!-- Left Sidebar End -->

    <!-- ============================================================== -->
    <!-- Start right Content here -->
    <!-- ============================================================== -->
    <div class="main-content">
        <div class="page-content">
            <div class="container-fluid">
                <!-- Admin Only Sections -->
        
                <!-- NEW COLORFUL STATS CARDS - Row 1 -->
                <div class="row mb-4">
                    <div class="col-md-5 col-xl-3">
                        <div class="card bg-primary text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-monthly-revenue">
                                            ₹<?php echo number_format($DATA['kpis']['monthly_revenue'], 2); ?>
                                        </h4>
                                        <p class="mb-0 card-label">Monthly Revenue</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-rupee-sign stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6 col-xl-3">
                        <div class="card bg-success text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-orders-today">
                                            <?php echo (int)$DATA['kpis']['orders_today']; ?>
                                        </h4>
                                        <p class="mb-0 card-label">Today's Orders</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-shopping-cart stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6 col-xl-3">
                        <div class="card bg-info text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-today-sales">
                                            ₹<?php echo number_format($DATA['kpis']['today_total_sales'], 2); ?>
                                        </h4>
                                        <p class="mb-0 card-label">Today's Sales</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-chart-line stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    
                    <?php if ($user_role === 'admin'): ?>
                    <div class="col-md-6 col-xl-3">
                        <div class="card bg-warning text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-today-profit">
                                            ₹<?php echo number_format($DATA['kpis']['today_profit'], 2); ?>
                                        </h4>
                                        <p class="mb-0 card-label">Today's Profit</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-money-bill-wave stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- NEW COLORFUL STATS CARDS - Row 2 -->
                <div class="row mb-4">
                    <div class="col-md-6 col-xl-3">
                        <div class="card bg-secondary text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-total-investment">
                                            ₹<?php echo number_format($DATA['kpis']['total_investment'], 2); ?>
                                        </h4>
                                        <p class="mb-0 card-label">Total Investment</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-money-bill stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6 col-xl-3">
                        <div class="card bg-success text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-total-sellable">
                                            ₹<?php echo number_format($DATA['kpis']['total_sellable'], 2); ?>
                                        </h4>
                                        <p class="mb-0 card-label">Sellable Value</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-tags stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6 col-xl-3">
                        <div class="card bg-info text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-total-profit">
                                            ₹<?php echo number_format($DATA['kpis']['total_profit'], 2); ?>
                                        </h4>
                                        <p class="mb-0 card-label">Potential Profit</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-chart-pie stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    
            <?php endif; ?>
                    <div class="col-md-6 col-xl-3">
                        <div class="card bg-danger text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0" id="kpi-low-stock">
                                            <?php echo (int)$DATA['kpis']['low_stock']; ?>
                                        </h4>
                                        <p class="mb-0 card-label">Low Stock Items</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-exclamation-triangle stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Additional Stats Row -->
                <div class="row mb-4">
                    <div class="col-md-4">
                        <div class="card bg-dark text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0">
                                            <?php echo (int)$DATA['kpis']['total_customers']; ?>
                                        </h4>
                                        <p class="mb-0 card-label">Total Customers</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-users stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <div class="card bg-primary text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0">
                                            <?php echo (int)$DATA['kpis']['total_invoices']; ?>
                                        </h4>
                                        <p class="mb-0 card-label">Total Invoices</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-file-invoice stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <div class="card bg-success text-white">
                            <div class="card-body">
                                <div class="d-flex align-items-center">
                                    <div class="flex-grow-1">
                                        <h4 class="mb-0">
                                            <?php echo (int)$DATA['kpis']['total_products']; ?>
                                        </h4>
                                        <p class="mb-0 card-label">Total Products</p>
                                    </div>
                                    <div class="flex-shrink-0">
                                        <i class="fas fa-boxes stats-icon"></i>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                
               
      

                <!-- Sales Chart -->
                <div class="row mt-3">
                    <div class="col-xl-12">
                        <div class="card">
                            <div class="card-body">
                                <h4 class="card-title mb-3">Sales Trend - Last 7 Days <small class="text-muted">(IST Dates)</small></h4>
                                <canvas id="sales7d"></canvas>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Latest Transactions + Activity -->
                <div class="row mt-3">
                    <!--<div class="col-xl-8">-->
                    <!--    <div class="card">-->
                    <!--        <div class="card-body">-->
                    <!--            <div class="d-flex justify-content-between align-items-center mb-3">-->
                    <!--                <h4 class="card-title mb-0">Recent Transactions <small class="text-muted">(IST Time)</small></h4>-->
                    <!--                <a href="sales.php" class="btn btn-sm btn-outline-primary">View All</a>-->
                    <!--            </div>-->
                    <!--            <div class="table-responsive">-->
                    <!--                <table class="table table-hover align-middle mb-0" id="latest-transactions">-->
                    <!--                    <thead class="table-light">-->
                    <!--                        <tr>-->
                    <!--                            <th>#</th>-->
                    <!--                            <th>Customer</th>-->
                    <!--                            <th>Total (₹)</th>-->
                    <!--                            <th>Payment</th>-->
                    <!--                            <th>Date & Time</th>-->
                    <!--                            <th>Invoice No.</th>-->
                    <!--                        </tr>-->
                    <!--                    </thead>-->
                    <!--                    <tbody>-->
                    <!--                        <?php echo $DATA['transactions_html']; ?>-->
                    <!--                    </tbody>-->
                    <!--                </table>-->
                    <!--            </div>-->
                    <!--        </div>-->
                    <!--    </div>-->
                    <!--</div>-->

                    <!-- Recent Activity Feed -->
                    <!--<div class="col-xl-4">-->
                    <!--    <div class="card">-->
                    <!--        <div class="card-body">-->
                    <!--            <h4 class="card-title mb-3">Recent Activity <small class="text-muted">(IST Time)</small></h4>-->
                    <!--            <div class="activity-feed">-->
                    <!--                <ul class="list-group list-group-flush" id="activity-feed">-->
                    <!--                    <?php echo $DATA['activity_html']; ?>-->
                    <!--                </ul>-->
                    <!--            </div>-->
                    <!--        </div>-->
                    <!--    </div>-->
                    <!--</div>-->
                </div>

                <!-- Inventory Snapshot -->
                <!--<div class="row mt-3">-->
                <!--    <div class="col-xl-12">-->
                <!--        <div class="card">-->
                <!--            <div class="card-body">-->
                <!--                <div class="d-flex justify-content-between align-items-center mb-3">-->
                <!--                    <h4 class="card-title mb-0">Inventory Overview</h4>-->
                <!--                    <a href="stock-management.php" class="btn btn-sm btn-outline-primary">Manage Stock</a>-->
                <!--                </div>-->
                <!--                <div class="table-responsive">-->
                <!--                    <table class="table table-hover align-middle mb-0" id="inventory-table">-->
                <!--                        <thead class="table-light">-->
                <!--                            <tr>-->
                <!--                                <th>Product</th>-->
                <!--                                <th>Category</th>-->
                <!--                                <th class="text-end">Stock Price</th>-->
                <!--                                <th class="text-end">Customer Price</th>-->
                <!--                                <th class="text-end">Profit</th>-->
                <!--                                <th class="text-end">Qty</th>-->
                <!--                                <th class="text-end">Investment</th>-->
                <!--                                <th class="text-end">Sellable</th>-->
                <!--                                <th>Status</th>-->
                <!--                            </tr>-->
                <!--                        </thead>-->
                <!--                        <tbody>-->
                <!--                            <?php echo $DATA['inventory_html']; ?>-->
                <!--                        </tbody>-->
                <!--                    </table>-->
                <!--                </div>-->
                <!--            </div>-->
                <!--        </div>-->
                <!--    </div>-->
                <!--</div>-->

            </div><!-- container-fluid -->
        
        </div><!-- End Page-content -->

        <?php include('includes/footer.php'); ?>
    </div><!-- end main content-->

</div><!-- END layout-wrapper -->

<?php include('includes/rightbar.php'); ?>
<?php include('includes/scripts.php'); ?>

<!-- Chart.js (CDN) -->
<script>
(function ensureChartJs(cb){
  if (window.Chart) return cb();
  var s=document.createElement('script');
  s.src="https://cdn.jsdelivr.net/npm/chart.js@4.4.5/dist/chart.umd.min.js";
  s.onload=cb;
  document.head.appendChild(s);
})(function(){ /* ready */ });
</script>

<script>
// ==== Realtime refresh (every 60s) + Chart draw ====
(function(){
  function fmtCurrency(n){
    n = parseFloat(n || 0);
    return '₹' + n.toLocaleString(undefined, {maximumFractionDigits: 2, minimumFractionDigits: 0});
  }

  // Update current time display
  function updateCurrentTime() {
    const now = new Date();
    const options = { 
      timeZone: 'Asia/Kolkata',
      hour12: true,
      hour: 'numeric',
      minute: '2-digit',
      second: '2-digit'
    };
    const istTime = now.toLocaleTimeString('en-IN', options);
    const timeElement = document.getElementById('current-time');
    if (timeElement) {
      timeElement.textContent = istTime;
    }
  }

  // Update time every second
  setInterval(updateCurrentTime, 1000);
  updateCurrentTime(); // Initial call

  // Initial chart data from PHP
  const initialChartData = <?php echo json_encode($DATA['chart7d'], JSON_UNESCAPED_UNICODE); ?>;
  let sales7dChart = null;

  function makeSalesChart(labels, values){
    const el = document.getElementById('sales7d');
    if (!el || !window.Chart) return;
    const ctx = el.getContext('2d');
    if (sales7dChart) sales7dChart.destroy();

    sales7dChart = new Chart(ctx, {
      type: 'bar',
      data: {
        labels: labels,
        datasets: [{
          label: 'Revenue (₹)',
          data: values,
          backgroundColor: 'rgba(54, 162, 235, 0.6)',
          borderColor: 'rgba(54, 162, 235, 1)',
          borderWidth: 1
        }]
      },
      options: {
        responsive: true,
        maintainAspectRatio: false,
        scales: {
          x: { 
            grid: { display: false },
            ticks: { maxRotation: 0 }
          },
          y: {
            beginAtZero: true,
            ticks: { 
              callback: (v) => '₹' + Number(v).toLocaleString(),
              maxTicksLimit: 6
            }
          }
        },
        plugins: {
          legend: { display: false },
          tooltip: {
            callbacks: {
              label: (ctx) => '₹' + Number(ctx.raw || 0).toLocaleString()
            }
          }
        }
      }
    });
  }

  // Draw once Chart.js is available
  (function waitChart(){
    if (!window.Chart) return setTimeout(waitChart, 100);
    makeSalesChart(initialChartData.labels, initialChartData.values);
  })();

  function refreshDashboard(){
    const url = new URL(window.location.href);
    url.searchParams.set('ajax','1');
    fetch(url.toString(), { cache: 'no-store' })
      .then(r => r.json())
      .then(d => {
        // KPIs
        const kmr = document.getElementById('kpi-monthly-revenue');
        if (kmr) kmr.textContent = fmtCurrency(d.kpis.monthly_revenue);
        const kot = document.getElementById('kpi-orders-today');
        if (kot) kot.textContent = d.kpis.orders_today;
        const kts = document.getElementById('kpi-today-sales');
        if (kts) kts.textContent = fmtCurrency(d.kpis.today_total_sales);
        const ktp = document.getElementById('kpi-today-profit');
        if (ktp) ktp.textContent = fmtCurrency(d.kpis.today_profit);
        const kls = document.getElementById('kpi-low-stock');
        if (kls) kls.textContent = d.kpis.low_stock;
        
        // Financial KPIs
        const kti = document.getElementById('kpi-total-investment');
        if (kti) kti.textContent = fmtCurrency(d.kpis.total_investment);
        const ktse = document.getElementById('kpi-total-sellable');
        if (ktse) ktse.textContent = fmtCurrency(d.kpis.total_sellable);
        const ktpr = document.getElementById('kpi-total-profit');
        if (ktpr) ktpr.textContent = fmtCurrency(d.kpis.total_profit);

        // Tables
        const txBody = document.querySelector('#latest-transactions tbody');
        if (txBody) txBody.innerHTML = d.transactions_html;

        const invBody = document.querySelector('#inventory-table tbody');
        if (invBody) invBody.innerHTML = d.inventory_html;

        // Activity
        const af = document.getElementById('activity-feed');
        if (af) af.innerHTML = d.activity_html;

        // Chart update
        if (d.chart7d && Array.isArray(d.chart7d.labels) && Array.isArray(d.chart7d.values)) {
          if (window.Chart) makeSalesChart(d.chart7d.labels, d.chart7d.values);
        }

        // Update current time after refresh
        updateCurrentTime();
      })
      .catch(()=>{/* ignore transient errors */});
  }

  setTimeout(refreshDashboard, 1500);
  setInterval(refreshDashboard, 60000);
})();
</script>

</body>
</html>