@extends('layouts.app') @section('title', 'Coverage') @section('content')

Coverage

{{ number_format($stats['total']) }} coverage check(s) recorded.

Zones Leads
@include('components.kpi', ['label' => 'Total', 'value' => number_format($stats['total'])]) @include('components.kpi', ['label' => 'Covered', 'value' => number_format($stats['covered']), 'variant' => 'good', 'href' => route('crm.coverage.index', ['result' => 'covered'])]) @include('components.kpi', ['label' => 'Planned', 'value' => number_format($stats['planned']), 'variant' => 'warn', 'href' => route('crm.coverage.index', ['result' => 'planned'])]) @include('components.kpi', ['label' => 'Not covered', 'value' => number_format($stats['not_covered']), 'variant' => 'bad', 'href' => route('crm.coverage.index', ['result' => 'not_covered'])])
@forelse ($requests as $req) @empty @endforelse
Reference Name Contact Address Service Zone Distance Result Received
{{ $req->reference }} {{ $req->name }} {{ $req->phone }} @if ($req->email)
{{ $req->email }}@endif
{{ $req->address }} {{ $req->service_type }} {{ $req->zone?->name ?? '—' }} {{ $req->distance_m !== null ? number_format((float) $req->distance_m).' m' : '—' }} @php $variant = match ($req->result) { 'covered' => 'good', 'planned' => 'warn', 'not_covered' => 'bad', default => '', }; @endphp {{ title_case_words($req->result) }} {{ $req->created_at?->format('d M Y H:i') }}
No coverage requests match these filters.
{{ $requests->withQueryString()->links() }}
@if ($zones->isNotEmpty())

Zones

@foreach ($zones as $zone) @endforeach
ZoneTechnologyStatusHomes passedPorts
{{ $zone->name }} ({{ $zone->code }}) {{ title_case_words($zone->technology) }} {{ title_case_words($zone->status) }} {{ $zone->homes_passed !== null ? number_format((int) $zone->homes_passed) : '—' }} {{ $zone->ports_available !== null ? number_format((int) $zone->ports_available) : '—' }}
@endif @endsection