Files
2026-10-12 14:50:13 +01:00

26 lines
1.6 KiB
PHP

@extends('licensing::admin.layout')
@section('title', 'SonarDesk Subscriptions')
@section('content')
<h1>Subscriptions</h1>
<p class="muted">Read-only subscription records stored in ABSDev. This is not a live Paddle reconciliation.</p>
<div class="cards">
<div class="card"><div class="muted">Subscription-linked licences</div><div class="metric">{{ number_format($total) }}</div></div>
<div class="card"><div class="muted">Active / trialing</div><div class="metric">{{ number_format($active) }}</div></div>
<div class="card"><div class="muted">Cancellation scheduled</div><div class="metric">{{ number_format($cancelScheduled) }}</div></div>
</div>
<div class="table-wrap"><table><thead><tr><th>Customer</th><th>Product</th><th>Provider</th><th>Status</th><th>Period ends</th><th>Cancellation</th><th>Licence</th></tr></thead><tbody>
@forelse($subscriptions as $subscription)
<tr>
<td>{{ $subscription->customer_email ?: '—' }}</td>
<td>{{ $subscription->product?->name ?? '—' }}</td>
<td>{{ $subscription->payment_provider ?: '—' }}</td>
<td><span class="pill">{{ $subscription->subscription_status ?: 'Unknown' }}</span></td>
<td>{{ $subscription->current_period_ends_at?->format('d M Y') ?? '—' }}</td>
<td>{{ $subscription->cancel_scheduled_at?->format('d M Y') ?? '—' }}</td>
<td><a href="{{ route('administration.sonardesk.licenses.show', $subscription) }}">View licence</a></td>
</tr>
@empty<tr><td colspan="7">No subscription-linked licences in the local database.</td></tr>@endforelse
</tbody></table></div>
<div class="pager">{{ $subscriptions->links() }}</div>
@endsection