26 lines
1.6 KiB
PHP
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
|