@extends('layouts.app')

@section('title', 'Gestión de Empresas')

@section('breadcrumbs')
    <li class="breadcrumb-item">Empresa</li>
    <li class="breadcrumb-item active">ABM Empresas</li>
@endsection

@section('content')
<div class="d-flex justify-content-between align-items-center mb-4">
    <h2>
        <i class="fas fa-building"></i> Gestión de Empresas
    </h2>
    @php
        $userType = session('backoffice_user_type');
        $isAdmin = $userType === 'admin';
        $isAdvisor = in_array($userType, ['commercial_advisor', 'advisor']);
    @endphp
    
    <div class="btn-group">
        <!-- Nueva Empresa - Disponible para todos -->
        <a href="{{ route('companies.create') }}" class="btn btn-primary">
            <i class="fas fa-plus"></i> Nueva Empresa
        </a>
        
        @if($isAdmin)
            <!-- Opciones administrativas solo para admins -->
            <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" 
                    data-bs-toggle="dropdown">
                <span class="visually-hidden">Toggle Dropdown</span>
            </button>
            <ul class="dropdown-menu">
                <li><a class="dropdown-item" href="#" onclick="exportCompanies()">
                    <i class="fas fa-download"></i> Exportar Excel
                </a></li>
                <li><a class="dropdown-item" href="#" onclick="refreshData()">
                    <i class="fas fa-sync-alt"></i> Actualizar
                </a></li>
            </ul>
        @else
            <!-- Solo botón de actualizar para asesores -->
            <button type="button" class="btn btn-outline-secondary" onclick="refreshData()" title="Actualizar">
                <i class="fas fa-sync-alt"></i>
            </button>
        @endif
    </div>
</div>

<!-- Filtros -->
<div class="card mb-4">
    <div class="card-body">
        <form id="filterForm" method="GET">
            <div class="row">
                <div class="col-md-3">
                    <label class="form-label">Buscar por nombre</label>
                    <input type="text" class="form-control" name="search" 
                           value="{{ request('search') }}" placeholder="Nombre de empresa...">
                </div>
                <div class="col-md-2">
                    <label class="form-label">Estado</label>
                    <select class="form-select" name="status">
                        <option value="">Todos</option>
                        <option value="active" {{ request('status') === 'active' ? 'selected' : '' }}>Activos</option>
                        <option value="inactive" {{ request('status') === 'inactive' ? 'selected' : '' }}>Inactivos</option>
                        <option value="suspended" {{ request('status') === 'suspended' ? 'selected' : '' }}>Suspendidos</option>
                    </select>
                </div>
                <div class="col-md-2">
                    <label class="form-label">Plan</label>
                    <select class="form-select" name="plan">
                        <option value="">Todos</option>
                        <option value="LITE" {{ request('plan') === 'LITE' ? 'selected' : '' }}>LITE</option>
                        <option value="PRO" {{ request('plan') === 'PRO' ? 'selected' : '' }}>PRO</option>
                    </select>
                </div>
                <div class="col-md-3">
                    <label class="form-label">Rango de fechas</label>
                    <input type="date" class="form-control" name="date_from" 
                           value="{{ request('date_from') }}">
                </div>
                <div class="col-md-2 d-flex align-items-end">
                    <div class="btn-group w-100">
                        <button type="submit" class="btn btn-primary">
                            <i class="fas fa-search"></i> Filtrar
                        </button>
                        <a href="{{ route('companies.index') }}" class="btn btn-outline-secondary">
                            <i class="fas fa-times"></i>
                        </a>
                    </div>
                </div>
            </div>
        </form>
    </div>
</div>

<!-- Estadísticas Rápidas -->
<div class="row mb-4">
    <div class="col-md-3">
        <div class="stats-card mini">
            <div class="d-flex justify-content-between align-items-center">
                <div>
                    <h4>{{ $stats['total'] ?? 0 }}</h4>
                    <small>Total</small>
                </div>
                <i class="fas fa-building fs-3"></i>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="stats-card mini success">
            <div class="d-flex justify-content-between align-items-center">
                <div>
                    <h4>{{ $stats['active'] ?? 0 }}</h4>
                    <small>Activas</small>
                </div>
                <i class="fas fa-check-circle fs-3"></i>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="stats-card mini warning">
            <div class="d-flex justify-content-between align-items-center">
                <div>
                    <h4>{{ $stats['with_plans'] ?? 0 }}</h4>
                    <small>Con Plan</small>
                </div>
                <i class="fas fa-layer-group fs-3"></i>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="stats-card mini info">
            <div class="d-flex justify-content-between align-items-center">
                <div>
                    <h4>{{ $stats['recent'] ?? 0 }}</h4>
                    <small>Nuevas (30d)</small>
                </div>
                <i class="fas fa-calendar-plus fs-3"></i>
            </div>
        </div>
    </div>
