<x-mail::message>
# Resumen de bloqueos de la API

@if ($activos->isEmpty())
**No hay ningún bloqueo activo.** Nada que revisar.

@if ($revisados > 0)
En las últimas 24 horas se han marcado como revisados {{ $revisados }} bloqueo(s).
@endif

@else
Hay **{{ $activos->count() }} bloqueo(s) activo(s)**. Mientras lo estén, esos sitios
reciben un 429 y **no reciben licencias ni contenido**.

<x-mail::table>
| Qué | Motivo | Bloqueado desde | Rechazos |
|:--- |:--- |:--- |---:|
@foreach ($activos as $bloqueo)
| {{ $bloqueo->sujeto_texto }}{{ $bloqueo->environment?->client ? ' (' . $bloqueo->environment->client->name . ')' : '' }} | {{ $bloqueo->motivo_texto }} | {{ $bloqueo->first_blocked_at->format('d/m H:i') }} | {{ $bloqueo->hits }} |
@endforeach
</x-mail::table>
@endif

@if ($nuevos->isNotEmpty())
## Nuevos en las últimas 24 horas

@foreach ($nuevos as $bloqueo)
- **{{ $bloqueo->sujeto_texto }}** — {{ $bloqueo->motivo_texto }}, desde las {{ $bloqueo->first_blocked_at->format('H:i') }}
@endforeach
@endif

@if ($activos->isNotEmpty())
## Qué hacer con esto

Un bloqueo **por intentos rechazados** suele ser un sitio pidiendo licencia con un token
que no es válido, en bucle: mirar qué dominio es y revisar su configuración.

Un bloqueo **por el límite de la licencia** suele ser un cliente que ha crecido: si el
tráfico es legítimo, el tope se sube en la ficha de su licencia.

Cuando esté resuelto, hay que **marcarlo como revisado** en el panel. Eso no levanta el
corte —se levanta solo—, pero cierra la incidencia y hace que se vuelva a avisar si el
problema reaparece.
@endif

<x-mail::button :url="$urlBloqueos">
Ver los bloqueos en el Manager
</x-mail::button>

<small>Resumen automático del Tresipunt Manager. La hora, los destinatarios y el propio
resumen se configuran en Configuraciones → Configuraciones del Manager.</small>
</x-mail::message>
