@props(['linha'])

@php
    $periodosOrdem = ['seg_sex', 'sabado', 'dom_feriado'];
    $coresLegenda = [
        'azul'     => __('Azul'),
        'vermelho' => __('Vermelho'),
        'verde'    => __('Verde'),
        'laranja'  => __('Laranja'),
        'amarelo'  => __('Amarelo'),
        'preto'    => __('Preto'),
    ];
@endphp

<div class="horarios-linha-conteudo">
    <div class="horarios-linha-acoes mb-4">
        <a href="{{ route('mobiangra.mapa', ['linha' => $linha->codigo]) }}"
            class="btn btn-primary btn-sm"
            aria-label="{{ __('Ver no mapa a linha :linha', ['linha' => $linha->codigo]) }}">
            <i class="fa-solid fa-map-location-dot me-1" aria-hidden="true"></i>{{ __('Ver no mapa') }}
        </a>
    </div>

    @if ($linha->tarifa || $linha->tarifa_cidadao)
        <div class="horarios-linha-tarifas-texto mb-4">
            @if ($linha->tarifa)
                <p class="mb-1">
                    <strong>{{ __('Tarifa') }}:</strong>
                    R$ {{ number_format($linha->tarifa, 2, ',', '.') }}
                </p>
            @endif
            @if ($linha->tarifa_cidadao)
                <p class="mb-0">
                    <strong>{{ __('Passageiro Cidadão') }}:</strong>
                    R$ {{ number_format($linha->tarifa_cidadao, 2, ',', '.') }}
                </p>
            @endif
        </div>
    @endif

    @foreach ($linha->secoes as $secao)
        @php
            $gradesPorPeriodo = $secao->grades->keyBy('periodo');
            $gradesVisiveis = collect($periodosOrdem)
                ->map(fn ($key) => $gradesPorPeriodo->get($key))
                ->filter(fn ($grade) => $grade && count($grade->horariosItens()) > 0);
        @endphp

        @if ($gradesVisiveis->isEmpty())
            @continue
        @endif

        <section class="horarios-secao-bloco" aria-labelledby="secao-titulo-{{ $secao->id }}">
            <div class="horarios-secao-barra" id="secao-titulo-{{ $secao->id }}">
                {{ $secao->titulo }}
            </div>

                            @if ($gradesVisiveis->isNotEmpty())
                                <div class="horarios-grade-colunas row g-0">
                                    @foreach ($gradesVisiveis as $grade)
                                        <div @class([
                                            'horarios-grade-col',
                                            'col-12' => true,
                                            'col-md-6' => $gradesVisiveis->count() === 2,
                                            'col-md-4' => $gradesVisiveis->count() === 3,
                                        ])>
                                            <div class="horarios-periodo-header">{{ $grade->label }}</div>
                                            <div class="horarios-periodo-grid" role="list" aria-label="{{ $grade->label }}">
                                                @foreach ($grade->horariosItens() as $item)
                                                    <span @class([
                                                        'horarios-hora',
                                                        'horarios-hora--' . $item['c'] => ! empty($item['c']),
                                                    ]) role="listitem">{{ $item['h'] }}</span>
                                                @endforeach
                                            </div>
                                        </div>
                                    @endforeach
                                </div>
                            @endif
        </section>
    @endforeach

    @if ($linha->legendas->isNotEmpty())
        <div class="horarios-legendas-texto">
            @foreach ($linha->legendas as $leg)
                <p @class([
                    'horarios-legenda-linha',
                    'horarios-legenda-linha--' . $leg->cor => $leg->cor,
                ])>
                    <strong>{{ __('Horário em :cor:', ['cor' => $coresLegenda[$leg->cor] ?? ucfirst($leg->cor)]) }}</strong>
                    {{ $leg->descricao }}
                </p>
            @endforeach
        </div>
    @endif

    @if ($linha->integracoes->isNotEmpty())
        <section class="horarios-integracoes-bloco" aria-labelledby="integracao-titulo-{{ $linha->id }}">
            <div class="horarios-integracao-barra" id="integracao-titulo-{{ $linha->id }}">
                {{ __('ESTA LINHA FAZ INTEGRAÇÃO COM:') }}
            </div>

            <p class="horarios-integracao-descricao">
                <em>{{ __('Integração é quando o passageiro utiliza dois ônibus ou mais (dependendo da linha) pagando apenas uma única passagem.') }}</em>
            </p>

            @foreach ($linha->integracoes as $integ)
                <div class="horarios-integracao-item">
                    <ol class="horarios-integracao-rotas list-unstyled"
                        aria-label="{{ __('Linhas integradas') }}">
                        @foreach ($integ->linhas_envolvidas as $lenv)
                            <li class="horarios-integracao-rota">
                                <span class="horarios-integracao-rota__linha">
                                    <span class="horarios-integracao-codigo">{{ $lenv['codigo'] ?? '' }}</span>
                                    <span class="horarios-integracao-nome">{{ $lenv['nome'] ?? '' }}</span>
                                </span>
                            </li>
                        @endforeach
                    </ol>
                    <p class="horarios-integracao-tempo mb-0">
                        <i class="fa-regular fa-clock me-1" aria-hidden="true"></i>
                        {{ __('Tempo de Integração: :min minutos', ['min' => $integ->tempo_minutos]) }}
                    </p>
                </div>
            @endforeach

            <div class="horarios-como-usar-box">
                <div class="horarios-como-usar-box__icone" aria-hidden="true">?</div>
                <div class="horarios-como-usar-box__conteudo">
                    <h3 class="horarios-como-usar-box__titulo">{{ __('Como usar a Integração???') }}</h3>
                    <ol class="horarios-como-usar-box__lista">
                        <li>{{ __('Pague a passagem no primeiro ônibus com o seu cartão Passageiro Cidadão ou BonfimCard') }}</li>
                        <li>{{ __('O tempo de integração começa a contar a partir do momento que a roleta é liberada') }}</li>
                        <li>{{ __('Embarque no segundo ônibus dentro do tempo de integração e encoste o cartão no validador') }}</li>
                        <li>{{ __('Vai aparecer na tela do validador a palavra "INTEGRAÇÃO" e a roleta vai ser liberada!') }}</li>
                    </ol>
                </div>
            </div>
        </section>
    @endif
</div>