</div>

<!-- Tabla de Empresas -->
<div class="card">
    <div class="card-header d-flex justify-content-between align-items-center">
        <h5 class="mb-0">Lista de Empresas</h5>
        <div class="d-flex align-items-center">
            <span class="badge bg-secondary me-2">{{ $pagination['total_items'] ?? count($companies) }} resultados</span>
            <div class="btn-group btn-group-sm">
                <button type="button" class="btn btn-outline-secondary" onclick="toggleView('table')" id="tableView">
                    <i class="fas fa-table"></i>
                </button>
                <button type="button" class="btn btn-outline-secondary" onclick="toggleView('cards')" id="cardView">
                    <i class="fas fa-th-large"></i>
                </button>
            </div>
        </div>
    </div>
    <div class="card-body p-0">
        @if(isset($companies) && count($companies) > 0)
        <div id="tableViewContent">
            <div class="table-responsive">
                <table class="table table-hover mb-0">
                    <thead class="table-light">
                        <tr>
                            <th>
                                <a href="{{ request()->fullUrlWithQuery(['sort' => 'name', 'direction' => request('direction') === 'asc' ? 'desc' : 'asc']) }}" 
                                   class="text-decoration-none">
                                    Empresa
                                    @if(request('sort') === 'name')
                                        <i class="fas fa-sort-{{ request('direction') === 'asc' ? 'up' : 'down' }}"></i>
                                    @else
                                        <i class="fas fa-sort text-muted"></i>
                                    @endif
                                </a>
                            </th>
                            <th>Plan Actual</th>
                            <th>Estado</th>
                            <th>
                                <a href="{{ request()->fullUrlWithQuery(['sort' => 'created_at', 'direction' => request('direction') === 'asc' ? 'desc' : 'asc']) }}" 
                                   class="text-decoration-none">
                                    Creación
                                    @if(request('sort') === 'created_at')
                                        <i class="fas fa-sort-{{ request('direction') === 'asc' ? 'up' : 'down' }}"></i>
                                    @else
                                        <i class="fas fa-sort text-muted"></i>
                                    @endif
                                </a>
                            </th>
                            <th>Último Pago</th>
                            <th class="text-end">Acciones</th>
                        </tr>
                    </thead>
                    <tbody>
                        @foreach($companies as $company)
                        @php
                            $company = (object) $company; // Convertir array a objeto para fácil acceso
                        @endphp
                        <tr>
                            <td>
                                <div class="d-flex align-items-center">
                                    <div class="company-avatar me-3">
                                        {{ substr($company->name, 0, 2) }}
                                    </div>
                                    <div>
                                        <strong>{{ $company->name }}</strong>
                                        <br>
                                        <small class="text-muted">ID: {{ $company->businessId }}</small>
                                        @if(isset($company->email))
                                            <br><small class="text-muted">{{ $company->email }}</small>
                                        @endif
                                    </div>
                                </div>
                            </td>
                            <td>
                                @if(isset($company->versionName) && $company->versionName)
                                    <span class="badge bg-{{ $company->versionName === 'PRO' ? 'primary' : 'info' }}">
                                        {{ $company->versionName }}
                                    </span>
                                    @if(isset($company->plan_expires_at))
                                        <br>
                                        <small class="text-muted">Hasta: {{ date('d/m/Y', strtotime($company->plan_expires_at)) }}</small>
                                    @endif
                                @else
                                    <span class="badge bg-secondary">Sin Plan</span>
                                @endif
                            </td>
                            <td>
                                <span class="badge bg-{{ $company->status === 1 ? 'success' : ($company->status === 'suspended' ? 'warning' : 'secondary') }}">
                                    @if($company->status === 1)
                                        Activo
                                    @elseif($company->status === 'suspended')
                                        Suspendido
                                    @else
                                        Inactivo
                                    @endif
                                </span>
                            </td>
                            <td>
                                {{ date('d/m/Y', strtotime($company->created_at)) }}
                                <br>
                                <small class="text-muted">{{ \Carbon\Carbon::parse($company->created_at)->diffForHumans() }}</small>
                            </td>
                            <td>
                                @if(isset($company->last_payment) && $company->last_payment)
                                    <span class="badge bg-success">${{ number_format($company->last_payment->amount ?? 0, 0, ',', '.') }}</span>
                                    <br>
                                    <small class="text-muted">{{ isset($company->last_payment->created_at) ? date('d/m/Y', strtotime($company->last_payment->created_at)) : 'N/A' }}</small>
                                @else
                                    <span class="text-muted">Sin pagos</span>
                                @endif
                            </td>
                            <td class="text-end">
                                @php
                                    $userType = session('backoffice_user_type');
                                    $isAdmin = $userType === 'admin';
                                    $isAdvisor = in_array($userType, ['commercial_advisor', 'advisor']);
                                @endphp
                                
                                <div class="btn-group btn-group-sm">
                                    <!-- Ver detalles - Disponible para todos -->
                                    <a href="{{ route('companies.show', $company->businessId) }}" 
                                       class="btn btn-outline-primary" title="Ver detalles">
                                        <i class="fas fa-eye"></i>
                                    </a>
                                    
                                    @if($isAdmin)
                                        <!-- Acciones solo para administradores -->
                                        <button type="button" class="btn btn-outline-success" 
                                                onclick="assignPlan('{{ $company->businessId }}')" title="Asignar plan">
                                            <i class="fas fa-layer-group"></i>
                                        </button>
                                        <button type="button" class="btn btn-outline-warning" 
                                                onclick="manageStatus('{{ $company->businessId }}', '{{ $company->status }}')" title="Cambiar estado">
                                            <i class="fas fa-toggle-{{ $company->status === 1 ? 'on' : 'off' }}"></i>
                                        </button>
                                        <div class="btn-group btn-group-sm">
                                            <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" 
                                                    data-bs-toggle="dropdown">
                                            </button>
                                            <ul class="dropdown-menu dropdown-menu-end">
                                                <li><a class="dropdown-item" href="#" onclick="regenerateWelcomeToken('{{ $company->businessId }}')">
                                                    <i class="fas fa-key"></i> Regenerar token de bienvenida
                                                </a></li>
                                                <li><a class="dropdown-item" href="#" onclick="viewPayments('{{ $company->businessId }}')">
                                                    <i class="fas fa-credit-card"></i> Ver Pagos
                                                </a></li>
                                                <li><a class="dropdown-item" href="#" onclick="sendNotification('{{ $company->businessId }}')">
                                                    <i class="fas fa-bell"></i> Enviar Notificación
                                                </a></li>
                                                <li><hr class="dropdown-divider"></li>
                                                <li><a class="dropdown-item text-danger" href="#" onclick="suspendCompany('{{ $company->businessId }}')">
                                                    <i class="fas fa-ban"></i> Suspender
                                                </a></li>
                                            </ul>
                                        </div>
                                    @endif
                                </div>
                            </td>
                        </tr>
                        @endforeach
                    </tbody>
                </table>
            </div>
        </div>
        
        <!-- Vista de Tarjetas (oculta por defecto) -->
        <div id="cardViewContent" style="display: none;">
            <div class="row g-3 p-3">
                @foreach($companies as $company)
                @php
                    $company = (object) $company; // Convertir array a objeto para fácil acceso
                @endphp
                <div class="col-md-6 col-lg-4">
                    <div class="card company-card">
                        <div class="card-body">
                            <div class="d-flex justify-content-between align-items-start mb-3">
                                <div class="company-avatar large">
                                    {{ substr($company->name, 0, 2) }}
                                </div>
                                <span class="badge bg-{{ $company->status === 1 ? 'success' : ($company->status === 'suspended' ? 'warning' : 'secondary') }}">
                                    @if($company->status === 1)
                                        Activo
                                    @elseif($company->status === 'suspended')
                                        Suspendido
                                    @else
                                        Inactivo
                                    @endif
                                </span>
                            </div>
                            <h6 class="card-title">{{ $company->name }}</h6>
                            <p class="card-text">
                                <small class="text-muted">ID: {{ $company->businessId }}</small><br>
                                <small class="text-muted">Creada: {{ date('d/m/Y', strtotime($company->created_at)) }}</small>
                            </p>
                            @if(isset($company->versionName) && $company->versionName)
                                <div class="mb-2">
                                    <span class="badge bg-{{ $company->versionName === 'PRO' ? 'primary' : 'info' }}">
                                        Plan {{ $company->versionName }}
                                    </span>
                                </div>
                            @endif
                            <div class="btn-group w-100 btn-group-sm">
                                @php
                                    $userType = session('backoffice_user_type');
                                    $isAdmin = $userType === 'admin';
                                    $isAdvisor = in_array($userType, ['commercial_advisor', 'advisor']);
                                @endphp
                                
                                <!-- Ver empresa - Disponible para todos -->
                                <a href="{{ route('companies.show', $company->businessId) }}" class="btn btn-primary">
                                    <i class="fas fa-eye"></i> Ver
                                </a>
                                
                                @if($isAdmin)
                                    <!-- Acciones solo para administradores -->
                                    <button type="button" class="btn btn-outline-primary" onclick="assignPlan('{{ $company->businessId }}')" title="Asignar plan">
                                        <i class="fas fa-layer-group"></i>
                                    </button>
                                    <button type="button" class="btn btn-outline-primary" onclick="manageStatus('{{ $company->businessId }}', '{{ $company->status }}')" title="Cambiar estado">
                                        <i class="fas fa-toggle-{{ $company->status === 1 ? 'on' : 'off' }}"></i>
                                    </button>
                                @endif
                            </div>
                        </div>
                    </div>
                </div>
                @endforeach
            </div>
        </div>
        @else
        <div class="text-center py-5">
            <i class="fas fa-building fa-3x text-muted mb-3"></i>
            <h5 class="text-muted">No se encontraron empresas</h5>
            <p class="text-muted">No hay empresas que coincidan con los filtros aplicados.</p>
            <a href="{{ route('companies.create') }}" class="btn btn-primary">
                <i class="fas fa-plus"></i> Crear Primera Empresa
            </a>
        </div>
        @endif
    </div>
    
    @if(isset($pagination) && isset($pagination['total_pages']) && $pagination['total_pages'] > 1)
    <div class="card-footer">
        <nav aria-label="Page navigation">
            <ul class="pagination justify-content-center mb-0">
                @if($pagination['current_page'] > 1)
                    <li class="page-item">
                        <a class="page-link" href="{{ request()->fullUrlWithQuery(['page' => $pagination['current_page'] - 1]) }}">
                            <i class="fas fa-chevron-left"></i> Anterior
                        </a>
                    </li>
                @endif
                
                @for($i = 1; $i <= $pagination['total_pages']; $i++)
                    <li class="page-item {{ $i == $pagination['current_page'] ? 'active' : '' }}">
                        <a class="page-link" href="{{ request()->fullUrlWithQuery(['page' => $i]) }}">{{ $i }}</a>
                    </li>
                @endfor
                
                @if($pagination['current_page'] < $pagination['total_pages'])
                    <li class="page-item">
                        <a class="page-link" href="{{ request()->fullUrlWithQuery(['page' => $pagination['current_page'] + 1]) }}">
                            Siguiente <i class="fas fa-chevron-right"></i>
                        </a>
                    </li>
                @endif
            </ul>
        </nav>
        <div class="text-center mt-2">
            <small class="text-muted">
                Página {{ $pagination['current_page'] }} de {{ $pagination['total_pages'] }} 
                ({{ $pagination['total_items'] }} registros total)
            </small>
        </div>
    </div>
    @endif
