@extends('layouts.app')

@section('title', 'Detalle de Solicitud')

@section('breadcrumbs')
    <li class="breadcrumb-item">Empresa</li>
    <li class="breadcrumb-item">
        <a href="{{ route('access-requests.index') }}">Solicitudes de Acceso</a>
    </li>
    <li class="breadcrumb-item active">Detalle</li>
@endsection

@section('content')
<!-- Mensajes de estado -->
@if(session('error'))
    <div class="alert alert-danger alert-dismissible fade show" role="alert">
        <i class="fas fa-exclamation-circle"></i> {{ session('error') }}
        <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
    </div>
@endif

@if(session('success'))
    <div class="alert alert-success alert-dismissible fade show" role="alert">
        <i class="fas fa-check-circle"></i> {{ session('success') }}
        <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
    </div>
@endif

@php
    $request = $request['data'];
    $requestId = $request['_id'];
    $createdAt = $request['created_at'] ?? null;
    $approvedAt = $request['approved_at'] ?? null;
    $rejectedAt = $request['rejected_at'] ?? null;
@endphp

<div class="d-flex justify-content-between align-items-center mb-4">
    <h2>
        <i class="fas fa-user-plus"></i> Detalle de Solicitud
    </h2>
    <div class="btn-group">
        <a href="{{ route('access-requests.index') }}" class="btn btn-outline-secondary">
            <i class="fas fa-arrow-left"></i> Volver
        </a>

        @if(($request['status'] ?? '') === 'new')
        <button type="button" class="btn btn-success" onclick="approveRequest('{{ $requestId }}')">
            <i class="fas fa-check"></i> Aprobar
        </button>
        <button type="button" class="btn btn-danger" onclick="rejectRequest('{{ $requestId }}')">
            <i class="fas fa-times"></i> Rechazar
        </button>
        @endif
    </div>
</div>

<!-- Estado de la Solicitud -->
<div class="row mb-4">
    <div class="col-12">
        <div class="card">
            <div class="card-body">
                <div class="d-flex justify-content-between align-items-center">
                    <div>
                        <h5 class="mb-1">Estado de la Solicitud</h5>
                        @php
                            $statusClass = 'secondary';
                            $statusText = 'Desconocido';
                            $statusIcon = 'fas fa-question';

                            switch($request['status'] ?? '') {
                                case 'new':
                                    $statusClass = 'warning';
                                    $statusText = 'Pendiente de Revisión';
                                    $statusIcon = 'fas fa-clock';
                                    break;
                                case 'approved':
                                    $statusClass = 'success';
                                    $statusText = 'Aprobada';
                                    $statusIcon = 'fas fa-check';
                                    break;
                                case 'rejected':
                                    $statusClass = 'danger';
                                    $statusText = 'Rechazada';
                                    $statusIcon = 'fas fa-times';
                                    break;
                            }
                        @endphp
                        <span class="badge bg-{{ $statusClass }} fs-6">
                            <i class="{{ $statusIcon }}"></i> {{ $statusText }}
                        </span>
                    </div>
                    <div class="text-end">
                        <small class="text-muted">
                            Solicitud creada: {{ date('d/m/Y H:i', strtotime($createdAt)) }}
                        </small>
                        @if($approvedAt)
                            <br><small class="text-success">
                                Aprobada: {{ date('d/m/Y H:i', strtotime($approvedAt)) }}
                                @if(isset($request['approved_by']))
                                    por {{ $request['approved_by'] }}
                                @endif
                            </small>
                        @endif
                        @if($rejectedAt)
                            <br><small class="text-danger">
                                Rechazada: {{ date('d/m/Y H:i', strtotime($rejectedAt)) }}
                                @if(isset($request['rejected_by']))
                                    por {{ $request['rejected_by'] }}
                                @endif
                            </small>
                        @endif
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- Información de la Empresa -->
<div class="row mb-4">
    <div class="col-lg-6">
        <div class="card h-100">
            <div class="card-header">
                <h5 class="mb-0">
                    <i class="fas fa-building"></i> Información de la Empresa
                </h5>
            </div>
            <div class="card-body">
                <div class="row mb-3">
                    <div class="col-sm-4"><strong>Nombre:</strong></div>
                    <div class="col-sm-8">{{ $request['business_name'] ?? 'N/A' }}</div>
                </div>
                <div class="row mb-3">
                    <div class="col-sm-4"><strong>CUIT:</strong></div>
                    <div class="col-sm-8">{{ $request['cuit'] ?? 'N/A' }}</div>
                </div>
                <div class="row mb-3">
                    <div class="col-sm-4"><strong>Tipo de Negocio:</strong></div>
                    <div class="col-sm-8">
                        @switch($request['business_type'] ?? '')
                            @case('retail')
                                <span class="badge bg-info">Retail</span>
                                @break
                            @case('services')
                                <span class="badge bg-primary">Servicios</span>
                                @break
                            @case('manufacturing')
                                <span class="badge bg-secondary">Manufactura</span>
                                @break
                            @default
                                {{ ucfirst($request['business_type'] ?? 'N/A') }}
                        @endswitch
                    </div>
                </div>
                <div class="row mb-3">
                    <div class="col-sm-4"><strong>Dirección:</strong></div>
                    <div class="col-sm-8">{{ $request['address'] ?? 'N/A' }}</div>
                </div>
                <div class="row">
                    <div class="col-sm-4"><strong>Plan Solicitado:</strong></div>
                    <div class="col-sm-8">
                        <span class="badge bg-{{ ($request['requested_plan'] ?? '') === 'PRO' ? 'primary' : 'info' }} fs-6">
                            {{ $request['requested_plan'] ?? 'N/A' }}
                        </span>
                    </div>
                </div>
            </div>
        </div>
    </div>
    
    <div class="col-lg-6">
        <div class="card h-100">
            <div class="card-header">
                <h5 class="mb-0">
                    <i class="fas fa-user"></i> Información del Solicitante
                </h5>
            </div>
            <div class="card-body">
                <div class="row mb-3">
                    <div class="col-sm-4"><strong>Nombre:</strong></div>
                    <div class="col-sm-8">{{ $request['name'] ?? 'N/A' }}</div>
                </div>
                <div class="row mb-3">
                    <div class="col-sm-4"><strong>Email:</strong></div>
                    <div class="col-sm-8">
                        @if(isset($request['email']))
                            <a href="mailto:{{ $request['email'] }}">{{ $request['email'] }}</a>
                        @else
                            N/A
                        @endif
                    </div>
                </div>
                <div class="row mb-3">
                    <div class="col-sm-4"><strong>Teléfono:</strong></div>
                    <div class="col-sm-8">
                        @if(isset($request['phone']))
                            <a href="tel:{{ $request['phone'] }}">{{ $request['phone'] }}</a>
                        @else
                            N/A
                        @endif
                    </div>
                </div>
                
                @if(isset($request['business_user_id']))
                <div class="row">
                    <div class="col-sm-4"><strong>ID Usuario:</strong></div>
                    <div class="col-sm-8">
                        <code>{{ $request['business_user_id'] }}</code>
                    </div>
                </div>
                @endif
            </div>
        </div>
    </div>
