{{-- Modal: exclusão em massa de projetos (aba Projetos) — requer permissão de excluir --}}
@php
    /** @var \Illuminate\Contracts\Pagination\LengthAwarePaginator $projects */
    $ppTabQueryKey = $ppTabQueryKey ?? 'tab';
    $tabAtual = $tabAtual ?? 'projetos';
    $mapaoIdentificadores = $mapaoIdentificadores ?? [];
    $mapaoFlag = !empty($mapaoApenasCadastroCompleto) ? 1 : 0;
    $totalFiltrados = $projects->total();
    $exibidosNaPagina = $projects->count();
    // Alinhar a App\Http\Controllers\ProjetosProgramas\ProjetosProgramasController::LISTAGEM_FILTROS_QUERY_KEYS
    $ppExclusaoMassaFiltroKeys = [
        'search',
        'gestor',
        'prioritario',
        'andamento_cor',
        'orcamento_status_cor',
        'status_registro',
        'bairro',
        'bairo',
        'tipo',
        'status',
        'etapa',
        'classificacao',
        'prazo',
    ];
    $ppExclusaoMassaContextoKeys = ['page', 'per_page', 'sort_by', 'sort_dir', 'filtros_visiveis', 'pp_subtab'];
@endphp
<div class="modal fade" id="modalExclusaoEmMassaProjetos" tabindex="-1"
    aria-labelledby="modalExclusaoEmMassaProjetosTitulo"
    aria-hidden="true">
    <div class="modal-dialog modal-xl modal-dialog-scrollable modal-dialog-centered">
        <div class="modal-content">
            <div class="modal-header">
                <div class="w-100">
                    <h5 class="modal-title" id="modalExclusaoEmMassaProjetosTitulo">{{ __('Exclusão em massa — Projetos') }}</h5>
                    <p class="small text-muted mb-0 mt-1">
                        {{ __('Selecione os projetos que deseja excluir permanentemente. Esta ação não pode ser desfeita.') }}
                    </p>
                    <p class="small text-muted mb-0 mt-1">
                        {{ __('Os filtros da listagem acima aplicam-se a esta exclusão. Ajuste-os e use "Filtrar" antes de abrir este painel, se necessário.') }}
                    </p>
                </div>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="{{ __('Fechar') }}"></button>
            </div>
            <div class="modal-body">
                <form id="pp-modal-exclusao-massa-form"
                    method="post"
                    action="{{ route('admin.projetosProgramas.destroyMany') }}"
                    data-confirm-selected="{{ e(__('Excluir os :count projeto(s) selecionado(s)? Esta ação não pode ser desfeita.')) }}"
                    data-confirm-all="{{ e(__('Excluir TODOS os :count projeto(s) que correspondem aos filtros atuais? Esta ação não pode ser desfeita.', ['count' => $totalFiltrados])) }}"
                >
                    @csrf
                    <input type="hidden" name="bulk_mode" id="pp_modal_exm_bulk_mode" value="selected_ids">
                    <input type="hidden" name="mapao_apenas_cadastro_completo" value="{{ $mapaoFlag }}">
                    <input type="hidden" name="{{ $ppTabQueryKey }}" value="{{ $tabAtual }}">
                    @foreach(request()->only($ppExclusaoMassaFiltroKeys) as $key => $value)
                        @if($value !== null && $value !== '')
                            <input type="hidden" name="{{ $key }}" value="{{ $value }}">
                        @endif
                    @endforeach
                    @foreach(request()->only($ppExclusaoMassaContextoKeys) as $key => $value)
                        @if($key !== $ppTabQueryKey && $value !== null && $value !== '')
                            <input type="hidden" name="{{ $key }}" value="{{ $value }}">
                        @endif
                    @endforeach

                    <div class="d-flex flex-wrap align-items-center justify-content-between gap-2 mb-2">
                        <div class="d-flex flex-wrap align-items-center gap-3">
                            <div class="form-check mb-0">
                                <input class="form-check-input" type="checkbox" id="pp-modal-exm-select-all"
                                    aria-label="{{ __('Selecionar todos os registros visíveis nesta página') }}">
                                <label class="form-check-label small fw-semibold" for="pp-modal-exm-select-all">
                                    {{ __('Selecionar todos') }}
                                </label>
                            </div>
                            <span class="small text-muted" aria-live="polite">
                                <span id="pp-modal-exm-count">0</span> {{ __('de') }} {{ $exibidosNaPagina }}
                                {{ __('nesta página') }} · {{ __(':total no filtro', ['total' => $totalFiltrados]) }}
                            </span>
                        </div>
                        <div class="d-flex flex-wrap gap-2">
                            <button type="submit" id="pp-modal-exm-btn-selected"
                                class="btn btn-danger btn-sm" disabled
                                form="pp-modal-exclusao-massa-form">
                                <i class="fa-solid fa-trash me-1" aria-hidden="true"></i>
                                {{ __('Excluir selecionados') }}
                            </button>
                            @if($totalFiltrados > 0)
                                <button type="button" id="pp-modal-exm-btn-all"
                                    class="btn btn-outline-danger btn-sm"
                                    data-total="{{ $totalFiltrados }}">
                                    <i class="fa-solid fa-trash-can me-1" aria-hidden="true"></i>
                                    {{ __('Excluir todos os :count resultado(s) filtrado(s)', ['count' => $totalFiltrados]) }}
                                </button>
                            @endif
                        </div>
                    </div>

                    <div class="table-responsive border rounded">
                        <table class="table table-sm table-striped table-hover table-bordered mb-0 align-middle" id="pp-modal-exm-table">
                            <thead class="table-light">
                                <tr>
                                    <th class="text-center align-middle" style="width:3%" scope="col">
                                        <span class="visually-hidden">{{ __('Seleção') }}</span>
                                    </th>
                                    <th class="text-center text-nowrap align-middle" style="width:6%" scope="col">{{ __('Nº') }}</th>
                                    <th class="text-center align-middle" scope="col">{{ __('Nome do projeto') }}</th>
                                    <th class="text-center align-middle" style="width:14%" scope="col">{{ __('Secretaria') }}</th>
                                    <th class="text-center align-middle" style="width:12%" scope="col">{{ __('Bairro') }}</th>
                                    <th class="text-center align-middle" style="width:11%" scope="col">{{ __('Situação do cadastro') }}</th>
                                </tr>
                            </thead>
                            <tbody>
                                @forelse($projects as $proj)
                                    @php $completo = $proj->isCadastroCompleto(); @endphp
                                    <tr class="{{ $completo ? '' : 'table-warning' }}">
                                        <td class="text-center align-middle">
                                            <input class="form-check-input pp-modal-exm-row-cb"
                                                type="checkbox"
                                                name="project_ids[]"
                                                value="{{ $proj->id }}"
                                                id="pp_modal_exm_cb_{{ $proj->id }}"
                                                aria-label="{{ __('Selecionar projeto :nome', ['nome' => \Illuminate\Support\Str::limit($proj->denominacao, 60)]) }}">
                                        </td>
                                        <td class="small font-monospace text-center text-nowrap align-middle">
                                            {{ $mapaoIdentificadores[$proj->id] ?? '—' }}
                                        </td>
                                        <td class="small align-middle">
                                            <label for="pp_modal_exm_cb_{{ $proj->id }}" class="d-block mb-0">
                                                {{ $proj->denominacao }}
                                            </label>
                                        </td>
                                        <td class="small text-center align-middle">
                                            {{ optional($proj->gestor)->abbreviation ?? optional($proj->gestor)->name ?? '—' }}
                                        </td>
                                        <td class="small text-center align-middle">{{ $proj->bairro ?? '—' }}</td>
                                        <td class="small text-center align-middle">
                                            <span class="badge rounded-pill bg-{{ $completo ? 'success' : 'warning' }} {{ $completo ? '' : 'text-dark' }}">
                                                {{ $completo ? __('Concluído') : __('Em edição') }}
                                            </span>
                                        </td>
                                    </tr>
                                @empty
                                    <tr>
                                        <td colspan="6" class="text-center text-muted py-4">
                                            {{ __('Nenhum projeto encontrado com os filtros atuais.') }}
                                        </td>
                                    </tr>
                                @endforelse
                            </tbody>
                        </table>
                    </div>

                    @if($totalFiltrados > $exibidosNaPagina)
                        <p class="small text-muted mt-2 mb-0">
                            <i class="fa-solid fa-circle-info me-1" aria-hidden="true"></i>
                            {{ __('Exibindo :exibidos de :total registro(s) nesta página. Use "Excluir todos os resultados filtrados" para excluir além da página atual.', ['exibidos' => $exibidosNaPagina, 'total' => $totalFiltrados]) }}
                        </p>
                    @endif
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary btn-sm" data-bs-dismiss="modal">{{ __('Fechar') }}</button>
            </div>
        </div>
    </div>
</div>
