@extends('admin.layout') @section('title', 'Dashboard') @section('content') @php $trialCount = $trialUsers->count(); $expiringCount = $expiring->count(); $activeCount = $stats['tenants_paying'] + $stats['tenants_trial']; @endphp
Total Tenants
{{ $stats['tenants_total'] }}
{{ $stats['tenants_active'] }} active
Paying Users
{{ $stats['tenants_paying'] }}
{{ $stats['tenants_trial'] }} on trial
MRR
${{ number_format($stats['mrr'], 2) }}
Monthly recurring
Expiring Soon
{{ $expiringCount }}
Within 7 days
{{-- Quick Email Buttons --}}
@csrf
@csrf
@csrf
{{-- Trial Users --}}

Trial Users

{{ $trialCount }}
@csrf
@forelse($trialUsers as $t) @php $daysLeft = $t->trial_ends_at ? max(0, (int)now()->diffInDays(\Carbon\Carbon::parse($t->trial_ends_at), false)) : 0; @endphp @empty @endforelse
TenantEmailTrial EndsDays Left
{{ $t->name }} {{ $t->users->first()->email ?? '—' }} {{ $t->trial_ends_at ? \Carbon\Carbon::parse($t->trial_ends_at)->format('M d, Y') : '—' }} {{ $daysLeft }}d
No trial users
{{-- Expiring Soon --}}

Expiring Within 7 Days

{{ $expiringCount }}
@csrf
@forelse($expiring as $t) @php $daysLeft = $t->subscription_ends_at ? max(0, (int)now()->diffInDays(\Carbon\Carbon::parse($t->subscription_ends_at), false)) : 0; @endphp @empty @endforelse
TenantPlanEmailExpiresDays
{{ $t->name }} {{ $t->plan->name ?? '—' }} {{ $t->users->first()->email ?? '—' }} {{ \Carbon\Carbon::parse($t->subscription_ends_at)->format('M d') }} {{ $daysLeft }}d
No expiring subscriptions
{{-- Recent & Plans --}}

Recent Tenants

@foreach($recent as $t) @endforeach
TenantPlanStatusUsers
{{ $t->name }} {{ $t->plan->name ?? '—' }} {{ ucfirst($t->subscription_status) }} {{ $t->users->count() }}

Plan Distribution

@foreach($plans as $p) @endforeach
PlanTenants
{{ $p->name }}{{ $p->tenants_count }}
@endsection