{{-- Tabela alinhada ao MAPÃO — Dashboard Estratégico e listagem do módulo SUPOP --}}
@php
    $mostrarColunaAcoes = $mostrarColunaAcoes ?? false;
    $ppModuleRoute = $ppModuleRoute ?? 'admin.projetosProgramas.index';
    $ppTabQueryKey = $ppTabQueryKey ?? 'tab';
    $projetosListagemReturnQuery = $projetosListagemReturnQuery ?? [];
    $colCount = 9;
    if ($canManagePriorities ?? false) {
        $colCount++;
    }
    if ($mostrarColunaAcoes) {
        $colCount++;
    }
    $larguraProjeto = '29%';
    $larguraPrioridade = '0%';
    $larguraAcoes = '0%';
    if (($canManagePriorities ?? false) && $mostrarColunaAcoes) {
        $larguraProjeto = '14%';
        $larguraPrioridade = '5%';
        $larguraAcoes = '10%';
    } elseif ($canManagePriorities ?? false) {
        $larguraProjeto = '23%';
        $larguraPrioridade = '6%';
    } elseif ($mostrarColunaAcoes) {
        $larguraProjeto = '19%';
        $larguraAcoes = '10%';
    }
@endphp
<div class="table-responsive">
    <table class="table table-striped table-hover table-bordered mb-2 align-middle pp-listagem-dashboard" id="projetosTable">
        <thead class="table-light">
            <tr>
                <th class="pp-th-celula pp-th-celula--compact" style="width:5%" scope="col"
                    title="{{ __('Numeração igual ao MAPÃO impresso') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'mapao_num',
                        'label' => __('Nº'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula" style="width:{{ $larguraProjeto }}" scope="col"
                    title="{{ __('Nome do Projeto') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'denominacao',
                        'label' => __('Nome do projeto'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula" style="width:8%" scope="col"
                    title="{{ __('Órgão Gestor') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'gestor_structure_id',
                        'label' => __('Órgão gestor'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula" style="width:8%" scope="col"
                    title="{{ __('Etapa') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'etapa_id',
                        'label' => __('Etapa'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula" style="width:7%" scope="col"
                    title="{{ __('Bairro') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'bairro',
                        'label' => __('Bairro'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula" style="width:10%" scope="col"
                    title="{{ __('Orçamento Previsto') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'orcamento_previsto',
                        'label' => __('Orçamento previsto'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula" style="width:10%" scope="col"
                    title="{{ __('Orçamento Disponível') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'orcamento_disponivel',
                        'label' => __('Orçamento disponível'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula pp-col-andamento" style="width:14%" scope="col"
                    title="{{ __('Andamento') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'andamento_cor',
                        'label' => __('Andamento'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                <th class="pp-th-celula" style="width:9%" scope="col"
                    title="{{ __('Prazo de Implantação') }}">
                    @include('components.projetosProgramas._projetos_listagem_sort_link', [
                        'column' => 'prazo_implantacao',
                        'label' => __('Prazo de implantação'),
                        'ppModuleRoute' => $ppModuleRoute,
                        'ppTabQueryKey' => $ppTabQueryKey,
                    ])
                </th>
                @if($canManagePriorities ?? false)
                    <th class="pp-th-celula pp-th-celula--estatica" style="width:{{ $larguraPrioridade }}" scope="col">
                        <span class="pp-th-sort-label">{{ __('Prioridade') }}</span>
                    </th>
                @endif
                @if($mostrarColunaAcoes)
                    <th class="pp-th-celula pp-th-celula--estatica" style="width:{{ $larguraAcoes }}" scope="col">
                        <span class="pp-th-sort-label">{{ __('Ações') }}</span>
                    </th>
                @endif
            </tr>
        </thead>
        <tbody>
            @forelse($projects as $proj)
                @php
                    $corAnd = match ($proj->andamento_cor ?? '') {
                        'verde' => 'text-bg-success',
                        'amarelo' => 'text-bg-warning',
                        'vermelho' => 'text-bg-danger',
                        default => '',
                    };
                    $cadastroCompleto = $proj->isCadastroCompleto();
                    $podeAlterarPrioridade = $cadastroCompleto || $proj->prioritario;
                    $tituloBtnPrioridade = $proj->prioritario
                        ? __('Remover dos prioritários')
                        : ($cadastroCompleto
                            ? __('Marcar como prioritário')
                            : __('Conclua o cadastro para marcar como prioritário'));
                @endphp
                <tr class="{{ $cadastroCompleto ? '' : 'table-warning' }}">
                    <td class="small font-monospace text-center text-nowrap align-middle">{{ ($mapaoIdentificadores ?? [])[$proj->id] ?? '—' }}</td>
                    <td class="small text-center align-middle">
                        <div class="d-flex flex-column align-items-center gap-1">
                            <span>{{ \Illuminate\Support\Str::limit($proj->denominacao, 80) }}</span>
                            @unless($cadastroCompleto)
                                <span class="badge rounded-pill bg-warning text-dark">{{ __('Cadastro em edição') }}</span>
                            @endunless
                        </div>
                    </td>
                    <td class="small text-center text-nowrap align-middle" title="{{ $proj->gestor?->name }}">
                        {{ $proj->gestor?->abbreviation ?: '—' }}
                    </td>
                    <td class="small text-center align-middle text-break">{{ optional($proj->etapa)->nome ?: '—' }}</td>
                    <td class="small text-center align-middle" title="{{ $proj->bairroRotuloExibicao() }}">
                        {{ $proj->bairroRotuloListagem() ?: '—' }}
                    </td>
                    <td class="small text-center text-nowrap align-middle">R$
                        {{ number_format((float) ($proj->orcamento_previsto ?? 0), 2, ',', '.') }}</td>
                    <td class="small text-center text-nowrap align-middle">R$
                        {{ number_format((float) ($proj->orcamento_disponivel ?? 0), 2, ',', '.') }}</td>
                    <td class="small text-center align-middle pp-col-andamento {{ $corAnd }}">
                        @include('components.projetosProgramas._andamento_mapao_celula', [
                            'legendaPorCor' => $mapaoCoresLegenda ?? [],
                            'cor' => $proj->andamento_cor,
                            'textoLivre' => $proj->andamento,
                        ])
                    </td>
                    <td class="small text-center align-middle">
                        @include('components.projetosProgramas._prazo_implantacao_celula', [
                            'mesAno' => $proj->prazoEntregaCompetenciaMesAnoFormatado(),
                            'dias' => $proj->prazo_entrega_dias,
                        ])
                    </td>
                    @if($canManagePriorities ?? false)
                        <td class="align-middle p-2" role="cell">
                            <div class="d-flex justify-content-center align-items-center w-100">
                                <form action="{{ route($routeToggleLista, $proj->id) }}" method="post" class="m-0">
                                    @csrf
                                    @foreach(($filterParams ?? []) as $key => $value)
                                        @if($value !== null && $value !== '')
                                            <input type="hidden" name="{{ $key }}" value="{{ $value }}">
                                        @endif
                                    @endforeach
                                    <input type="hidden" name="origem" value="{{ $prioridadeOrigem ?? 'SUPOP' }}">
                                    <button type="submit"
                                        class="btn btn-sm {{ $proj->prioritario ? 'btn-warning text-dark' : 'btn-outline-dark' }}"
                                        title="{{ $tituloBtnPrioridade }}">
                                        <i class="{{ $proj->prioritario ? 'fa-solid fa-star' : 'fa-regular fa-star' }}"
                                            aria-hidden="true"></i>
                                        <span class="visually-hidden">{{ $proj->prioritario ? __('Remover prioridade') : __('Priorizar') }}</span>
                                    </button>
                                </form>
                            </div>
                        </td>
                    @endif
                    @if($mostrarColunaAcoes)
                        <td class="text-center align-middle">
                            <div class="d-flex flex-wrap justify-content-center align-items-center gap-1">
                                <button type="button"
                                    class="btn btn-outline-info btn-sm"
                                    data-bs-toggle="modal"
                                    data-bs-target="#modalVisualizarProjeto"
                                    data-projeto-visualizar-url="{{ route('admin.projetosProgramas.visualizar', $proj->id) }}"
                                    data-pp-numero-mapao="{{ ($mapaoIdentificadores ?? [])[$proj->id] ?? '' }}"
                                    title="{{ __('Visualizar') }}">
                                    <i class="fa fa-eye" aria-hidden="true"></i>
                                    <span class="visually-hidden">{{ __('Visualizar') }}</span>
                                </button>
                                @if($canEditProjeto ?? false)
                                    <button type="button"
                                        class="btn btn-outline-secondary btn-sm"
                                        data-bs-toggle="modal"
                                        data-bs-target="#modalLancarAndamentoProjeto"
                                        data-pp-historico-store-url="{{ route('admin.projetosProgramas.historicosAndamento.store', $proj) }}"
                                        data-pp-historico-list-url="{{ route('admin.projetosProgramas.historicosAndamento.list', $proj) }}"
                                        data-pp-projeto-nome="{{ $proj->denominacao }}"
                                        title="{{ __('Lançar andamento') }}">
                                        <i class="fa-solid fa-clipboard-list" aria-hidden="true"></i>
                                        <span class="visually-hidden">{{ __('Lançar andamento') }}</span>
                                    </button>
                                @endif
                                <a href="{{ route('admin.projetosProgramas.identificacao', array_merge(
                                    ['projeto' => $proj->id],
                                    $projetosListagemReturnQuery
                                )) }}"
                                    class="btn btn-outline-primary btn-sm" title="{{ __('Editar') }}">
                                    <i class="fa fa-edit" aria-hidden="true"></i>
                                    <span class="visually-hidden">{{ __('Editar') }}</span>
                                </a>
                                @if($canDelete ?? false)
                                    <form action="{{ route('admin.projetosProgramas.destroy', $proj->id) }}"
                                        method="post" class="d-inline"
                                        onsubmit="return confirm('{{ __('Tem certeza que deseja excluir este registro? Esta ação não pode ser desfeita.') }}');">
                                        @csrf @method('DELETE')
                                        @include('components.projetosProgramas._pp_listagem_context_hiddens', ['query' => $projetosListagemReturnQuery])
                                        <button class="btn btn-outline-danger btn-sm" title="{{ __('Excluir') }}" type="submit">
                                            <i class="fa fa-trash" aria-hidden="true"></i>
                                            <span class="visually-hidden">{{ __('Excluir') }}</span>
                                        </button>
                                    </form>
                                @endif
                            </div>
                        </td>
                    @endif
                </tr>
            @empty
                <tr>
                    <td colspan="{{ $colCount }}" class="text-center text-muted py-3">{{ __('Nenhum registro encontrado') }}
                    </td>
                </tr>
            @endforelse
        </tbody>
    </table>
</div>
