@for ($i = 0; $i < $plano_contratado['planos_disponiveis']['planos_para_upgrade']['quantidade_planos']; $i++)
@php
// Pega as informacoes de um possivel futuro plano contratado
// index_plano é o ID do primeiro plano válido (não array), usado para o primeiro plano ($i === 0)
// Para planos subsequentes, o ID não está disponível diretamente, mas o contexto usa index_plano para todos
$index_plano = $plano_contratado['planos_disponiveis']['planos_para_upgrade']['index_plano'];
// Verifica se index_plano é válido (não array vazio)
$id_plano_upgrade = (is_array($index_plano) && empty($index_plano)) ? null : $index_plano;
$nome_plano_upgrade = $plano_contratado['planos_disponiveis']['planos_para_upgrade']['nome_plano'][$i];
$valor_plano_upgrade = $plano_contratado['planos_disponiveis']['planos_para_upgrade']['valor'][$i];
$logo_plano_upgrade = $plano_contratado['planos_disponiveis']['planos_para_upgrade']['logo'][$i];
$limite_cotacao_plano_upgrade = $plano_contratado['planos_disponiveis']['planos_para_upgrade']['cotacoes_diarias'][$i];
// Verifica se há migração agendada
$temMigracaoAgendada = $contextoUpgrade['temMigracaoAgendada'] ?? false;
$idPlanoAgendado = $contextoUpgrade['idPlanoAgendado'] ?? null;
@endphp
{{-- Exibicao do Plano --}}
@if ($temMigracaoAgendada)
{{-- Há migração agendada: bloqueia todos exceto o botão de cancelar --}}
@elseif ($i === 0)
{{-- Apenas o próximo tier pode ser interagido --}}
@php
$podeMigrarAgora = $contextoUpgrade['podeMigrarAgora'] ?? false;
$jaNaFila = $contextoUpgrade['jaNaFila'] ?? false;
$temAlguemNaFila = $contextoUpgrade['temAlguemNaFila'] ?? false;
$boletoGerado = $contextoUpgrade['boletoGerado'] ?? false;
@endphp
@if ($podeMigrarAgora)
{{-- Há vaga e ninguém na fila: permitir migrar imediato --}}
@elseif ($jaNaFila && $boletoGerado)
{{-- Já na fila e com boleto gerado --}}
@elseif ($jaNaFila)
{{-- Já na fila mas sem boleto --}}
@else
{{-- Não há vaga ou já existe fila: mostrar Lista de Espera --}}
@endif
@else
{{-- Outros tiers devem ficar indisponíveis com tooltip orientando sequência --}}
@endif
@endfor
Planos Inferiores
Planos inferiores ao seu plano atual
{{-- PLANOS PARA DOWNGRADE (Ferro e Bronze filtrados) --}}
{{-- Percorre do maior nivel ao menor--}}
@for($i = ($plano_contratado['planos_disponiveis']['planos_para_downgrade']['quantidade_planos'] - 1); $i >= 0; $i--)
@php
$id_plano_downgrade = $plano_contratado['planos_disponiveis']['planos_para_downgrade']['index_plano'][$i];
$nome_plano_downgrade = $plano_contratado['planos_disponiveis']['planos_para_downgrade']['nome_plano'][$i];
$valor_plano_downgrade = 'R$ ' . $plano_contratado['planos_disponiveis']['planos_para_downgrade']['valor'][$i];
$logo_plano_downgrade = $plano_contratado['planos_disponiveis']['planos_para_downgrade']['logo'][$i];
$limite_cotacao_plano_downgrade = $plano_contratado['planos_disponiveis']['planos_para_downgrade']['cotacoes_diarias'][$i]. ' Cotações Diárias';
// Verifica se há migração agendada
$temMigracaoAgendada = $contextoUpgrade['temMigracaoAgendada'] ?? false;
$idPlanoAgendado = $contextoUpgrade['idPlanoAgendado'] ?? null;
$eOPlanoAgendado = $temMigracaoAgendada && (int)$id_plano_downgrade === (int)$idPlanoAgendado;
@endphp
@if ($eOPlanoAgendado)
{{-- Este é o plano agendado: permitir cancelar migração --}}
@elseif ($temMigracaoAgendada)
{{-- Há migração agendada mas não é este plano --}}
@else
{{-- Os planos antigos tem a opcao de migrar diretamente --}}
@endif