@php $user = auth()->user(); $chamas = $user->chamaMemberships() ->with('chama') ->where('status', 'active') ->get(); $chamaIds = $chamas->pluck('chama_id'); $totalContributions = \App\Models\Contribution::where('user_id', $user->id) ->whereIn('chama_id', $chamaIds) ->where('status', 'paid') ->sum('amount'); $pendingContributions = \App\Models\Contribution::where('user_id', $user->id) ->whereIn('chama_id', $chamaIds) ->where('status', 'pending') ->sum('amount'); $overdueContributions = \App\Models\Contribution::where('user_id', $user->id) ->whereIn('chama_id', $chamaIds) ->where('status', 'pending') ->whereDate('due_date', '<', now()->toDateString()) ->sum('amount'); $upcomingContributions = \App\Models\Contribution::with([ 'chama', 'contributionPlan', ]) ->where('user_id', $user->id) ->whereIn('chama_id', $chamaIds) ->where('status', 'pending') ->whereDate('due_date', '>=', now()->toDateString()) ->orderBy('due_date') ->limit(6) ->get(); $upcomingPayouts = \App\Models\Payout::with([ 'chama', 'fund', 'contributionPlan', ]) ->where('user_id', $user->id) ->whereIn('chama_id', $chamaIds) ->where('status', 'scheduled') ->whereDate('scheduled_date', '>=', now()->toDateString()) ->orderBy('scheduled_date') ->limit(6) ->get(); $recentTransactions = \App\Models\Transaction::with([ 'chama', 'fund', ]) ->where('user_id', $user->id) ->whereIn('chama_id', $chamaIds) ->latest('processed_at') ->latest('id') ->limit(8) ->get(); @endphp
{{-- Header --}}

Welcome, {{ $user->name }}

Here's an overview of your savings groups and recent activity.

+ Create Chama
{{-- Statistics --}}

My Chamas

{{ $chamas->count() }}

Active savings groups

Paid Contributions

KES {{ number_format($totalContributions, 2) }}

Successfully paid

Pending Contributions

KES {{ number_format($pendingContributions, 2) }}

Awaiting payment

Overdue Contributions

KES {{ number_format($overdueContributions, 2) }}

{{ $overdueContributions > 0 ? 'Payment required' : 'Nothing overdue' }}

{{-- Upcoming Activity --}}
{{-- Upcoming Contributions --}}

Upcoming Contributions

Your next scheduled payments

@if ($chamas->isNotEmpty()) {{ $upcomingContributions->count() }} @endif
@if ($upcomingContributions->isEmpty())

No upcoming contributions

You're all caught up for now.

@else @endif
{{-- Upcoming Payouts --}}

Upcoming Payouts

Your scheduled payouts

@if ($chamas->isNotEmpty()) {{ $upcomingPayouts->count() }} @endif
@if ($upcomingPayouts->isEmpty())

No upcoming payouts

Scheduled payouts will appear here.

@else @endif
{{-- Recent Transactions --}}

Recent Transactions

Your latest financial activity

Latest activity across your active Chamas
@if ($recentTransactions->isEmpty())

No transactions yet

Your completed contribution and payout transactions will appear here.

@else
@foreach ($recentTransactions as $transaction) @php $isContribution = $transaction->type === 'contribution'; $isCompleted = $transaction->status === 'completed'; @endphp @endforeach
Transaction Chama Method Amount Status
{{ $isContribution ? '+' : '−' }}

{{ $transaction->type }}

{{ $transaction->processed_at?->format('d M Y, H:i') ?? 'Not processed' }}

{{ $transaction->chama->name }}

@if ($transaction->fund)

{{ $transaction->fund->name }}

@endif
{{ $transaction->payment_method ?: '—' }} {{ $isContribution ? '+' : '−' }} {{ $transaction->chama->currency }} {{ number_format($transaction->amount, 2) }} {{ ucfirst($transaction->status) }}
@endif
{{-- My Chamas --}}

My Chamas

Your active savings groups.

@if ($chamas->isNotEmpty()) {{ $chamas->count() }} {{ \Illuminate\Support\Str::plural('Chama', $chamas->count()) }} @endif
@if ($chamas->isEmpty())

You don't have a Chama yet

Create your first savings group and invite your friends, family, or colleagues.

Create your first Chama
@else
@foreach ($chamas as $membership) @php $chama = $membership->chama; @endphp

{{ $chama->name }}

{{ $chama->description ?: 'Savings group' }}

{{ ucfirst($membership->role) }}
@endforeach
@endif