{% extends 'base.html' %}
{% block title %}Inventario de Equipos{% endblock %}

{% block content %}
<div class="container-fluid mt-4">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <h1>Inventario General de Equipos</h1>
        <div>
            {# --- ESTE ES EL NUEVO BLOQUE --- #}
            {# El botón solo se mostrará si el usuario logueado es un superusuario #}
            {% if user.is_superuser or user.is_staff  %}
                <a href="{% url 'gestion_equipos:importar_equipos' %}" class="btn btn-success me-2"><i class="fas fa-upload me-1"></i> Carga Masiva</a>
                <a href="{% url 'gestion_equipos:crear_equipo' %}" class="btn btn-primary">Registrar Nuevo Equipo</a>
            {% endif %}
            {# --- FIN DEL NUEVO BLOQUE --- #}

            
        </div>
    </div>

    <!-- INICIO: Formulario de Búsqueda y Filtros -->
    <div class="card shadow-sm mb-4">
        <div class="card-body">
            <form method="get" action="{% url 'gestion_equipos:lista_equipos' %}" id="filter-form">
                <div class="row g-3 align-items-center">
                    <div class="col-md-8">
                        <div class="input-group">
                            <input type="text" name="q" class="form-control" id="search-input" placeholder="Buscar por nombre, serie, marca, modelo o usuario..." value="{{ query }}">
                        </div>
                    </div>
                    <div class="col-md-4">
                        <div class="input-group">
                            <label class="input-group-text" for="estado-select">Estado:</label>
                            <select class="form-select" name="estado" id="estado-select">
                                <option value="">Todos</option>
                                {% for value, label in estados_equipo %}
                                    <option value="{{ value }}" {% if estado_seleccionado == value %}selected{% endif %}>{{ label }}</option>
                                {% endfor %}
                            </select>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </div>
    <!-- FIN: Formulario de Búsqueda y Filtros -->

    <div class="card shadow">
        <div class="card-body">
            <div class="table-responsive">
                <table class="table table-hover table-striped align-middle">
                    <thead class="thead-light">
                        <tr>
                            <th>Nombre del Equipo</th>
                            <th>N° Serie</th>
                            <th>Categoría</th>
                            <th>Estado</th>
                            <th>Custodio Actual</th>
                            <th>Acciones</th>
                        </tr>
                    </thead>
                    <tbody>
                        {% for equipo in equipos %}
                        <tr>
                            <td>{{ equipo.nombre }}</td>
                            <td>{{ equipo.numero_serie }}</td>
                            <td>{{ equipo.categoria.nombre|default:"-" }}</td>
                            <td>
                                {% if equipo.estado == 'AS' %}
                                    <span class="badge text-wrap bg-warning text-dark">{{ equipo.get_estado_display }}</span>
                                {% elif equipo.estado == 'DI' %}
                                    <span class="badge text-wrap bg-success">{{ equipo.get_estado_display }}</span>
                                {% else %}
                                    <span class="badge text-wrap bg-danger">{{ equipo.get_estado_display }}</span>
                                {% endif %}
                            </td>
                            <td>
                                {% if equipo.asignacion_actual %}
                                    {% with asignacion=equipo.asignacion_actual.0 %}
                                        <a href="{% url 'gestion_usuarios:detalle_usuario' asignacion.usuario.pk %}">
                                            {{ asignacion.usuario.nombre }} {{ asignacion.usuario.apellido }}
                                        </a>
                                    {% endwith %}
                                {% else %}
                                    <span class="text-muted">No asignado</span>
                                {% endif %}
                            </td>
                            <td>
                            <a href="{% url 'gestion_equipos:detalle_equipo' equipo.pk %}" class="btn btn-sm btn-info">Detalle</a>
                            {% if user.is_staff %}
                                <a href="{% url 'gestion_equipos:editar_equipo' equipo.pk %}" class="btn btn-sm btn-warning">Editar</a>
                                <a href="{% url 'gestion_equipos:eliminar_equipo' equipo.pk %}" class="btn btn-sm btn-danger">Eliminar</a>
                            {% endif %}
                            {# --- FIN DE LA CONDICIÓN --- #}
                        </td>
                        </tr>
                        {% empty %}
                        <tr>
                            <td colspan="6" class="text-center">No se encontraron equipos que coincidan con los filtros.</td>
                        </tr>
                        {% endfor %}
                    </tbody>
                </table>
            </div>
        </div>
    </div>

    <!-- Paginación (actualizada para incluir los filtros) -->
    {% if equipos.has_other_pages %}
    <nav aria-label="Navegación de páginas" class="mt-4">
        <ul class="pagination justify-content-center">
            {% if equipos.has_previous %}
                <li class="page-item"><a class="page-link" href="?page={{ equipos.previous_page_number }}&q={{ query }}&estado={{ estado_seleccionado }}">Anterior</a></li>
            {% else %}
                <li class="page-item disabled"><span class="page-link">Anterior</span></li>
            {% endif %}
            {% for i in equipos.paginator.page_range %}
                {% if equipos.number == i %}
                    <li class="page-item active"><span class="page-link">{{ i }}</span></li>
                {% else %}
                    <li class="page-item"><a class="page-link" href="?page={{ i }}&q={{ query }}&estado={{ estado_seleccionado }}">{{ i }}</a></li>
                {% endif %}
            {% endfor %}
            {% if equipos.has_next %}
                <li class="page-item"><a class="page-link" href="?page={{ equipos.next_page_number }}&q={{ query }}&estado={{ estado_seleccionado }}">Siguiente</a></li>
            {% else %}
                <li class="page-item disabled"><span class="page-link">Siguiente</span></li>
            {% endif %}
        </ul>
    </nav>
    {% endif %}

</div>
{% endblock %}

{% block extra_js %}
<script>
    document.addEventListener('DOMContentLoaded', function() {
        const searchInput = document.getElementById('search-input');
        const estadoSelect = document.getElementById('estado-select');
        const filterForm = document.getElementById('filter-form');
        let debounceTimer;

        searchInput.addEventListener('input', () => {
            clearTimeout(debounceTimer);
            debounceTimer = setTimeout(() => {
                filterForm.submit();
            }, 500);
        });

        estadoSelect.addEventListener('change', () => {
            filterForm.submit();
        });
    });
</script>
{% endblock %}
