Members

{{ $stats['total'] }} total members

@can('create members') Add Member @endcan {{-- Status chips --}}
@php $chips = [ ['label' => 'All', 'value' => '', 'count' => $stats['total'], 'color' => 'gray'], ['label' => 'Active', 'value' => 'active', 'count' => $stats['active'], 'color' => 'green'], ['label' => 'Expiring', 'value' => 'expiring_soon', 'count' => $stats['expiring_soon'], 'color' => 'yellow'], ['label' => 'Expired', 'value' => 'expired', 'count' => $stats['expired'], 'color' => 'red'], ['label' => 'Frozen', 'value' => 'frozen', 'count' => $stats['frozen'], 'color' => 'blue'], ]; $colorMap = [ 'gray' => ['active' => 'border-gray-900 bg-gray-900 text-white', 'inactive' => 'border-gray-200 bg-white text-gray-700 hover:border-gray-300'], 'green' => ['active' => 'border-green-600 bg-green-600 text-white', 'inactive' => 'border-gray-200 bg-white text-gray-700 hover:border-green-200 hover:bg-green-50'], 'yellow' => ['active' => 'border-yellow-500 bg-yellow-500 text-white', 'inactive' => 'border-gray-200 bg-white text-gray-700 hover:border-yellow-200 hover:bg-yellow-50'], 'red' => ['active' => 'border-red-500 bg-red-500 text-white', 'inactive' => 'border-gray-200 bg-white text-gray-700 hover:border-red-200 hover:bg-red-50'], 'blue' => ['active' => 'border-blue-500 bg-blue-500 text-white', 'inactive' => 'border-gray-200 bg-white text-gray-700 hover:border-blue-200 hover:bg-blue-50'], ]; $currentStatus = request('status', ''); @endphp @foreach($chips as $chip) {{ $chip['label'] }} {{ $chip['count'] }} @endforeach {{-- Churn risk chip --}} Churn Risk {{ $stats['churn_risk'] }}
{{-- Search bar --}}
@if(request()->hasAny(['search', 'status', 'churn_risk'])) Clear @endif {{-- Table --}}
@forelse($members as $member) @php $statusColors = [ 'active' => 'bg-green-100 text-green-800', 'expiring_soon' => 'bg-yellow-100 text-yellow-800', 'expired' => 'bg-red-100 text-red-800', 'frozen' => 'bg-blue-100 text-blue-800', 'cancelled' => 'bg-gray-100 text-gray-500', ]; $statusLabels = [ 'active' => 'Active', 'expiring_soon' => 'Expiring Soon', 'expired' => 'Expired', 'frozen' => 'Frozen', 'cancelled' => 'Cancelled', ]; @endphp @empty @endforelse
Member Member ID Phone Plan Expires Status Joined
@if($member->photo_url) {{ $member->name }} @else
{{ strtoupper(substr($member->name, 0, 1)) }}
@endif
{{ $member->name }} @if($member->email)

{{ $member->email }}

@endif @if($member->churn_risk)

Churn risk

@endif
{{ $member->member_id }} {{ $member->phone }} {{ $member->activeMembership?->plan?->name ?? '—' }} @php $expiresAt = $member->activeMembership?->ends_at; @endphp @if($expiresAt) {{ $expiresAt->format('d M Y') }} @else NA @endif {{ $statusLabels[$member->status] ?? ucfirst($member->status) }} {{ $member->joined_at?->format('d M Y') ?? '—' }}
View @can('edit members') Edit @endcan

No members found

Try adjusting your search or filters.

{{-- Pagination --}}
{{ $members->withQueryString()->links() }}