<?php
include "db.php";
include "header.php";

// Flag για επιτυχία διαγραφής
$deleted_success = false;

// Διαγραφή προϊόντος αν έχει σταλεί GET parameter delete_id
if (isset($_GET['delete_id'])) {
    $delete_id = (int)$_GET['delete_id'];

    // Διαγραφή πρώτα από product_ingredients
    $stmt = $db->prepare("DELETE FROM product_ingredients WHERE product_id = ?");
    $stmt->bind_param("i", $delete_id);
    $stmt->execute();

    // Διαγραφή από product_cost_history
    $stmt = $db->prepare("DELETE FROM product_cost_history WHERE product_id = ?");
    $stmt->bind_param("i", $delete_id);
    $stmt->execute();

    // Διαγραφή από products
    $stmt = $db->prepare("DELETE FROM products WHERE id = ?");
    $stmt->bind_param("i", $delete_id);
    $stmt->execute();

    $deleted_success = true;
}

// Λήψη όλων των προϊόντων
$result = $db->query("SELECT * FROM products ORDER BY id");
?>

<!-- DataTables + Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css">

<div class="container mt-5">
    <h2>📋 Λίστα Συνταγών / Προϊόντων</h2>

    <table id="recipesTable" class="table table-striped table-bordered mt-3 shadow-sm">
        <thead class="table-dark">
            <tr>
                <th>ID</th>
                <th>Κωδικός Προϊόντος</th>
                <th>Όνομα</th>
                <th>Συνολικό Κόστος (€)</th>
                <th>Ημερομηνία Δημιουργίας</th>
                <th>Ενέργειες</th>
            </tr>
        </thead>
        <tbody>
        <?php
        while($product = $result->fetch_assoc()):
            // Υπολογισμός συνολικού κόστους προϊόντος με τελευταία τιμή υλικών
            $stmt = $db->prepare("
                SELECT pi.quantity, COALESCE(ip.price, 0) AS price
                FROM product_ingredients pi
                LEFT JOIN ingredient_prices ip ON ip.id = (
                    SELECT id FROM ingredient_prices 
                    WHERE ingredient_id = pi.ingredient_id 
                    ORDER BY date DESC 
                    LIMIT 1
                )
                WHERE pi.product_id = ?
            ");
            $stmt->bind_param("i", $product['id']);
            $stmt->execute();
            $res = $stmt->get_result();

            $total_cost = 0;
            while($row = $res->fetch_assoc()){
                $total_cost += $row['quantity'] * $row['price'];
            }

            $stmt->close();

            // Κωδικός προϊόντος
            $product_code = $product['product_code'] ?? 'PRD-' . str_pad($product['id'], 5, '0', STR_PAD_LEFT);
        ?>
            <tr>
                <td><?= $product['id'] ?></td>
                <td><?= htmlspecialchars($product_code) ?></td>
                <td>
                    <a href="product_view.php?id=<?= $product['id'] ?>" class="product-link text-primary fw-bold">
                        <?= htmlspecialchars($product['name']) ?>
                    </a>
                </td>
                <td><?= number_format($total_cost, 2) ?></td>
                <td><?= $product['created_at'] ?? '-' ?></td>
                <td>
                    <a href="product_edit.php?id=<?= $product['id'] ?>" class="btn btn-sm btn-primary">✏️ Επεξεργασία</a>
                    <a href="products_list.php?delete_id=<?= $product['id'] ?>" class="btn btn-sm btn-danger" onclick="return confirm('Είσαι σίγουρος ότι θέλεις να διαγράψεις αυτό το προϊόν;');">🗑️ Διαγραφή</a>
                </td>
            </tr>
        <?php endwhile; ?>
        </tbody>
    </table>

    <!-- Κουμπί Προσθήκη + Alert -->
    <div class="mt-3">
        <a href="product_add.php" class="btn btn-success">➕ Προσθήκη Νέας Συνταγής / Προϊόντος</a>
        <?php if($deleted_success): ?>
            <div id="deleteAlert" class="alert alert-success mt-2 mb-0">
                Το προϊόν διαγράφηκε με επιτυχία!
            </div>
        <?php endif; ?>
    </div>
</div>

<!-- jQuery + DataTables JS + Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>

<script>
$(document).ready(function() {
    $('#recipesTable').DataTable({
        "paging": true,
        "searching": true,
        "ordering": true,
        "order": [[0, "asc"]],
        "language": {
            "url": "//cdn.datatables.net/plug-ins/1.13.6/i18n/el.json"
        }
    });

    // Slide down + fade out alert μετά από 6 δευτερόλεπτα
    <?php if($deleted_success): ?>
    $("#deleteAlert").hide().slideDown("fast");
    setTimeout(function() {
        $("#deleteAlert").slideUp("slow");
    }, 6000);
    <?php endif; ?>
});
</script>

<?php include "footer.php"; ?>
