@php $currentSort = request()->query('sort', ''); $currentDir = request()->query('dir', ''); if (! in_array($currentDir, ['asc', 'desc'], true)) { $currentDir = ''; } $isEmpty = $users->isEmpty(); $sortIcon = function (string $col) use ($currentSort, $currentDir, $isEmpty) { if ($isEmpty) return ''; $active = $currentSort === $col; $upActive = $active && $currentDir === 'asc'; $downActive = $active && $currentDir === 'desc'; $upClass = $upActive ? 'text-white' : 'text-white/40'; $downClass = $downActive ? 'text-white' : 'text-white/40'; return sprintf( '', $upClass, $downClass ); }; @endphp
{{ __('form.label.name') }} {!! $sortIcon('name') !!}
{{ __('pages/admin/users.table.email') }}
{{ __('pages/admin/users.table.status') }}
{{ __('pages/admin/users.table.last_login') }} {!! $sortIcon('last_login_at') !!}
{{ __('pages/admin/users.table.created_at') }} {!! $sortIcon('created_at') !!}
{{ __('pages/admin/users.table.actions') }}
@foreach($users as $user) {{-- Checkbox --}} {{-- User (avatar + name) --}}

{{ $user->full_name }}

{{-- Email --}}

{{ $user->email }}

{{-- Status --}} @if(!($isArchivedPage ?? false)) {{-- Interactive status dropdown --}} @foreach(['active', 'inactive'] as $status) @endforeach @else {{-- Read-only badge on archived page --}} {{ $user->status == 'active' ? __('buttons.active') : __('buttons.inactive') }} @endif {{-- Last Login --}}

{{ $user->last_login_at ? format_date($user->last_login_at, true) : '-' }}

@if($user->last_login_ip)

{{ $user->last_login_ip }}

@endif
{{-- Joined --}}

{{ $user->created_at ? format_date($user->created_at) : '-' }}

{{-- Actions --}}
@if($isArchivedPage ?? false) {{-- Restore --}} @else {{-- View --}} {{-- Edit --}} {{-- Delete --}} {{-- More Actions Dropdown --}}
{{-- Change Password --}} {{ __('pages/admin/users.changePassword.title') }} {{-- Send Invitation (only if never logged in) --}} @if(empty($user->last_login_at)) {{ __('pages/admin/users.sendInvitation.title') }} @endif {{-- Reset 2FA --}} @if($hasTwoFactorTable ?? false) {{ __('pages/admin/users.resetTwoFactor.buttonText') }} @endif
@endif
@endforeach @if($users->isEmpty() && ($totalUsers ?? 0) > 0)

{{ __('pages/admin/users.no_data_available.title') }}

{{ __('pages/admin/users.no_results_filtered') }}

{{ __('buttons.filter.clear') }}
@endif
{{ $users->links('components.ajax-pagination') }}