@use('Illuminate\Support\Number')

<x-layouts.app :title="$empresa->razao_social" :subtitle="$empresa->cnpj_formatado.' · '.$empresa->uf">
    <x-slot:actions>
        <form method="POST" action="{{ route('master.empresas.impersonate', $empresa) }}">
            @csrf
            <button class="btn-secondary btn-sm">Acessar como cliente</button>
        </form>
        <form method="POST" action="{{ route('master.empresas.sincronizar', $empresa) }}">
            @csrf
            <button class="btn-primary btn-sm">Sincronizar</button>
        </form>
    </x-slot:actions>

    <div class="grid gap-4 sm:grid-cols-2 xl:grid-cols-4">
        <x-stat label="XMLs arquivados" :value="number_format($empresa->notas_fiscais_count, 0, ',', '.')" tone="brand" />
        <x-stat label="Valor movimentado" :value="Number::currency((float) $valorTotal, 'BRL', 'pt_BR')" />
        <x-stat label="Usuários" :value="$empresa->users_count" />
        <x-stat label="Cursor NSU" :value="$empresa->ult_nsu.' / '.$empresa->max_nsu"
                :hint="$empresa->last_sync_at?->format('d/m/Y H:i') ?: 'nunca sincronizou'" />
    </div>

    <div class="mt-6 grid gap-6 lg:grid-cols-3">
        {{-- Edição --}}
        <div class="lg:col-span-2">
            <div class="card card-pad">
                <h2 class="text-sm font-semibold text-slate-900">Cadastro e assinatura</h2>

                <form method="POST" action="{{ route('master.empresas.update', $empresa) }}" class="mt-5 space-y-6">
                    @csrf @method('PUT')

                    <div class="grid gap-5 sm:grid-cols-2">
                        <div class="sm:col-span-2">
                            <label for="razao_social" class="label">Razão social</label>
                            <input id="razao_social" name="razao_social" value="{{ old('razao_social', $empresa->razao_social) }}" required class="input">
                        </div>

                        <div class="sm:col-span-2">
                            <label for="nome_fantasia" class="label">Nome fantasia</label>
                            <input id="nome_fantasia" name="nome_fantasia" value="{{ old('nome_fantasia', $empresa->nome_fantasia) }}" class="input">
                        </div>

                        <div>
                            <label for="ie" class="label">Inscrição estadual</label>
                            <input id="ie" name="ie" value="{{ old('ie', $empresa->ie) }}" class="input tabular">
                        </div>

                        <div>
                            <label for="uf" class="label">UF</label>
                            <select id="uf" name="uf" required class="input">
                                @foreach ($ufs as $uf)
                                    <option value="{{ $uf }}" @selected(old('uf', $empresa->uf) === $uf)>{{ $uf }}</option>
                                @endforeach
                            </select>
                        </div>

                        <div>
                            <label for="email" class="label">E-mail de contato</label>
                            <input id="email" name="email" type="email" value="{{ old('email', $empresa->email) }}" required class="input">
                        </div>

                        <div>
                            <label for="telefone" class="label">Telefone</label>
                            <input id="telefone" name="telefone" value="{{ old('telefone', $empresa->telefone) }}" class="input tabular">
                        </div>

                        <div>
                            <label for="plano" class="label">Plano</label>
                            <input id="plano" name="plano" value="{{ old('plano', $empresa->plano) }}" required class="input">
                        </div>

                        <div>
                            <label for="assinatura_expira_em" class="label">Assinatura válida até</label>
                            <input id="assinatura_expira_em" name="assinatura_expira_em" type="date" class="input tabular"
                                   value="{{ old('assinatura_expira_em', $empresa->assinatura_expira_em?->format('Y-m-d')) }}">
                        </div>

                        <div>
                            <label for="limite_notas_mes" class="label">Limite de notas por mês</label>
                            <input id="limite_notas_mes" name="limite_notas_mes" type="number" min="0" class="input tabular"
                                   value="{{ old('limite_notas_mes', $empresa->limite_notas_mes) }}" required>
                        </div>

                        <div>
                            <label for="monitor_intervalo_min" class="label">Intervalo do monitor (min)</label>
                            <input id="monitor_intervalo_min" name="monitor_intervalo_min" type="number" min="60" max="1440"
                                   value="{{ old('monitor_intervalo_min', $empresa->monitor_intervalo_min) }}" required class="input tabular">
                        </div>

                        <div>
                            <label for="ambiente" class="label">Ambiente SEFAZ</label>
                            <select id="ambiente" name="ambiente" class="input">
                                <option value="1" @selected($empresa->ambiente === 1)>Produção</option>
                                <option value="2" @selected($empresa->ambiente === 2)>Homologação</option>
                            </select>
                        </div>
                    </div>

                    <div class="space-y-3 border-t border-slate-100 pt-5">
                        <label class="flex cursor-pointer items-center gap-3 text-sm text-slate-700">
                            <input type="checkbox" name="is_active" value="1" @checked($empresa->is_active)
                                   class="size-4 cursor-pointer rounded border-slate-300 text-brand-700 focus:ring-brand-500">
                            Empresa ativa
                        </label>
                        <label class="flex cursor-pointer items-center gap-3 text-sm text-slate-700">
                            <input type="checkbox" name="monitor_enabled" value="1" @checked($empresa->monitor_enabled)
                                   class="size-4 cursor-pointer rounded border-slate-300 text-brand-700 focus:ring-brand-500">
                            Monitor automático ativo
                        </label>
                        <label class="flex cursor-pointer items-center gap-3 text-sm text-slate-700">
                            <input type="checkbox" name="manifestacao_automatica" value="1" @checked($empresa->manifestacao_automatica)
                                   class="size-4 cursor-pointer rounded border-slate-300 text-brand-700 focus:ring-brand-500">
                            Manifestar ciência automaticamente
                        </label>
                    </div>

                    <button class="btn-primary">Salvar alterações</button>
                </form>
            </div>

            {{-- Últimas notas --}}
            <div class="card mt-6">
                <div class="border-b border-slate-100 px-5 py-4">
                    <h2 class="text-sm font-semibold text-slate-900">Últimos XMLs recebidos</h2>
                </div>
                @forelse ($notas as $nota)
                    <div class="flex items-center justify-between gap-4 border-b border-slate-50 px-5 py-3 last:border-0">
                        <div class="min-w-0">
                            <p class="truncate text-sm font-medium text-slate-800">{{ $nota->emit_nome ?: '—' }}</p>
                            <p class="tabular text-xs text-slate-500">{{ $nota->emit_cnpj_formatado }} · NF {{ $nota->numero }}/{{ $nota->serie }}</p>
                        </div>
                        <div class="shrink-0 text-right">
                            <p class="tabular text-sm font-semibold text-slate-900">{{ Number::currency((float) $nota->valor_total, 'BRL', 'pt_BR') }}</p>
                            <p class="text-xs text-slate-500">{{ $nota->data_emissao?->format('d/m/Y') }}</p>
                        </div>
                    </div>
                @empty
                    <p class="px-5 py-10 text-center text-sm text-slate-500">Esta empresa ainda não recebeu XMLs.</p>
                @endforelse
            </div>
        </div>

        {{-- Coluna lateral --}}
        <div class="space-y-6">
            <div class="card card-pad">
                <h2 class="text-sm font-semibold text-slate-900">Certificado digital</h2>
                @if ($empresa->hasCertificate())
                    <p class="mt-3 text-sm text-slate-600">{{ $empresa->cert_subject }}</p>
                    <p class="tabular mt-1 text-sm {{ $empresa->certificateExpired() ? 'text-rose-600' : 'text-slate-500' }}">
                        Válido até {{ $empresa->cert_valid_to?->format('d/m/Y') }}
                    </p>
                @else
                    <p class="mt-3 text-sm text-slate-500">Nenhum certificado instalado. O monitor não roda sem ele.</p>
                @endif
            </div>

            <div class="card card-pad">
                <h2 class="text-sm font-semibold text-slate-900">Ações do monitor</h2>

                <form method="POST" action="{{ route('master.empresas.nsu', $empresa) }}" class="mt-4"
                      onsubmit="return confirm('Reiniciar o cursor NSU? A próxima sincronização varre a fila da SEFAZ desde o início.')">
                    @csrf
                    <button class="btn-secondary btn-sm w-full">Reiniciar cursor NSU</button>
                </form>

                <form method="POST" action="{{ route('master.empresas.destroy', $empresa) }}" class="mt-3"
                      onsubmit="return confirm('Desativar esta empresa? Os usuários perdem o acesso e os XMLs continuam arquivados.')">
                    @csrf @method('DELETE')
                    <button class="btn-danger btn-sm w-full">Desativar empresa</button>
                </form>
            </div>

            <div class="card">
                <div class="border-b border-slate-100 px-5 py-4">
                    <h2 class="text-sm font-semibold text-slate-900">Sincronizações recentes</h2>
                </div>
                @forelse ($logs as $log)
                    <div class="flex items-center justify-between gap-3 border-b border-slate-50 px-5 py-3 last:border-0">
                        <div class="min-w-0">
                            <p class="text-sm text-slate-800">{{ $log->statusLabel() }}</p>
                            <p class="truncate text-xs text-slate-500">{{ $log->mensagem }}</p>
                        </div>
                        <p class="shrink-0 text-xs text-slate-400">{{ $log->created_at->diffForHumans() }}</p>
                    </div>
                @empty
                    <p class="px-5 py-8 text-center text-sm text-slate-500">Sem histórico.</p>
                @endforelse
            </div>
        </div>
    </div>
</x-layouts.app>
