@push('title') Subscription #{{ $subscription->id }} @endpush @php if (!function_exists('humanTime')) { function humanTime(int $days): string { if ($days <= 0) return 'Expired'; if ($days === 1) return '1 day left'; if ($days < 7) return $days . ' days left'; if ($days < 14) return '1 week left'; if ($days < 30) return round($days / 7) . ' weeks left'; if ($days < 60) return '1 month left'; if ($days < 365) return round($days / 30) . ' months left'; return round($days / 365, 1) . ' years left'; } } $apiKey = $subscription->apiKeys->first(); $daysLeft = $subscription->expires_at ? (int) floor(now()->diffInDays($subscription->expires_at, false)) : null; $isExpired = $subscription->expires_at && $subscription->expires_at->isPast(); $expiringSoon = !$isExpired && $daysLeft !== null && $daysLeft <= 7; $progressPct = 0; if ($subscription->starts_at && $subscription->expires_at) { $totalDays = max(1, $subscription->starts_at->diffInDays($subscription->expires_at)); $elapsed = $subscription->starts_at->diffInDays(now()); $progressPct = min(100, round(($elapsed / $totalDays) * 100)); } @endphp {{-- ── TOP BREADCRUMB BAR ── --}}

Subscription #{{ $subscription->id }}

{{ $subscription->user ? $subscription->user->name : 'Unknown User' }} · {{ $subscription->created_at->format('d M Y') }}

Back
{{-- ══════════════════════════════════ LEFT COLUMN ══════════════════════════════════ --}}
{{-- Subscriber Profile Card --}}
{{-- Avatar --}} @if ($subscription->user && $subscription->user->profile_picture && !str_starts_with($subscription->user->profile_picture, 'avt') && file_exists(public_path('assets/img/avatars/' . $subscription->user->profile_picture))) Profile @else
{{ strtoupper(substr($subscription->user ? $subscription->user->name : 'U', 0, 1)) }}
@endif
{{ $subscription->user ? $subscription->user->name : 'N/A' }}

{{ $subscription->user ? $subscription->user->email : 'N/A' }}

Role

{{ $subscription->user ? ucfirst($subscription->user->getRoleNames()->first()) : 'N/A' }}

Member Since

{{ $subscription->user ? $subscription->user->created_at->format('M Y') : 'N/A' }}
{{-- API Key Card --}}
API Key
@if($apiKey) {{ ucfirst($apiKey->status) }} @else None @endif
@if($apiKey)

Key String

@can('rotate_subscription_management')
@csrf
@endcan @else
🔑

No API key linked to this subscription.

@can('rotate_subscription_management')
@csrf
@endcan
@endif
{{-- ══════════════════════════════════ RIGHT COLUMN ══════════════════════════════════ --}}
{{-- Subscription Plan Overview --}}
{{-- Plan header row --}}

Plan

{{ $subscription->plan_type ?: 'Standard' }} Premium

Amount Paid

${{ number_format($subscription->amount ?: 0, 2) }}

{{-- Status + Countdown --}}
Subscription Status @if($isExpired) Expired @elseif($expiringSoon) Expiring Soon @else Active @endif
{{-- Progress bar --}} @if($subscription->starts_at && $subscription->expires_at)
{{ $subscription->starts_at->format('d M Y') }} {{ $subscription->expires_at->format('d M Y') }}
@endif {{-- Human-readable time left box --}} @if($daysLeft !== null) @if(!$isExpired)
{{ humanTime($daysLeft) }}
@else
This subscription has expired.
@endif @endif
{{-- Dates & PayPal Info --}}

Started On

{{ $subscription->starts_at ? $subscription->starts_at->format('d F Y') : 'N/A' }}
@if($subscription->starts_at) {{ $subscription->starts_at->format('H:i') }} @endif

Expires On

{{ $subscription->expires_at ? $subscription->expires_at->format('d F Y') : 'N/A' }}
@if($subscription->expires_at) {{ $subscription->expires_at->format('H:i') }} @endif

PayPal Order Reference

{{ $subscription->paypal_order_id ?: 'N/A' }}

PayPal Transaction ID

{{ $subscription->paypal_transaction_id ?: 'N/A' }}
{{-- Administrative Controls Card --}}
Administrative Controls
{{-- Extend Button --}} {{-- Suspend/Reactivate Button --}}
@csrf @if($subscription->status === 'active') @else @endif
{{-- Actions row --}} @can('delete_subscription_management')
Delete Subscription

This will permanently remove the subscription and all associated API keys.

@endcan
{{-- Extend Subscription Modal --}} {{-- Delete Modal --}} @can('delete_subscription_management') @endcan @push('scripts') @endpush