<?php
session_start();

// Solo el superusuario TICs puede gestionar usuarios
if(!isset($_SESSION['admin']) || ($_SESSION['rol'] ?? '') !== 'tics'){
    header("Location: agregar_inspector.php");
    exit;
}
?>
<?php include("header.php"); ?>
<?php include("conexion.php"); ?>

<?php
$breadcrumbs = [
    ['nombre' => 'Inicio', 'url' => 'index.php'],
    ['nombre' => 'Panel de Administración', 'url' => 'agregar_inspector.php'],
    ['nombre' => 'Gestión de Usuarios']
];
include("breadcrumbs.php");
?>

<div class="container mt-4 mb-5">

    <?php if(isset($_SESSION['mensaje'])): ?>
        <div class="alerta alerta-<?php echo $_SESSION['mensaje']['tipo']; ?>" id="alertaMsg">
            <?php if($_SESSION['mensaje']['tipo'] === 'exito'): ?>
                <i class="bi bi-check-circle-fill"></i>
            <?php else: ?>
                <i class="bi bi-exclamation-triangle-fill"></i>
            <?php endif; ?>
            <?php echo $_SESSION['mensaje']['texto']; ?>
        </div>
        <?php unset($_SESSION['mensaje']); ?>
    <?php endif; ?>

    <!-- FORMULARIO DE CREAR USUARIO -->
    <div class="admin-card mb-4">
        <div class="admin-card-header">
            <h4 class="m-0"><i class="bi bi-person-plus-fill"></i> Crear Nuevo Usuario</h4>
        </div>
        <div class="admin-card-body">
            <form action="guardar_usuario.php" method="POST">
                <input type="hidden" name="csrf_token" value="<?php echo generar_csrf(); ?>">
                <div class="form-grid">
                    <div class="form-group">
                        <label class="form-label-custom">Nombre Completo <span class="text-danger">*</span></label>
                        <input type="text" name="nombre_completo" class="form-control" placeholder="Ej: Juan Pérez López" required>
                    </div>

                    <div class="form-group">
                        <label class="form-label-custom">Usuario <span class="text-danger">*</span></label>
                        <input type="text" name="usuario" class="form-control" placeholder="Ej: jperez" required>
                    </div>

                    <div class="form-group">
                        <label class="form-label-custom">Contraseña <span class="text-danger">*</span></label>
                        <input type="password" name="password" class="form-control" placeholder="Mínimo 6 caracteres" required minlength="6">
                    </div>

                    <div class="form-group">
                        <label class="form-label-custom">Rol <span class="text-danger">*</span></label>
                        <select name="rol" class="form-select" required>
                            <option value="admin">Administrador</option>
                            <option value="auxiliar">Auxiliar</option>
                            <option value="tics">TICs (Superusuario)</option>
                        </select>
                        <small class="text-muted mt-1">
                            <strong>Admin / Auxiliar:</strong> Gestión de inspectores &nbsp;|&nbsp;
                            <strong>TICs:</strong> Permisos totales + gestión de usuarios
                        </small>
                    </div>
                </div>

                <div class="d-flex gap-2 mt-4 flex-wrap align-items-center">
                    <button type="submit" class="btn btn-danger btn-lg">
                        <i class="bi bi-floppy"></i> Crear Usuario
                    </button>
                    <a href="agregar_inspector.php" class="btn btn-outline-secondary btn-lg">
                        <i class="bi bi-arrow-left"></i> Volver al Panel
                    </a>
                </div>
            </form>
        </div>
    </div>

    <!-- TABLA DE USUARIOS -->
    <div class="admin-card">
        <div class="admin-card-header">
            <h4 class="m-0"><i class="bi bi-people-fill"></i> Usuarios del Sistema</h4>
        </div>
        <div class="admin-card-body p-0">
            <div class="table-responsive">
                <table class="table table-admin">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>Nombre</th>
                            <th>Usuario</th>
                            <th>Rol</th>
                            <th>Acciones</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                        $usuarios = mysqli_query($conexion, "SELECT id, usuario, nombre_completo, rol FROM usuarios ORDER BY id");
                        while($u = mysqli_fetch_assoc($usuarios)){
                            $rol_label = '';
                            $rol_class = '';
                            switch($u['rol']){
                                case 'tics':
                                    $rol_label = 'TICs (Superusuario)';
                                    $rol_class = 'badge-tics';
                                    break;
                                case 'auxiliar':
                                    $rol_label = 'Auxiliar';
                                    $rol_class = 'badge-auxiliar';
                                    break;
                                default:
                                    $rol_label = 'Administrador';
                                    $rol_class = 'badge-admin-rol';
                            }
                        ?>
                        <tr>
                            <td><?php echo $u['id']; ?></td>
                            <td class="fw-bold"><?php echo htmlspecialchars($u['nombre_completo'] ?? $u['usuario']); ?></td>
                            <td><?php echo htmlspecialchars($u['usuario']); ?></td>
                            <td><span class="badge-rol <?php echo $rol_class; ?>"><?php echo $rol_label; ?></span></td>
                            <td>
                                <?php if($u['rol'] === 'tics' && $u['usuario'] === $_SESSION['admin']): ?>
                                    <span class="text-muted" style="font-size:12px;"><i class="bi bi-shield-lock"></i> Protegido</span>
                                <?php else: ?>
                                    <div class="d-flex gap-1">
                                        <button class="btn btn-sm btn-warning btn-editar-usuario"
                                            data-id="<?php echo $u['id']; ?>"
                                            data-nombre="<?php echo htmlspecialchars($u['nombre_completo'] ?? ''); ?>"
                                            data-usuario="<?php echo htmlspecialchars($u['usuario']); ?>"
                                            data-rol="<?php echo $u['rol']; ?>"
                                            title="Editar">
                                            <i class="bi bi-pencil-square"></i>
                                        </button>
                                        <form action="eliminar_usuario.php" method="POST" style="display:inline" onsubmit="return confirm('¿Eliminar al usuario <?php echo htmlspecialchars($u['usuario']); ?>?');">
                                            <input type="hidden" name="csrf_token" value="<?php echo generar_csrf(); ?>">
                                            <input type="hidden" name="id" value="<?php echo $u['id']; ?>">
                                            <button type="submit" class="btn btn-sm btn-outline-danger" title="Eliminar">
                                                <i class="bi bi-trash3"></i>
                                            </button>
                                        </form>
                                    </div>
                                <?php endif; ?>
                            </td>
                        </tr>
                        <?php } ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

