@extends('layouts/layoutMaster') @section('title', 'Cliente - Admin') @section('content') @php use App\Models\MariachiReview; use App\Models\QuoteConversation; use App\Models\User; $statusClass = match ($client->status) { User::STATUS_ACTIVE => 'bg-label-success', User::STATUS_INACTIVE => 'bg-label-secondary', default => 'bg-label-warning', }; $statusLabel = $client->statusLabel(); $preferences = $profile?->preferences ?? []; $recommendationsEnabled = (bool) ($preferences['share_data_for_recommendations'] ?? false); $marketingEnabled = (bool) ($preferences['share_data_for_marketing'] ?? false); @endphp @if (session('status'))
{{ session('status') }}
@endif

{{ $client->display_name ?: $client->email }}

Ficha administrativa del cliente, su actividad y sus preferencias.

Volver Editar cliente
@csrf @method('PATCH')
Solicitudes

{{ number_format((int) $client->conversations_count) }}

No leídos: {{ number_format((int) $unreadMessages) }}
Favoritos

{{ number_format((int) $client->favorites_count) }}

Anuncios guardados
Vistos recientes

{{ number_format((int) $client->recent_views_count) }}

Actividad de exploración
Reseñas

{{ number_format((int) $client->reviews_count) }}

Opiniones publicadas o moderadas
Cuenta y perfil
  • Nombre: {{ $client->display_name ?: 'Pendiente' }}
  • Email: {{ $client->email }}
  • Teléfono: {{ $client->phone ?: 'Sin teléfono' }}
  • Estado: {{ $statusLabel }}
  • Ciudad: {{ $profile?->city_name ?: 'Sin ciudad' }}
  • Zona / barrio: {{ $profile?->zone_name ?: 'Sin zona' }}
  • Email verificado: {{ $client->email_verified_at ? $client->email_verified_at->format('Y-m-d H:i') : 'No verificado' }}
Privacidad y preferencias
Recomendaciones personalizadas {{ $recommendationsEnabled ? 'Permitidas' : 'Desactivadas' }}
Comunicaciones comerciales {{ $marketingEnabled ? 'Permitidas' : 'Desactivadas' }}
Solicitudes y mensajería
@forelse ($conversations as $conversation) @php $listing = $conversation->mariachiListing; $profileName = $listing?->publicTitle() ?: ($conversation->mariachiProfile?->business_name ?: $conversation->mariachiProfile?->user?->display_name ?: 'Mariachi'); $conversationStatusLabel = match ($conversation->status) { QuoteConversation::STATUS_IN_PROGRESS => 'En curso', QuoteConversation::STATUS_RESPONDED => 'Respondida', QuoteConversation::STATUS_CLOSED => 'Cerrada', default => 'Nueva', }; $conversationStatusClass = match ($conversation->status) { QuoteConversation::STATUS_IN_PROGRESS => 'bg-label-info', QuoteConversation::STATUS_RESPONDED => 'bg-label-success', QuoteConversation::STATUS_CLOSED => 'bg-label-secondary', default => 'bg-label-warning', }; @endphp @empty @endforelse
Mariachi / anuncio Evento Mensajes Estado Reseña
{{ $profileName }} {{ $conversation->mariachiProfile?->city_name ?: $conversation->event_city ?: 'Sin ciudad' }}
{{ $conversation->event_city ?: 'Sin ciudad' }} {{ $conversation->event_date?->format('Y-m-d') ?: 'Sin fecha' }}
{{ (int) $conversation->messages_count }} mensaje(s) {{ (int) $conversation->unread_for_client_count }} sin leer para cliente
{{ $conversationStatusLabel }} @if ($conversation->review) Con reseña @else Sin reseña @endif
Este cliente aún no tiene solicitudes registradas.
Favoritos
@forelse ($favorites as $favorite)
{{ $favorite->publicTitle() }}
{{ $favorite->city_name ?: 'Sin ciudad' }}
@if ($favorite->slug) Abrir público @endif
@empty

Este cliente aún no guardó anuncios como favoritos.

@endforelse
Vistos recientes
@forelse ($recentViews as $recentView) @php $recentListing = $recentView->mariachiListing; $recentProfile = $recentView->mariachiProfile; $recentLabel = $recentListing?->publicTitle() ?: ($recentProfile?->business_name ?: $recentProfile?->user?->display_name ?: 'Perfil'); @endphp
{{ $recentLabel }}
Última vista: {{ optional($recentView->last_viewed_at)->format('Y-m-d H:i') ?: 'N/D' }}
@if ($recentListing?->slug) Abrir público @endif
@empty

Este cliente aún no tiene actividad de vistos recientes.

@endforelse
Reseñas del cliente
@forelse ($reviews as $review) @php $reviewTarget = $review->mariachiListing?->publicTitle() ?: ($review->mariachiProfile?->business_name ?: $review->mariachiProfile?->user?->display_name ?: 'Mariachi'); $moderationLabel = match ($review->moderation_status) { MariachiReview::STATUS_APPROVED => 'Aprobada', MariachiReview::STATUS_REJECTED => 'Rechazada', MariachiReview::STATUS_REPORTED => 'Reportada', MariachiReview::STATUS_HIDDEN => 'Oculta', default => 'Pendiente', }; $moderationClass = match ($review->moderation_status) { MariachiReview::STATUS_APPROVED => 'bg-label-success', MariachiReview::STATUS_REJECTED, MariachiReview::STATUS_REPORTED => 'bg-label-danger', MariachiReview::STATUS_HIDDEN => 'bg-label-secondary', default => 'bg-label-warning', }; @endphp @empty @endforelse
Mariachi / anuncio Calificación Moderación Verificación Fecha
{{ $reviewTarget }} @if ($review->title) {{ $review->title }} @endif
{{ str_repeat('★', (int) $review->rating) }}{{ str_repeat('☆', max(0, 5 - (int) $review->rating)) }} {{ $moderationLabel }} {{ $review->verification_label }} {{ optional($review->created_at)->format('Y-m-d H:i') ?: 'N/D' }}
Este cliente aún no ha dejado reseñas.
@endsection