{{-- ===================================================== Etebarit - by Gisoo Web Solutions ------------------------------------------------------ Gisoo.net ------------------------------------------------------ Copyright (c) 2026 Gisoo Web Solutions ===================================================== This code is protected by copyright ===================================================== File: index.blade.php ------------------------------------------------------ Use: Admin users list from the approved design: status filter pills, server-side search and the paginated users table with verification badges. ===================================================== --}} @extends('layouts.admin') @section('title', __('admin.users.title')) @section('breadcrumb') @endsection @section('page')

{{ __('admin.users.title') }}

{{ __('admin.users.subtitle') }}

{{ __('admin.users.info') }}
@php // Params carried across the status pills so the standing filter // and search survive a status switch (standing 0 is valid, so it // is kept explicitly rather than via array_filter). $keep = []; if ($search !== '') { $keep['q'] = $search; } if ($standing !== null) { $keep['standing'] = $standing; } @endphp {{-- Status filter pills; state lives in the URL so it survives pagination and refreshes. --}}
@foreach (__('admin.users.filters') as $key => $label) $status === $key, 'text-ink-muted hover:text-primary-600' => $status !== $key, ]) >{{ $label }} @endforeach
{{-- Good-standing level filter + search, one GET form so both (and the current status) travel together. --}}
@if ($status !== 'all') @endif
@forelse ($users as $user) {{-- Digits flow LTR but stay right-aligned in the RTL table. --}} @empty @endforelse
{{ __('admin.users.columns.user') }} {{ __('admin.users.columns.mobile') }} {{ __('admin.users.columns.type') }} {{ __('admin.users.columns.registered_at') }} {{ __('admin.users.columns.status') }} {{ __('admin.users.columns.standing') }} {{ __('admin.users.columns.actions') }}
{{ mb_substr($user->first_name, 0, 1) }}.{{ mb_substr($user->last_name, 0, 1) }} {{-- Usernames link (new tab) to their own detail page, everywhere. --}} {{ $user->fullName() }}
@fa($user->mobile) {{ __("admin.users.types.{$user->type}") }} @jalali($user->created_at) $user->verification_status === \App\Models\User::VERIFICATION_UNVERIFIED, 'bg-[#fff5e6] text-amber-600' => $user->verification_status === \App\Models\User::VERIFICATION_PENDING, 'bg-[#e7f7ee] text-green-600' => $user->verification_status === \App\Models\User::VERIFICATION_APPROVED, 'bg-secondary-50 text-secondary-500' => $user->verification_status === \App\Models\User::VERIFICATION_REJECTED, ])> {{ __("admin.users.statuses.{$user->verification_status}") }} @if ($user->isBlocked()) {{ __('admin.users.blocked_badge') }} @endif @php $lvl = \App\Support\GoodStanding::levelForScore((int) $user->good_standing_score); $lvlColor = \App\Support\GoodStanding::color($lvl); @endphp {{ \App\Support\GoodStanding::label($lvl) }} {{ __('admin.users.details') }}
{{ __('admin.users.empty') }}
@if ($users->hasPages())
{{ $users->links() }}
@endif
@endsection