<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

include "db.php";
include "header.php";

// ---------------------------
// Διαγραφή μονάδας αν υπάρχει delete_id
// ---------------------------
$deleted_success = false;
$delete_message = '';

if (isset($_GET['delete_id'])) {
    $unit_id = (int)$_GET['delete_id'];

    if ($unit_id > 0) {
        // Παίρνουμε το όνομα της μονάδας
        $stmt = $db->prepare("SELECT name FROM units WHERE id = ?");
        $stmt->bind_param("i", $unit_id);
        $stmt->execute();
        $stmt->bind_result($unit_name);
        if ($stmt->fetch()) {
            $stmt->close();

            // Έλεγχος αν χρησιμοποιείται σε υλικά
            $stmt2 = $db->prepare("SELECT COUNT(*) FROM ingredients WHERE unit_id = ?");
            $stmt2->bind_param("i", $unit_id);
            $stmt2->execute();
            $stmt2->bind_result($used_count);
            $stmt2->fetch();
            $stmt2->close();

            if ($used_count > 0) {
                $delete_message = "Η μονάδα <strong>{$unit_name}</strong> δεν μπορεί να διαγραφεί γιατί χρησιμοποιείται σε υλικά.";
            } else {
                // Διαγραφή της μονάδας
                $stmt3 = $db->prepare("DELETE FROM units WHERE id = ?");
                $stmt3->bind_param("i", $unit_id);
                if ($stmt3->execute()) {
                    $delete_message = "Η μονάδα <strong>{$unit_name}</strong> διαγράφηκε επιτυχώς.";
                    $deleted_success = true;
                } else {
                    $delete_message = "Σφάλμα κατά τη διαγραφή της μονάδας: {$stmt3->error}";
                }
                $stmt3->close();
            }
        } else {
            $delete_message = "Η μονάδα δεν βρέθηκε.";
            $stmt->close();
        }
    } else {
        $delete_message = "Μη έγκυρο ID μονάδας.";
    }
}
?>

<style>
 body {
        min-height: 100vh;
        display: flex;
        margin: 0;
        background: #f9f9f9;
    }
    
</style>

<!-- 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-fluid mt-5" style="padding-left: 220px; padding-right: 30px;">
    <h2><i class="bi bi-file-text"></i> Λίστα Μονάδων Μέτρησης</h2>

<table id="unitsTable" class="table table-striped table-bordered mt-3 shadow-sm">
    <thead class="table-dark">
        <tr>
            <th>ID</th>
            <th>Code</th>
            <th>Όνομα</th>
            <th>Ημερομηνία & Ώρα</th>
            <th>Ενέργειες</th>
        </tr>
    </thead>
    <tbody>
        <?php
        $res = $db->query("SELECT * FROM units ORDER BY id ASC");
        while ($row = $res->fetch_assoc()):
        ?>
        <tr>
            <td><?= $row['id'] ?></td>
            <td><?= htmlspecialchars($row['code']) ?></td>
            <td>
                <a href="unit_edit.php?id=<?= $row['id'] ?>" class="text-danger fw-bold">
                    <?= htmlspecialchars($row['name']) ?>
                </a>
            </td>
            <td><?= $row['updated_at'] ?? '-' ?></td>
            <td>
                <a href="unit_edit.php?id=<?= $row['id'] ?>" class="btn btn-warning"><i class="bi bi-pencil-square"></i>️ Επεξεργασία</a>
                <a href="?delete_id=<?= $row['id'] ?>" class="btn btn-danger" onclick="return confirm('Θέλετε σίγουρα να διαγράψετε αυτή τη μονάδα;');"><i class="bi bi-trash"></i>️ Διαγραφή</a>
            </td>
        </tr>
        <?php endwhile; ?>
    </tbody>
</table>


    <a href="unit_add.php" class="btn btn-success mt-3"><i class="bi bi-plus-circle"></i> Προσθήκη Νέας Μονάδας</a>

    <!-- Εδώ εμφανίζεται το μήνυμα διαγραφής κάτω από το κουμπί -->
    <?php if ($delete_message): ?>
    <div id="deleteAlert" class="alert <?= $deleted_success ? 'alert-success' : 'alert-warning' ?> mt-3">
        <?= $delete_message ?>
    </div>
    <script>
        setTimeout(function() {
            const el = document.getElementById('deleteAlert');
            if (el) el.style.display = 'none';
        }, 6000);
    </script>
    <?php endif; ?>

</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() {
    $('#unitsTable').DataTable({
        "paging": true,
        "searching": true,
        "ordering": true,
        "order": [[0, "asc"]],
        "language": {
            "url": "//cdn.datatables.net/plug-ins/1.13.6/i18n/el.json"
        }
    });
});
</script>

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