@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($user->identity_status === 'pending')
@endif
@if($user->is_blocked)
@else
@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)
@else
Aucune photo de profil
@endif
Selfie de vérification
@if($identityPhoto)
@else
Photo indisponible
@endif
@if($user->identity_status === 'pending')
@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