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

IP pools

{{ $pools->count() }} pool(s). Addresses are handed out by RADIUS or DHCP from these ranges.

+ New pool
@include('components.kpi', ['label' => 'Pools', 'value' => (string) $totals['pools'], 'variant' => 'info']) @include('components.kpi', ['label' => 'Active', 'value' => (string) $totals['active'], 'variant' => $totals['active'] ? 'good' : 'warn']) @include('components.kpi', ['label' => 'Total capacity', 'value' => number_format($totals['capacity'])]) @include('components.kpi', ['label' => 'Addresses tracked', 'value' => number_format($totals['addresses']), 'variant' => 'good'])
@if ($pools->isEmpty()) @include('components.empty-state', [ 'icon' => '🌐', 'title' => 'No IP pools', 'message' => 'Define the ranges your RADIUS or DHCP server hands out from, then track which service holds which address.', ]) @else @foreach ($pools as $pool) @php $cap = $pool->capacity; $pct = $cap > 0 ? round($pool->addresses_count / $cap * 100, 1) : 0; @endphp @endforeach
PoolTypeNetworkRange CapacityTrackedLeaseStatus
{{ $pool->name }} {{ strtoupper($pool->pool_type) }} {{ $pool->network }}/{{ $pool->cidr ?: $pool->netmask }} {{ $pool->start_ip ?: '—' }} — {{ $pool->end_ip ?: '—' }} {{ number_format($cap) }} {{ number_format($pool->addresses_count) }} @if ($cap > 0)
{{ $pct }}%
@endif
{{ $pool->lease_time }}s {{ $pool->is_active ? 'Active' : 'Inactive' }} Open Edit
@endif
@endsection