</div>

<!-- Modal para regenerar token de bienvenida -->
<div class="modal fade" id="regenerateTokenModal" tabindex="-1" aria-labelledby="regenerateTokenModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="regenerateTokenModalLabel">
                    <i class="fas fa-key"></i> Regenerar Token de Bienvenida
                </h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <p>¿Estás seguro de continuar?</p>
                <p class="text-muted"><small>Se generará un nuevo token de bienvenida y se invalidará el anterior si existe.</small></p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                <button type="button" class="btn btn-primary" id="confirmRegenerateToken">
                    <i class="fas fa-key"></i> Regenerar Token
                </button>
            </div>
        </div>
    </div>
</div>

<!-- Modal para mostrar URL del token -->
<div class="modal fade" id="tokenResultModal" tabindex="-1" aria-labelledby="tokenResultModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="tokenResultModalLabel">
                    <i class="fas fa-check-circle text-success"></i> Token Regenerado Exitosamente
                </h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="modal-body">
                <div class="alert alert-success">
                    <i class="fas fa-info-circle"></i> El token de bienvenida ha sido regenerado exitosamente.
                </div>
                
                <div class="mb-3">
                    <label class="form-label"><strong>URL de Bienvenida:</strong></label>
                    <div class="input-group">
                        <input type="text" class="form-control" id="welcomeUrlField" readonly>
                        <button class="btn btn-outline-secondary" type="button" onclick="copyToClipboard('welcomeUrlField')">
                            <i class="fas fa-copy"></i> Copiar
                        </button>
                    </div>
                    <small class="text-muted">Comparte esta URL con el usuario para que pueda acceder por primera vez.</small>
                </div>
                
                <div class="mb-3">
                    <label class="form-label"><strong>Token:</strong></label>
                    <div class="input-group">
                        <input type="text" class="form-control" id="tokenField" readonly>
                        <button class="btn btn-outline-secondary" type="button" onclick="copyToClipboard('tokenField')">
                            <i class="fas fa-copy"></i> Copiar
                        </button>
                    </div>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cerrar</button>
                <button type="button" class="btn btn-success" onclick="shareUrl()">
                    <i class="fas fa-share"></i> Compartir URL
                </button>
            </div>
        </div>
    </div>
