@extends('admin.layout') @section('title', $user->name ?? $user->first_name ?? 'Utilisateur') @section('content') @php $displayName = trim(($user->first_name ?? '') . ' ' . ($user->name ?? '')) ?: 'Utilisateur'; $avatar = $user->photos->first(); $avatarUrl = $avatar ? (str_starts_with($avatar->path, 'http') ? $avatar->path : asset('storage/' . ltrim($avatar->path, '/'))) : null; $identityLabels = [ 'none' => ['Non soumis', 'tag-pending'], 'pending' => ['En attente', 'tag-pending'], 'approved' => ['Approuvé', 'tag-active'], 'rejected' => ['Refusé', 'tag-blocked'], ]; [$identityLabel, $identityClass] = $identityLabels[$user->identity_status ?? 'none'] ?? ['—', 'tag-pending']; $identityPhoto = $user->identity_photo_url ? (str_starts_with($user->identity_photo_url, 'http') ? $user->identity_photo_url : asset(ltrim($user->identity_photo_url, '/'))) : null; @endphp Retour aux utilisateurs
@if($avatarUrl) @else
{{ strtoupper(mb_substr($displayName, 0, 1)) }}
@endif

{{ $displayName }}

{{ $user->phone ?? '—' }}

{{ $user->email ?? '—' }}

{{ $user->location_city ?? '—' }}{{ $user->location_country ? ', '.$user->location_country : '' }}

@if($user->is_blocked) Banni @else Actif @endif @if($user->is_verified) Profil vérifié @endif Identité : {{ $identityLabel }}
@if($user->identity_status === 'pending')
@csrf
@endif
@csrf
@if($user->is_blocked)
@csrf
@else
@csrf
@endif

Statistiques

Profil complété{{ $stats['completion'] }}%
Matchs{{ $stats['matches'] }}
Likes reçus{{ $stats['likes_received'] }}
Vues profil{{ $stats['profile_views'] }}
Inscription{{ $user->created_at->format('d/m/Y H:i') }}

Profil

Genre{{ $user->gender ?? '—' }}
Naissance{{ $user->date_of_birth?->format('d/m/Y') ?? '—' }}
Profession{{ $user->occupation ?? '—' }}
Études{{ $user->education_level ?? '—' }}
Tél. vérifié{{ $user->phone_verified_at ? 'Oui' : 'Non' }}
Email vérifié{{ $user->email_verified_at ? 'Oui' : 'Non' }}
@if($user->bio)

Bio : {{ $user->bio }}

@endif @if($user->interests)

{{ implode(', ', $user->interests) }}

@endif

Vérification d'identité

@if($user->identity_status === 'none')

L'utilisateur n'a pas encore soumis de selfie de vérification.

@else

Soumis le {{ $user->identity_submitted_at?->format('d/m/Y à H:i') ?? '—' }} @if($user->identity_reviewed_at) — Traité le {{ $user->identity_reviewed_at->format('d/m/Y à H:i') }} @endif

@if($user->identity_rejection_reason)

Motif du refus : {{ $user->identity_rejection_reason }}

@endif

Photo de profil

@if($avatarUrl) Profil @else

Aucune photo de profil

@endif

Selfie de vérification

@if($identityPhoto) Identité @else

Photo indisponible

@endif
@if($user->identity_status === 'pending')
@csrf @error('reason'){{ $message }}@enderror
@endif @endif

Photos de profil ({{ $user->photos->count() }})

@if($user->photos->isEmpty())

Aucune photo.

@else
@foreach($user->photos as $photo) @php $url = str_starts_with($photo->path, 'http') ? $photo->path : asset('storage/' . ltrim($photo->path, '/')); @endphp
@csrf @method('DELETE')
@endforeach
@endif

Stories / publications ({{ $user->stories->count() }})

@if($user->stories->isEmpty())

Aucune story publiée.

@else
@foreach($user->stories as $story) @php $storyUrl = $story->path && !str_starts_with($story->path, 'http') ? asset('storage/' . ltrim($story->path, '/')) : ($story->path ?: null); @endphp
@if($story->type === 'text')
{{ Str::limit($story->text_content, 80) }}
@elseif($storyUrl) @endif

{{ $story->created_at->format('d/m/Y') }}

@csrf @method('DELETE')
@endforeach
@endif
@if($reports->isNotEmpty())

Signalements reçus ({{ $reports->count() }})

@foreach($reports as $report)
{{ $report->reason }} — par {{ $report->reporter->name ?? 'Utilisateur' }} {{ $report->created_at->format('d/m/Y') }}
@endforeach Voir tous les signalements
@endif @endsection