@extends('layouts.admin.master') @section('content') @php use Illuminate\Support\Str; $canUpdate = auth_can('admin.lapooran.anggota.update') || auth_can('admin.lapooran.anggota'); $canExcel = auth_can('admin.lapooran.anggota.excel'); $reasonLabels = [ 'penipuan' => 'Penipuan', 'spam' => 'Spam', 'pelecehan' => 'Pelecehan', 'konten_tidak_pantas' => 'Konten tidak pantas', 'ancaman' => 'Ancaman', 'lainnya' => 'Lainnya', ]; $statusLabels = [ 'baru' => 'Baru', 'ditinjau' => 'Ditinjau', 'selesai' => 'Selesai', 'ditolak' => 'Ditolak', ]; $statusClasses = [ 'baru' => 'danger', 'ditinjau' => 'warning', 'selesai' => 'success', 'ditolak' => 'secondary', ]; @endphp @if (session('success'))
{{ session('success') }}
@endif

Total Laporan

{{ number_format($stats['total']) }}

Belum Ditinjau

{{ number_format($stats['baru']) }}

Sedang Ditinjau

{{ number_format($stats['ditinjau']) }}

Selesai

{{ number_format($stats['selesai']) }}

Datatable Laporan Obrolan

Laporan dari member untuk penipuan, spam, ancaman, atau potensi obrolan tidak baik.

Daftar Obrolan @if ($canExcel) Ekspor CSV @endif
@forelse ($reports as $report) @php $conversation = $report->conversation; $conversationTitle = $conversation ? ($conversation->type !== 'direct' && $conversation->name ? $conversation->name : $conversation->participants->map(fn ($participant) => $participant->chatLabel())->filter()->take(2)->implode(' & ')) : data_get($report->meta, 'conversation_name', 'Obrolan terhapus'); $reporterName = $report->reporter?->chatLabel() ?? data_get($report->meta, 'reporter_label', 'Pelapor terhapus'); $reportedName = $report->reportedUser?->chatLabel() ?? data_get($report->meta, 'reported_label', null); $status = $report->status ?: 'baru'; $adminNote = data_get($report->meta, 'admin_note', ''); @endphp @empty @endforelse
No Waktu Pelapor Terlapor / Obrolan Alasan Detail Status Aksi
{{ $loop->iteration }} {{ optional($report->created_at)->timestamp }}
{{ optional($report->created_at)->format('d M Y, H:i') }}
{{ optional($report->created_at)->diffForHumans() }}
{{ $reporterName }}
{{ $report->reporter?->email ?? '-' }}
{{ $reportedName ?: $conversationTitle }}
{{ $conversation?->type === 'group' ? 'Grup' : 'Percakapan langsung' }} @if ($reportedName) - {{ $conversationTitle }} @endif
{{ $reasonLabels[$report->reason] ?? Str::headline((string) $report->reason) }}
{{ $report->description ?: 'Tidak ada catatan tambahan.' }}
@if (data_get($report->meta, 'last_message_preview')) Pesan terakhir: {{ data_get($report->meta, 'last_message_preview') }} @endif @if ($adminNote) Catatan admin: {{ $adminNote }} @endif
{{ $statusLabels[$status] ?? Str::headline($status) }} @if ($report->reviewer) oleh {{ $report->reviewer->chatLabel() }} @endif
@if ($conversation) Buka Thread @endif @if ($canUpdate)
@csrf
@endif
Belum ada laporan obrolan masuk.
@endsection @section('stylesheet') @endsection @section('javascript') @endsection