</div>

@endsection

@push('styles')
<style>
    .company-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-weight: bold;
        font-size: 14px;
    }
    
    .company-avatar.large {
        width: 50px;
        height: 50px;
        font-size: 16px;
    }
    
    .company-card {
        transition: transform 0.2s;
    }
    
    .company-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }
    
    .stats-card.mini {
        padding: 15px;
        margin-bottom: 0;
    }
    
    .stats-card.mini h4 {
        font-size: 1.5rem;
        margin-bottom: 0;
    }
</style>
@endpush

@push('scripts')
<script>
    let currentCompanyId = null;

    function toggleView(viewType) {
        const tableView = document.getElementById('tableViewContent');
        const cardView = document.getElementById('cardViewContent');
        const tableBtn = document.getElementById('tableView');
        const cardBtn = document.getElementById('cardView');
        
        if (viewType === 'table') {
            tableView.style.display = 'block';
            cardView.style.display = 'none';
            tableBtn.classList.add('active');
            cardBtn.classList.remove('active');
        } else {
            tableView.style.display = 'none';
            cardView.style.display = 'block';
            tableBtn.classList.remove('active');
            cardBtn.classList.add('active');
        }
        
        localStorage.setItem('companiesViewType', viewType);
    }
    
    function regenerateWelcomeToken(companyId) {
        currentCompanyId = companyId;
        const modal = new bootstrap.Modal(document.getElementById('regenerateTokenModal'));
        modal.show();
    }
    
    function confirmTokenRegeneration() {
        if (!currentCompanyId) return;
        
        const button = document.getElementById('confirmRegenerateToken');
        const originalText = button.innerHTML;
        
        // Deshabilitar botón y mostrar loading
        button.disabled = true;
        button.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Regenerando...';
        
        // Realizar petición AJAX
        fetch(`/companies/${currentCompanyId}/regenerate-welcome-token`, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
            }
        })
        .then(response => response.json())
        .then(data => {
            if (data.success) {
                // Cerrar modal de confirmación
                const confirmModal = bootstrap.Modal.getInstance(document.getElementById('regenerateTokenModal'));
                confirmModal.hide();
                
                // Mostrar resultado
                showTokenResult(data.data);
            } else {
                throw new Error(data.message || 'Error al regenerar token');
            }
        })
        .catch(error => {
            console.error('Error:', error);
            alert('Error al regenerar token: ' + error.message);
        })
        .finally(() => {
            // Restaurar botón
            button.disabled = false;
            button.innerHTML = originalText;
        });
    }
    
    function showTokenResult(data) {
        // Llenar los campos del modal
        document.getElementById('welcomeUrlField').value = data.welcome_url || '';
        document.getElementById('tokenField').value = data.token || '';
        
        // Mostrar modal de resultado
        const modal = new bootstrap.Modal(document.getElementById('tokenResultModal'));
        modal.show();
    }
    
    function copyToClipboard(fieldId) {
        const field = document.getElementById(fieldId);
        field.select();
        field.setSelectionRange(0, 99999); // Para dispositivos móviles
        
        try {
            document.execCommand('copy');
            
            // Feedback visual
            const button = event.target.closest('button');
            const originalContent = button.innerHTML;
            button.innerHTML = '<i class="fas fa-check"></i> Copiado';
            button.classList.remove('btn-outline-secondary');
            button.classList.add('btn-success');
            
            setTimeout(() => {
                button.innerHTML = originalContent;
                button.classList.remove('btn-success');
                button.classList.add('btn-outline-secondary');
            }, 2000);
        } catch (err) {
            console.error('Error al copiar:', err);
            alert('Error al copiar al portapapeles');
        }
    }
    
    function shareUrl() {
        const url = document.getElementById('welcomeUrlField').value;
        
        if (navigator.share) {
            navigator.share({
                title: 'URL de Bienvenida - SISCON',
                text: 'Accede a tu cuenta empresarial',
                url: url
            }).catch(err => console.log('Error sharing:', err));
        } else {
            // Fallback: copiar al portapapeles
            copyToClipboard('welcomeUrlField');
        }
    }
    
    function assignPlan(companyId) {
        // Verificar permisos de usuario
        const userType = '{{ session("backoffice_user_type") }}';
        if (userType !== 'admin') {
            alert('No tienes permisos para realizar esta acción');
            return;
        }
        // En producción sería un modal o redirección
        alert('Funcionalidad de asignación de plan en desarrollo para empresa: ' + companyId);
    }
    
    function manageStatus(companyId, currentStatus) {
        // Verificar permisos de usuario
        const userType = '{{ session("backoffice_user_type") }}';
        if (userType !== 'admin') {
            alert('No tienes permisos para realizar esta acción');
            return;
        }
        const newStatus = currentStatus === 'active' ? 'inactive' : 'active';
        if (confirm(`¿Deseas cambiar el estado de la empresa a ${newStatus}?`)) {
            // En producción sería una llamada AJAX
            alert('Funcionalidad de cambio de estado en desarrollo');
        }
    }
    
    function viewPayments(companyId) {
        // Verificar permisos de usuario
        const userType = '{{ session("backoffice_user_type") }}';
        if (userType !== 'admin') {
            alert('No tienes permisos para realizar esta acción');
            return;
        }
        window.location.href = `/companies/${companyId}/payments`;
    }
    
    function sendNotification(companyId) {
        // Verificar permisos de usuario
        const userType = '{{ session("backoffice_user_type") }}';
        if (userType !== 'admin') {
            alert('No tienes permisos para realizar esta acción');
            return;
        }
        alert('Funcionalidad de notificaciones en desarrollo');
    }
    
    function suspendCompany(companyId) {
        // Verificar permisos de usuario
        const userType = '{{ session("backoffice_user_type") }}';
        if (userType !== 'admin') {
            alert('No tienes permisos para realizar esta acción');
            return;
        }
        if (confirm('¿Estás seguro de que deseas suspender esta empresa?')) {
            alert('Funcionalidad de suspensión en desarrollo');
        }
    }
    
    function regenerateWelcomeToken(companyId) {
        // Verificar permisos de usuario
        const userType = '{{ session("backoffice_user_type") }}';
        if (userType !== 'admin') {
            alert('No tienes permisos para realizar esta acción');
            return;
        }
        if (confirm('¿Estás seguro de que deseas regenerar el token de bienvenida?')) {
            alert('Funcionalidad de regeneración de token en desarrollo');
        }
    }
    
    function exportCompanies() {
        // Verificar permisos de usuario
        const userType = '{{ session("backoffice_user_type") }}';
        if (userType !== 'admin') {
            alert('No tienes permisos para realizar esta acción');
            return;
        }
        alert('Funcionalidad de exportación en desarrollo');
    }
    
    function refreshData() {
        location.reload();
    }
    
    // Event listeners
    document.addEventListener('DOMContentLoaded', function() {
        // Cargar vista preferida
        const savedView = localStorage.getItem('companiesViewType') || 'table';
        toggleView(savedView);
        
        // Agregar event listener al botón de confirmación
        document.getElementById('confirmRegenerateToken').addEventListener('click', confirmTokenRegeneration);
    });
</script>
@endpush