<!-- MODAL DE EDITAR USUARIO -->
<div class="modal fade" id="modalEditarUsuario" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content modal-inspector">
    <div class="modal-header-formal">
        <h5 class="modal-title"><i class="bi bi-pencil-square"></i> Editar Usuario</h5>
        <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Cerrar"></button>
    </div>
    <div class="modal-body">
        <form action="actualizar_usuario.php" method="POST">
            <input type="hidden" name="csrf_token" value="<?php echo generar_csrf(); ?>">
            <input type="hidden" name="id" id="editUserId">

            <div class="mb-3">
                <label class="form-label-custom">Nombre Completo</label>
                <input type="text" name="nombre_completo" id="editUserNombre" class="form-control" required>
            </div>

            <div class="mb-3">
                <label class="form-label-custom">Usuario</label>
                <input type="text" name="usuario" id="editUserUsuario" class="form-control" required>
            </div>

            <div class="mb-3">
                <label class="form-label-custom">Nueva Contraseña <small class="text-muted">(dejar vacío para no cambiar)</small></label>
                <input type="password" name="password" class="form-control" placeholder="Nueva contraseña..." minlength="6">
            </div>

            <div class="mb-3">
                <label class="form-label-custom">Rol</label>
                <select name="rol" id="editUserRol" class="form-select" required>
                    <option value="admin">Administrador</option>
                    <option value="auxiliar">Auxiliar</option>
                    <option value="tics">TICs (Superusuario)</option>
                </select>
            </div>

            <div class="d-flex gap-2">
                <button type="submit" class="btn btn-danger">
                    <i class="bi bi-floppy"></i> Guardar Cambios
                </button>
                <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Cancelar</button>
            </div>
        </form>
    </div>
</div>
</div>
</div>

<script>
// Editar usuario modal
document.querySelectorAll('.btn-editar-usuario').forEach(function(btn){
    btn.addEventListener('click', function(){
        document.getElementById('editUserId').value = this.dataset.id;
        document.getElementById('editUserNombre').value = this.dataset.nombre;
        document.getElementById('editUserUsuario').value = this.dataset.usuario;
        document.getElementById('editUserRol').value = this.dataset.rol;

        var modal = new bootstrap.Modal(document.getElementById('modalEditarUsuario'));
        modal.show();
    });
});

var alerta = document.getElementById('alertaMsg');
if(alerta){ setTimeout(function(){ alerta.style.opacity = '0'; setTimeout(function(){ alerta.remove(); }, 500); }, 4000); }
</script>

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