@extends('layouts.admin.theme')

@section('content')
    <div class="container text-start pb-5 mb-5">
        @if(session('success'))
            <div class="alert alert-success mb-4" role="alert">
                {{ session('success') }}
            </div>
        @endif
        @if(session('error'))
            <div class="alert alert-danger mb-4" role="alert">
                {{ session('error') }}
            </div>
        @endif
        @if($errors->any())
            <div class="alert alert-danger mb-4" role="alert">
                @foreach($errors->all() as $e)
                    <div>{{ $e }}</div>
                @endforeach
            </div>
        @endif
        <div class="row mb-4">
            <div class="col text-start">
                <h3>{{ __('Cronograma') }}</h3>
            </div>
            <div class="col text-end d-flex justify-content-end">
                <button type="button" class="btn btn-light bg-mediumGray me-2"
                    onclick="window.location='{{ route('admin.projetosProgramas.index', $projetosListagemReturnQuery ?? []) }}'">
                    <i class="fa fa-list me-1"></i> {{ __('Início') }}
                </button>
            </div>
        </div>
        @include('admin.projetosProgramas.partials.steps', [
            'current' => 'cronograma',
            'project' => $project,
            'projetosListagemReturnQuery' => $projetosListagemReturnQuery ?? [],
        ])
        @include('components.projetosProgramas._stickyProjectHeader', ['project' => $project])
        @php
            $apRaw = old('acompanhamento_prioritario');
            if ($apRaw === null || $apRaw === '') {
                $ap = ($project->acompanhamento_prioritario || $project->acompanhamento_governo || $project->prioritario) ? '1' : '0';
            } else {
                $ap = ((string) $apRaw === '1' || $apRaw === 1 || $apRaw === true) ? '1' : '0';
            }
            $relacaoPpaFederal = old('relacao_ppa_federal');
            if ($relacaoPpaFederal === null || $relacaoPpaFederal === '') {
                $relacaoPpaFederal = filled($project->relacao_ppa) ? '1' : '0';
            } else {
                $relacaoPpaFederal = ((string) $relacaoPpaFederal === '1' || $relacaoPpaFederal === 1 || $relacaoPpaFederal === true) ? '1' : '0';
            }
            $andCorVal = old('andamento_cor', $project->andamento_cor);
            $andCorNone = $andCorVal === null || $andCorVal === '';
            $mapaoCorSwatch = static function (string $valor): string {
                return match ($valor) {
                    'verde' => 'success',
                    'vermelho' => 'danger',
                    'amarelo' => 'warning',
                    default => 'secondary',
                };
            };
        @endphp
        <form method="post" action="{{ route('admin.projetosProgramas.cronograma.store', $project->id) }}"
            enctype="multipart/form-data" class="mt-3 text-start">
            @csrf
            @include('components.projetosProgramas._pp_listagem_context_hiddens', ['query' => $projetosListagemReturnQuery ?? []])
            <div class="row g-3">
                <div class="col-md-4">
                    @php
                        $prazoCompOld = old('prazo_entrega_competencia', $project->prazo_entrega_competencia);
                        $prazoDiasHidden = old('prazo_entrega_dias');
                        if ($prazoDiasHidden === null) {
                            $prazoDiasHidden = $project->prazo_entrega_dias;
                        }
                    @endphp
                    <label class="form-label" for="prazo_entrega_competencia">{{ __('Prazo de entrega (mês / ano)') }}</label>
                    <input type="month" id="prazo_entrega_competencia" name="prazo_entrega_competencia" class="form-control"
                        value="{{ $prazoCompOld }}"
                        autocomplete="off"
                        data-prazo-competencia-input
                        aria-describedby="prazo_entrega_legenda">
                    <input type="hidden" name="prazo_entrega_dias" id="prazo_entrega_dias_hidden"
                        value="{{ $prazoDiasHidden !== null && $prazoDiasHidden !== '' ? (string) $prazoDiasHidden : '' }}"
                        data-prazo-dias-input>
                    <div id="prazo_entrega_legenda" class="form-text text-muted mt-2" data-prazo-dias-legenda role="status"></div>
                </div>
                <div class="col-md-8">
                    <span id="legend-ap-prio" class="form-label d-block mb-2">{{ __('Acompanhamento prioritário?') }}</span>
                    <div class="d-flex gap-3" role="group" aria-labelledby="legend-ap-prio">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="acompanhamento_prioritario"
                                id="apSim" value="1" {{ $ap === '1' ? 'checked' : '' }}>
                            <label class="form-check-label" for="apSim">{{ __('Sim') }}</label>
                        </div>
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="acompanhamento_prioritario"
                                id="apNao" value="0" {{ $ap === '0' ? 'checked' : '' }}>
                            <label class="form-check-label" for="apNao">{{ __('Não') }}</label>
                        </div>
                    </div>
                </div>
                <div class="col-md-4">
                    <label class="form-label" for="etapa_id">{{ __('Etapa') }}</label>
                    <select name="etapa_id" id="etapa_id" class="form-select">
                        <option value="">{{ __('--- Selecione ---') }}</option>
                        @foreach($etapas as $e)
                            <option value="{{ $e->id }}" {{ (string) old('etapa_id', $project->etapa_id) === (string) $e->id ? 'selected' : '' }}>
                                {{ $e->nome }}
                            </option>
                        @endforeach
                    </select>
                </div>
                <div class="col-12 col-lg-10">
                    <span id="bloco-andamento-titulo" class="form-label d-block mb-2">{{ __('Andamento') }}</span>
                    <p class="form-text text-muted small mb-2">{{ __('Escolha a cor conforme a legenda do MAPÃO impresso; abaixo, descreva o andamento em texto livre, se necessário.') }}</p>
                    <div class="d-flex flex-column gap-2 mb-3" role="radiogroup" aria-labelledby="bloco-andamento-titulo">
                        @foreach($andamentoCores as $valor => $legenda)
                            @php $tone = $mapaoCorSwatch((string) $valor); @endphp
                            <div class="form-check">
                                <input class="form-check-input" type="radio" name="andamento_cor"
                                    id="andamento_cor_{{ $valor }}" value="{{ $valor }}"
                                    {{ (string) $andCorVal === (string) $valor ? 'checked' : '' }}>
                                <label class="form-check-label d-flex align-items-center gap-2 flex-wrap" for="andamento_cor_{{ $valor }}">
                                    <span class="rounded border shadow-sm d-inline-block p-2 bg-{{ $tone }}"
                                        aria-hidden="true"></span>
                                    <span>{{ $legenda }}</span>
                                </label>
                            </div>
                        @endforeach
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="andamento_cor" id="andamento_cor_nenhum" value=""
                                {{ $andCorNone ? 'checked' : '' }}>
                            <label class="form-check-label d-flex align-items-center gap-2 flex-wrap" for="andamento_cor_nenhum">
                                <span class="rounded border d-inline-block p-2 bg-light" aria-hidden="true"></span>
                                <span>{{ __('Sem legenda (neutro)') }}</span>
                            </label>
                        </div>
                    </div>
                    <label for="andamento" class="visually-hidden">{{ __('Descrição em texto do andamento') }}</label>
                    <textarea name="andamento" id="andamento" rows="3" class="form-control"
                        placeholder="{{ __('Texto livre sobre o andamento do projeto') }}"
                        aria-labelledby="bloco-andamento-titulo">{{ old('andamento', $project->andamento) }}</textarea>
                </div>
                <div class="col-12">
                    <span id="relacao-ppa-fed-legend" class="form-label d-block mb-2">{{ __('Há Relação com PPA do Governo Federal?') }}</span>
                    <div class="d-flex gap-3" role="radiogroup" aria-labelledby="relacao-ppa-fed-legend">
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="relacao_ppa_federal" id="relacaoPpaFedSim"
                                value="1" {{ (string) $relacaoPpaFederal === '1' ? 'checked' : '' }}
                                data-relacao-ppa-fed-radio>
                            <label class="form-check-label" for="relacaoPpaFedSim">{{ __('Sim') }}</label>
                        </div>
                        <div class="form-check">
                            <input class="form-check-input" type="radio" name="relacao_ppa_federal" id="relacaoPpaFedNao"
                                value="0" {{ (string) $relacaoPpaFederal === '0' ? 'checked' : '' }}
                                data-relacao-ppa-fed-radio>
                            <label class="form-check-label" for="relacaoPpaFedNao">{{ __('Não') }}</label>
                        </div>
                    </div>
                </div>
                <div class="col-12 mt-2 {{ (string) $relacaoPpaFederal === '1' ? '' : 'd-none' }}"
                    data-relacao-ppa-texto-wrap>
                    <label class="form-label" for="relacao_ppa">{{ __('Qual é a relação?') }}</label>
                    <textarea name="relacao_ppa" id="relacao_ppa" class="form-control form-control-sm" rows="2"
                        maxlength="2000" autocomplete="off"
                        aria-describedby="relacao-ppa-fed-legend">{{ old('relacao_ppa', $project->relacao_ppa) }}</textarea>
                </div>
            </div>

            <hr class="my-4">

            <h4 class="h6">{{ __('Histórico (timeline de observações)') }}</h4>
            <p class="small text-muted">{{ __('Registre observações com data e situação. Itens existentes podem ser removidos marcando a opção ao lado.') }}</p>

            @if($project->historicos->isNotEmpty())
                <div class="table-responsive mb-3">
                    <table class="table table-sm table-bordered align-middle">
                        <thead class="table-light">
                            <tr>
                                <th scope="col">{{ __('Data') }}</th>
                                <th scope="col">{{ __('Status') }}</th>
                                <th scope="col">{{ __('Texto') }}</th>
                                <th scope="col">{{ __('Anexos') }}</th>
                                <th scope="col" class="text-start">{{ __('Remover') }}</th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach($project->historicos as $h)
                                <tr>
                                    <td>{{ $h->data ? $h->data->format('d/m/Y') : '—' }}</td>
                                    <td>{{ $h->status ?? '—' }}</td>
                                    <td>{{ \Illuminate\Support\Str::limit($h->texto ?? '', 120) }}</td>
                                    <td>
                                        @include('components.projetosProgramas._historicoAnexosLista', [
                                            'anexos' => $h->anexos,
                                            'projetoId' => $project->id,
                                        ])
                                    </td>
                                    <td class="text-start align-middle">
                                        <div class="form-check mb-0">
                                            <input class="form-check-input" type="checkbox" name="historicos_remover[]"
                                                value="{{ $h->id }}" id="hr{{ $h->id }}"
                                                aria-label="{{ __('Remover este registro do histórico') }}">
                                        </div>
                                    </td>
                                </tr>
                            @endforeach
                        </tbody>
                    </table>
                </div>
            @endif

            <div data-novos-historicos
                data-lbl-data="{{ __('Data') }}"
                data-lbl-status="{{ __('Status') }}"
                data-lbl-texto="{{ __('Texto') }}"
                data-lbl-anexos="{{ __('Anexos') }}"
                data-lbl-anexos-ajuda="{{ __('PDF, Word, Excel ou imagens. Máx. 50 MB por arquivo.') }}"
                data-lbl-remover-linha="{{ __('Remover linha') }}"></div>
            <button type="button" class="btn btn-outline-secondary btn-sm mb-3" data-add-historico-row>
                <i class="fa-solid fa-plus me-1"></i> {{ __('Adicionar linha ao histórico') }}
            </button>

            <div class="text-end mt-4 d-flex gap-3">
                <button type="submit" class="btn btn-green">
                    <i class="fa fa-arrow-right me-1"></i> {{ __('Salvar e Prosseguir') }}
                </button>
            </div>
        </form>
    </div>
    <script src="{{ asset('pmar/js/projetos-programas-cronograma.js') }}"></script>
@endsection
