@extends('admin.layouts.app') @section('title', 'Invitation Codes') @section('page-title', 'Invitation Codes') @section('page-title-jp', '招待コード管理') @section('content') {{-- ── Global Settings Card ── --}}

System Access Settings

@csrf

When enabled, users must enter a valid invitation code to register and access the application. Admins are exempt.

{{-- ── Generate Code Form ── --}}

Generate Invitation Code

@csrf
@error('code'){{ $message }}@enderror
@error('max_uses'){{ $message }}@enderror
@error('expires_at'){{ $message }}@enderror
{{-- ── Quick Stats Card ── --}}

Invitation Stats

Active Codes
{{ \App\Models\InvitationCode::where('is_active', true)->count() }}
Total Uses
{{ \App\Models\InvitationCode::sum('uses') }}
Pro Tip: Single-use invitation codes are ideal for VIP invitations. For broad distribution (e.g. beta release), set a higher max usage limit on a custom code like MANABOU-BETA.
{{-- ── Invitation Codes Table Card ── --}}

Invitation Code Database

@if ($invitations->isEmpty())

No invitation codes found. Generate one using the form above.

@else
@foreach ($invitations as $invitation) {{-- Code --}} {{-- Usage --}} {{-- Expires --}} {{-- Status --}} {{-- Creator --}} {{-- Linked Users --}} {{-- Actions --}} @endforeach
Code Usage Expires Status Created By Linked Users Actions
{{ $invitation->code }} {{ $invitation->uses }} / {{ is_null($invitation->max_uses) ? '∞' : $invitation->max_uses }} @if ($invitation->expires_at) {{ $invitation->expires_at->format('M d, Y H:i') }} @else Never @endif @if (!$invitation->is_active) Inactive @elseif ($invitation->isExpired()) Expired @elseif ($invitation->isLimitReached()) Maxed Out @else Active @endif {{ $invitation->creator->name ?? 'System' }} @if ($invitation->users->isEmpty()) No users registered yet @else
@foreach ($invitation->users as $u)
{{ $u->name }} ({{ $u->email }})
@endforeach
@endif
@if ($invitation->code !== 'GRANDFATHERED')
@csrf
@csrf @method('DELETE')
@else System Protected @endif
{{ $invitations->links() }}
@endif
@endsection