@extends('layouts.app') @section('title','Gerar Excel Vencedores') @section('content') @include('components.seletor-contest')

🏆 Gerar Excel Vencedores

Apenas os primeiros colocados por categoria. Clique nos cabeçalhos para ordenar.

{{ number_format(count($vencedores)) }}
Vencedores
{{ $qrzAtivo ? $qrzConsultas : '—' }}
E-mails via QRZ
{{ $vencedores->filter(fn($v) => empty(trim($v->email ?? '')))->count() }}
Sem E-mail
@if(!$qrzAtivo)
⚠️ QRZ não configurado. Adicione QRZ_USERNAME e QRZ_PASSWORD no .env para buscar e-mails automaticamente.
@elseif($qrzConsultas > 0)
âś… {{ $qrzConsultas }} e-mail(s) obtido(s) via QRZ.com.
@endif {{-- BotĂŁo download --}}
@csrf CSV separado por ponto-e-vĂ­rgula, UTF-8 com BOM (compatĂ­vel com Excel)
{{-- Tabela --}}
@php $cols = [ ['callsign', 'Callsign', 'text', 'left'], ['nome', 'Nome', 'text', 'left'], ['email', 'E-mail', 'text', 'left'], ['email_fonte', 'Fonte', 'text', 'center'], ['categoria', 'Categoria', 'text', 'left'], ['rk', 'Rank', 'num', 'center'], ['final_score', 'Final Score', 'num', 'right'], ]; @endphp @foreach($cols as [$key, $label, $tipo, $align]) @endforeach @forelse($vencedores as $v) @empty @endforelse
{{ $label }} ⇅
{{ $v->callsign }} {{ $v->nome ?? '—' }} @if(!empty(trim($v->email ?? ''))) {{ $v->email }} @else — @endif @if(($v->email_fonte ?? '') === 'qrz') QRZ @elseif(($v->email_fonte ?? '') === 'nao_encontrado') ❌ @else LOG @endif {{ $v->categoria }} {{ $v->rk }} {{ number_format($v->final_score) }}
Nenhum vencedor encontrado. Execute a Etapa 9 primeiro.
@endsection