@php use App\Support\ConfrontoSubetapa; $mvp = $mvpProgress ?? ['steps' => [], 'progresso_pct' => 0, 'etapa_atual' => 1, 'concluido' => false, 'tab_etapas' => []]; $steps = $mvp['steps'] ?? []; $fluxoEtapa = $mvp['etapa_atual'] ?? 1; $etapaVisivel = (int) ($etapaVisivel ?? $mvp['etapa_visivel'] ?? $fluxoEtapa); $rotuloEtapaVisivel = ($etapaVisivel === 2) ? ConfrontoSubetapa::rotulo(request('confronto')) : (string) $etapaVisivel; $confrontoSubetapas = isset($sim) ? ConfrontoSubetapa::estadosStepper( $sim->idsimulacao, request('confronto'), $confrontoPainel ?? null, $etapaVisivel ) : []; @endphp
Etapas da simulação @if($mvp['concluido'] ?? false) Concluído @else Etapa {{ $rotuloEtapaVisivel }} de 5 @if($etapaVisivel === 2) ({{ ConfrontoSubetapa::info(request('confronto'))['titulo'] }}) @endif @endif
{{ $mvp['progresso_pct'] ?? 0 }}%
@foreach($steps as $step) @php $numStep = (int) ($step['numero'] ?? 0); $isEtapa2 = $numStep === 2; if ($step['concluido'] ?? false) { $state = ($numStep === $etapaVisivel) ? 'done-active' : 'done'; } elseif ($numStep === $etapaVisivel) { $state = 'current'; } else { $state = 'pending'; } @endphp @if($isEtapa2 && !empty($confrontoSubetapas))
@if(($step['concluido'] ?? false) && $numStep !== $etapaVisivel) @else @endif {{ $step['numero'] }} {{ $step['titulo'] }}
@php $subLista = array_values($confrontoSubetapas); @endphp @foreach($subLista as $sub) @php $prev = $loop->index > 0 ? $subLista[$loop->index - 1] : null; $topLineDone = $prev && in_array($prev['estado'], ['done', 'current'], true); $bottomLineDone = in_array($sub['estado'], ['done'], true); $bloqueada = ($sub['estado'] ?? '') === 'locked' || empty($sub['liberada']); @endphp @if($bloqueada) @if($loop->index > 0) @endif @if(!$loop->last) @endif {{ $sub['rotulo'] }} {{ $sub['titulo'] }} @if($sub['badge']) {{ $sub['badge'] }} @endif @else @if($loop->index > 0) @endif @if($sub['estado'] === 'done') @endif @if(!$loop->last) @endif {{ $sub['rotulo'] }} {{ $sub['titulo'] }} @if($sub['badge']) {{ $sub['badge'] }} @endif @endif @endforeach
@else @if(($step['concluido'] ?? false) && !($step['aba_ativa'] ?? false)) @else @endif {{ $step['numero'] }} {{ $step['titulo'] }} @endif @if(!$loop->last) @php $lineDone = ($step['concluido'] ?? false); if ($isEtapa2 && $etapaVisivel === 2) { $lineDone = collect($confrontoSubetapas)->every(fn ($s) => $s['estado'] === 'done'); } @endphp @endif @endforeach