</div>

<!-- Mensaje de la Solicitud -->
@if(isset($request['message']) && $request['message'])
<div class="row mb-4">
    <div class="col-12">
        <div class="card">
            <div class="card-header">
                <h5 class="mb-0">
                    <i class="fas fa-comment"></i> Mensaje de la Solicitud
                </h5>
            </div>
            <div class="card-body">
                <p class="mb-0">{{ $request['message'] }}</p>
            </div>
        </div>
    </div>
</div>
@endif

<!-- Información Técnica -->
<div class="row">
    <div class="col-12">
        <div class="card">
            <div class="card-header">
                <h5 class="mb-0">
                    <i class="fas fa-info-circle"></i> Información Técnica
                </h5>
            </div>
            <div class="card-body">
                <div class="row">
                    <div class="col-md-6">
                        <strong>ID de Solicitud:</strong>
                        <code>{{ $requestId }}</code>
                    </div>
                    <div class="col-md-6">
                        <strong>Fecha de Creación:</strong>
                        {{ date('d/m/Y H:i:s', strtotime($createdAt)) }}
                    </div>
                </div>
                
                @if(($request['status'] ?? '') !== 'new')
                <hr>
                <div class="row">
                    @if($approvedAt)
                    <div class="col-md-6">
                        <strong>Fecha de Aprobación:</strong>
                        {{ date('d/m/Y H:i:s', strtotime($approvedAt)) }}
                    </div>
                    <div class="col-md-6">
                        <strong>Aprobada por:</strong>
                        {{ $request['approved_by'] ?? 'N/A' }}
                    </div>
                    @endif
                    
                    @if($rejectedAt)
                    <div class="col-md-6">
                        <strong>Fecha de Rechazo:</strong>
                        {{ date('d/m/Y H:i:s', strtotime($rejectedAt)) }}
                    </div>
                    <div class="col-md-6">
                        <strong>Rechazada por:</strong>
                        {{ $request['rejected_by'] ?? 'N/A' }}
                    </div>
                    @endif
                </div>
                @endif
            </div>
        </div>
    </div>
</div>

@endsection

@push('styles')
<style>
    .card-header h5 {
        margin-bottom: 0;
    }
    
    .badge.fs-6 {
        font-size: 0.875rem !important;
        padding: 0.5rem 0.75rem;
    }
    
    code {
        color: #e83e8c;
        background-color: #f8f9fa;
        padding: 0.25rem 0.375rem;
        border-radius: 0.25rem;
    }
</style>
@endpush

@push('scripts')
<script>
    function approveRequest(requestId) {
        if (confirm('¿Estás seguro de que deseas aprobar esta solicitud?\n\nEsto creará un nuevo usuario business y activará su plan.')) {
            // Crear formulario para enviar POST
            const form = document.createElement('form');
            form.method = 'POST';
            form.action = `/access-requests/${requestId}/approve`;
            
            // Token CSRF
            const csrfToken = document.createElement('input');
            csrfToken.type = 'hidden';
            csrfToken.name = '_token';
            csrfToken.value = '{{ csrf_token() }}';
            form.appendChild(csrfToken);
            
            // Agregar al DOM y enviar
            document.body.appendChild(form);
            form.submit();
        }
    }
    
    function rejectRequest(requestId) {
        if (confirm('¿Estás seguro de que deseas rechazar esta solicitud?\n\nEsta acción no se puede deshacer.')) {
            // Crear formulario para enviar DELETE
            const form = document.createElement('form');
            form.method = 'POST';
            form.action = `/access-requests/${requestId}`;
            
            // Token CSRF
            const csrfToken = document.createElement('input');
            csrfToken.type = 'hidden';
            csrfToken.name = '_token';
            csrfToken.value = '{{ csrf_token() }}';
            form.appendChild(csrfToken);
            
            // Método DELETE
            const methodInput = document.createElement('input');
            methodInput.type = 'hidden';
            methodInput.name = '_method';
            methodInput.value = 'DELETE';
            form.appendChild(methodInput);
            
            // Agregar al DOM y enviar
            document.body.appendChild(form);
            form.submit();
        }
    }
</script>
@endpush