{{ __('Admin') }} {{ __('Coupons') }}
{{ __('Admin · Billing & plans · Coupons') }}

{{ __('Discount') }} {{ __('coupons') }}

{{ __("Codes customers apply at checkout. Percent or fixed amount, time-bounded, plan-scoped, capped redemptions — admin's choice.") }}

@if (session('success'))
{{ session('success') }}
@endif
{{ __('Total coupons') }}
{{ number_format($stats['total']) }}
{{ __('in catalog') }}
{{ __('Active') }}
{{ number_format($stats['active']) }}
{{ __('accepting redemptions') }}
{{ __('Expired') }}
{{ number_format($stats['expired']) }}
{{ __('past expiry date') }}
{{ __('Total redemptions') }}
{{ number_format($stats['redeemed']) }}
{{ __('all-time uses') }}
{{-- Filter / search bar — matches users/workspaces pattern. --}}
@php $statusPills = ['all' => 'All', 'active' => 'Active', 'disabled' => 'Disabled', 'expired' => 'Expired']; @endphp @foreach ($statusPills as $k => $label) @endforeach
@forelse ($coupons as $c) @php $expired = $c->expires_at && $c->expires_at->isPast(); @endphp @empty @endforelse
{{ __('Code') }} {{ __('Discount') }} {{ __('Uses') }} {{ __('Validity') }} {{ __('Status') }}
{{ $c->code }}
@if ($c->description)
{{ $c->description }}
@endif
@if ($c->type === 'percent') {{ rtrim(rtrim(number_format((float) $c->amount, 2), '0'), '.') }}% @else {!! \App\Support\FormatSettings::currency((float) $c->amount) !!} @endif {{ number_format($c->uses_count) }}{{ $c->max_uses ? ' / ' . number_format($c->max_uses) : ' / ∞' }} @if ($c->starts_at || $c->expires_at) {{ $c->starts_at?->format('M j, Y') ?: 'now' }} → {{ $c->expires_at?->format('M j, Y') ?: 'forever' }} @else {{ __('forever') }} @endif
@csrf
{{ __('No coupons match.') }}

{{ __('Try clearing the filters or') }} {{ __('create the first one') }}.

Showing {{ $coupons->firstItem() ?? 0 }}–{{ $coupons->lastItem() ?? 0 }} of {{ number_format($coupons->total()) }} {{ __('coupons') }}
{{ $coupons->onEachSide(1)->links() }}