<!-- Start Generation Here -->
@extends('layouts.dashboard')

@section('content')
<!-- Agregar los CSS en el encabezado -->
<link rel="stylesheet" href="https://cdn.datatables.net/2.2.2/css/dataTables.dataTables.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/3.2.2/css/buttons.dataTables.css">

<div class="container mx-auto px-4 py-6">
    <!-- Encabezado -->
    @if(session('success'))
        <div id="success-message" class="bg-green-100 border border-green-400 text-green-700 px-4 py-3 rounded relative" role="alert">
            {{ session('success') }}
        </div>
    @endif

    @if(session('error'))
        <div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative mb-4" role="alert">
            <span class="block sm:inline">{{ session('error') }}</span>
        </div>
    @endif

    <div class="bg-white rounded-lg shadow-lg">
        <div class="p-4 border-b border-gray-200 flex justify-between items-center">
            <h2 class="text-2xl font-bold">Gestión de Docentes</h2>
            <a href="{{ route('docentes.create') }}"
               class="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600 flex items-center gap-2">
                <i class="fas fa-plus"></i>
                Agregar
            </a>
        </div>

        <div class="flex gap-2 mb-4">
            <button onclick="copyToClipboard()" class="text-gray-600 hover:text-blue-600 p-2" title="Copiar">
                <i class="fas fa-copy"></i>
            </button>
            <a href="{{ route('docentes.export', ['format' => 'csv']) }}" class="text-gray-600 hover:text-green-600 p-2" title="Exportar a CSV">
                <i class="fas fa-file-csv"></i>
            </a>
            <a href="{{ route('docentes.export', ['format' => 'excel']) }}" class="text-gray-600 hover:text-green-700 p-2" title="Exportar a Excel">
                <i class="fas fa-file-excel"></i>
            </a>
            <a href="{{ route('docentes.export', ['format' => 'pdf']) }}" class="text-gray-600 hover:text-red-600 p-2" title="Exportar a PDF">
                <i class="fas fa-file-pdf"></i>
            </a>
            <button onclick="window.print()" class="text-gray-600 hover:text-gray-800 p-2" title="Imprimir">
                <i class="fas fa-print"></i>
            </button>
        </div>

        <!-- Barra de búsqueda en su propia sección -->
        <div class="p-4 border-b border-gray-200 bg-gray-50">
            <form action="{{ route('docentes.index') }}" method="GET" class="flex gap-2">
                <div class="relative w-full sm:w-64">
                    <input type="text"
                           name="busqueda"
                           placeholder="Buscar docente..."
                           value="{{ request('busqueda') }}"
                           class="w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500">
                    <div class="absolute left-3 top-2.5 text-gray-400">
                        <i class="fas fa-search"></i>
                    </div>
                </div>
                <button type="submit" class="px-4 py-2 bg-blue-500 text-white rounded-lg hover:bg-blue-600">
                    Buscar
                </button>
                @if(request('busqueda'))
                    <a href="{{ route('docentes.index') }}" class="px-4 py-2 bg-gray-500 text-white rounded-lg hover:bg-gray-600">
                        Limpiar
                    </a>
                @endif
            </form>
        </div>

        <div class="overflow-x-auto">
            <table id="docentes-table" class="min-w-full divide-y divide-gray-200">
                <thead class="bg-gray-50">
                    <tr>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">ID</th>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Nombre</th>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Teléfono</th>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Correo</th>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Tipo de Licencia</th>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Materia</th>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Estado</th>
                        <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Acciones</th>
                    </tr>
                </thead>
                <tbody class="bg-white divide-y divide-gray-200">
                    @foreach($docentes as $docente)
                    <tr class="hover:bg-gray-50">
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{{ $docente->id }}</td>
                        <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
                            <i class="fas fa-user text-blue-500 mr-2"></i>
                            {{ $docente->nombre }}
                        </td>
                        <td class="px-6 py-4 whitespace-nowrap text-sm">{{ $docente->telefono }}</td>
                        <td class="px-6 py-4 whitespace-nowrap text-sm">{{ $docente->correo }}</td>
                        <td class="px-6 py-4 whitespace-nowrap text-sm">{{ $docente->tipo_licencia }}</td>
                        <td class="px-6 py-4 whitespace-nowrap text-sm">{{ $docente->materia }}</td>
                        <td class="px-6 py-4 whitespace-nowrap text-sm">
                            <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full {{ $docente->status ? 'bg-green-100 text-green-800' : 'bg-red-100 text-red-800' }}">
                                {{ $docente->status ? 'Activo' : 'Inactivo' }}
                            </span>
                        </td>
                        <td class="px-6 py-4 whitespace-nowrap text-sm">
                            <div class="flex gap-2">
                                <a href="{{ route('docentes.edit', $docente->id) }}" class="text-blue-600 hover:text-blue-900">
                                    <i class="fas fa-edit"></i>
                                </a>
                                <a href="{{ route('docentes.toggle-status', $docente->id) }}"
                                   class="{{ $docente->status ? 'text-red-600 hover:text-red-900' : 'text-green-600 hover:text-green-900' }}">
                                    <i class="fas {{ $docente->status ? 'fa-ban' : 'fa-check' }}"></i>
                                </a>
                            </div>
                        </td>
                    </tr>
                    @endforeach
                </tbody>
            </table>
        </div>
    </div>
</div>

<!-- Agregar los scripts necesarios -->
<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
<script src="https://cdn.datatables.net/2.2.2/js/dataTables.js"></script>
<script src="https://cdn.datatables.net/buttons/3.2.2/js/dataTables.buttons.js"></script>
<script src="https://cdn.datatables.net/buttons/3.2.2/js/buttons.dataTables.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/3.2.2/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/3.2.2/js/buttons.print.min.js"></script>

<script>
function confirmarEdicion(url) {
    Swal.fire({
        title: '¿Editar docente?',
        text: "¿Estás seguro de que deseas editar este docente?",
        icon: 'question',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Sí, editar',
        cancelButtonText: 'Cancelar'
    }).then((result) => {
        if (result.isConfirmed) {
            window.location.href = url;
        }
    });

}
function confirmarEliminacion(button) {
    Swal.fire({
        title: '¿Estás seguro?',
        text: "Esta acción no se puede deshacer",
        icon: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Sí, eliminar',
        cancelButtonText: 'Cancelar'
    }).then((result) => {
        if (result.isConfirmed) {
            button.closest('form').onsubmit = null;
            button.closest('form').submit();
        }
    });
}

document.addEventListener('DOMContentLoaded', function() {
    var message = document.getElementById('success-message');
    if (message) {
        setTimeout(function() {
            message.style.transition = 'opacity 0.5s ease';
            message.style.opacity = '0';
            setTimeout(function() {
                message.remove();
            }, 500);
        }, 3000);
    }
});

// Inicializar DataTable con botones
new DataTable('#docentes-table', {
    layout: {
        topStart: {
            buttons: ['copy', 'csv', 'excel', 'pdf']
        }
    }
});

function copyToClipboard() {
    const table = document.querySelector('table');
    const range = document.createRange();
    range.selectNode(table);
    window.getSelection().removeAllRanges();
    window.getSelection().addRange(range);
    document.execCommand('copy');
    window.getSelection().removeAllRanges();

    // Mostrar mensaje de éxito
    Swal.fire({
        icon: 'success',
        title: 'Copiado',
        text: 'La tabla ha sido copiada al portapapeles',
        timer: 1500,
        showConfirmButton: false
    });
}
</script>
@endsection

<!-- End Generation Here -->