@if (! $subscription) You need an active plan before you can add devices and connect. View plans @elseif ($subscription->hasExceededDataLimit()) You have used your full allowance for this period. Access resumes when the period resets{{ $subscription->current_period_end ? ' on '.$subscription->current_period_end->format('j M Y') : '' }}. @endif {{-- ============================================================== Stats --}} @php $stats = [ [ 'label' => 'Subscription', 'value' => $subscription?->plan?->name ?? 'None', 'meta' => $subscription ? $subscription->status->label().($subscription->daysRemaining() !== null ? ' · '.$subscription->daysRemaining().' days left' : '') : 'Choose a plan to get started', 'badge' => $subscription?->status->badge() ?? 'neutral', ], [ 'label' => 'Devices', 'value' => $devices->count().' / '.($deviceLimit ?: '—'), 'meta' => $remainingSlots > 0 ? $remainingSlots.' slot'.($remainingSlots === 1 ? '' : 's').' available' : 'All slots in use', 'badge' => $remainingSlots > 0 ? 'success' : 'warning', ], [ 'label' => 'Data this month', 'value' => format_bytes($rxBytes + $txBytes), 'meta' => format_bytes($rxBytes).' down · '.format_bytes($txBytes).' up', 'badge' => 'info', ], [ 'label' => 'Locations', 'value' => (string) $locationCount, 'meta' => $locationCount === 1 ? 'location online' : 'locations online', 'badge' => $locationCount > 0 ? 'success' : 'neutral', ], ]; @endphp
@foreach ($stats as $stat)

{{ $stat['label'] }}

{{ $stat['value'] }}

{{ $stat['meta'] }}

@endforeach
{{-- ========================================================= Devices --}}
@if ($remainingSlots > 0) Add device @endif @if ($devices->isEmpty()) @if ($remainingSlots > 0) Add your first device @endif @else
    @foreach ($devices as $device)
  • {{ $device->name }}

    {{ $device->platform->label() }} @if ($device->activePeer?->server?->location) · {{ $device->activePeer->server->location->display_name }} @endif @if ($device->last_connected_at) · last seen {{ $device->last_connected_at->diffForHumans() }} @endif

    {{ $device->status->label() }}
  • @endforeach
@endif
{{-- ================================================ Recent activity --}}
@if ($recentConnections->isEmpty()) @else
    @foreach ($recentConnections as $connection)
  • {{ $connection->server?->location?->display_name ?? 'Unknown' }}

    {{ format_bytes($connection->rx_bytes + $connection->tx_bytes) }}

    {{ $connection->connected_at->diffForHumans() }} @if ($connection->device) · {{ $connection->device->name }} @endif

  • @endforeach
@endif
{{-- Honest about the limits of what we can report. --}}

Connection times are inferred from WireGuard handshakes and are approximate. We record data volumes and timings only — never destinations.