<?php
session_start();
include('config/conexion.php'); // Incluir la conexión a la base de datos

// Verificar si el usuario está logueado
if (!isset($_SESSION['usuario_id']) || !isset($_SESSION['idrol'])) {
    header("Location: login.php");  // Redirigir al login si no está autenticado
    exit();
}

// Obtener ID del usuario desde la sesión
$idUsuario = $_SESSION['usuario_id']; // Asegúrate de que tienes el ID del usuario en la sesión

// Filtrar notificaciones por estado de lectura
$filtro = isset($_GET['filtro']) ? $_GET['filtro'] : 'todos';  // 'todos', 'leidas', 'no_leidas'
$whereClause = '';

if ($filtro == 'leidas') {
    $whereClause = "AND leido = 1";
} elseif ($filtro == 'no_leidas') {
    $whereClause = "AND leido = 0";
}

// Consulta para obtener las notificaciones con filtro
$sqlNotificaciones = "SELECT id, mensaje, fecha, leido FROM notificaciones WHERE id_usuario = ? $whereClause ORDER BY fecha DESC";
$stmtNotificaciones = $conexion->prepare($sqlNotificaciones);
$stmtNotificaciones->bind_param("i", $idUsuario);
$stmtNotificaciones->execute();

// Usar bind_result en lugar de get_result
$stmtNotificaciones->bind_result($id, $mensaje, $fecha, $leido);
?>

<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Notificaciones</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
    body {
        background-color: #f8f9fa;
    }

    .notification-card {
        margin-top: 20px;
        padding: 15px;
        border-radius: 10px;
        transition: background-color 0.3s;
    }

    .notification-card:hover {
        background-color: #e9ecef;
    }

    .badge-notification {
        position: absolute;
        top: 0;
        right: 0;
        background-color: red;
        color: white;
        padding: 5px;
        border-radius: 50%;
    }
    </style>
</head>

<body>
    <?php
    // Verifica si el archivo 'menu.php' está en la misma carpeta o proporciona la ruta correcta.
    include 'menu.php';  // Si 'menu.php' está en otro directorio, actualiza la ruta.

    // Si necesitas una ruta diferente, prueba esto (Ejemplo: include 'includes/menu.php';).
    ?>


    <div class="container mt-4">
        <h2>Tus Notificaciones</h2>

        <!-- Filtro de Notificaciones -->
        <div class="mb-3">
            <a href="?filtro=todos" class="btn btn-primary">Todas</a>
            <a href="?filtro=leidas" class="btn btn-success">Leídas</a>
            <a href="?filtro=no_leidas" class="btn btn-warning">No Leídas</a>
        </div>

        <?php
        // Mostrar las notificaciones
        if ($stmtNotificaciones->num_rows > 0): ?>
        <?php while ($stmtNotificaciones->fetch()): ?>
        <div class="notification-card <?php echo $leido == 0 ? 'bg-light' : ''; ?>">
            <strong><?php echo htmlspecialchars($mensaje); ?></strong>
            <br>
            <small><?php echo date("d/m/Y H:i", strtotime($fecha)); ?></small>
        </div>
        <?php endwhile; ?>
        <?php else: ?>
        <div class="alert alert-info" role="alert">
            No tienes notificaciones.
        </div>
        <?php endif; ?>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>

</html>

<?php
// Cerrar el statement después de usarlo
$stmtNotificaciones->close();
?>