@extends("admin.layouts.app") @section("title", __("admin.domains.title")) @section("content") @include('admin.partials.list-filters', ['filters' => $filters, 'action' => route('admin.domains.index')]) @php $canMove = auth('admin')->user()?->hasPermission('manage_domains'); @endphp @if($canMove) {{-- Bulk actions: tick domains, pick what to do. The form wraps the table so the checkboxes post with it. --}}
@csrf @endif
@if($canMove)@endif @forelse($domains as $domain) @php $expirySoon = $domain->expiry_date && $domain->expiry_date->diffInDays(now()) <= 30 && $domain->expiry_date->isFuture(); $expired = $domain->expiry_date && $domain->expiry_date->isPast(); $badgeClass = match(strtolower($domain->status ?? "")) { "active" => "badge-active", "pending" => "badge-pending", "expired" => "badge-terminated", default => "badge-cancelled", }; @endphp @if($canMove)@endif @empty @endforelse
{!! $filters->sortLink('domain', __('common.table.domain')) !!} {{ __('common.table.client') }} {{ __('common.table.registrar') }} {!! $filters->sortLink('registration_date', __('admin.domains.registered')) !!} {!! $filters->sortLink('expiry_date', __('admin.domains.expires')) !!} {{ __('common.table.status') }} {{ __('common.table.actions') }}
{{ $domain->domain }} @if($domain->record_only){{ __('admin.domains.record_only') }}@endif @if($domain->imported_at){{ __('admin.domains.imported') }}@endif @if($domain->client) client_id) }}" style="color:#337ab7;text-decoration:none;">{{ $domain->client->full_name }} @else N/A @endif {{ ucfirst($domain->registrar ?? "-") }} {{ $domain->registration_date?->format(date_fmt()) ?? "-" }} {{ $domain->expiry_date?->format(date_fmt()) ?? "-" }} @if($expirySoon) {{ __('admin.domains.expiry_soon') }} @endif @if($expired) {{ __('admin.domains.expiry_past') }} @endif {{ ucfirst($domain->status ?? "") }} {{ __('common.actions.view') }}
{{ __('admin.domains.no_domains') }}
{{ $domains->withQueryString()->links() }}
@if($canMove)
@php // Built here: Blade cannot read a multi-line array inside its json directive. $bulkHints = [ 'move' => __('admin.domains.move_owner_can'), 'sync' => __('admin.domains.bulk_hint_registrar', ['max' => 25]), 'nameservers' => __('admin.domains.bulk_hint_registrar', ['max' => 25]), 'renew' => __('admin.domains.bulk_hint_renew', ['max' => 25]), ]; $bulkConfirms = [ 'move' => __('admin.domains.bulk_move_confirm'), 'sync' => __('admin.domains.bulk_confirm_sync'), 'nameservers' => __('admin.domains.bulk_confirm_nameservers'), 'renew' => __('admin.domains.bulk_confirm_renew'), ]; @endphp @endif @endsection