@extends('layouts.app') @section('title', 'Messages') @section('content') @php $canDelete = auth()->user()->hasAction('messages.delete'); $canArchive = auth()->user()->hasAction('messages.archive'); $canExport = auth()->user()->hasAction('messages.export'); $canPrint = auth()->user()->hasAction('messages.print'); $canManage = $canDelete || $canArchive; $queryParams = request()->query(); @endphp
@if ($canExport) Export CSV @endif @if ($canPrint) Print filtered @endif @include('partials.ephemeral-logs-banner') @include('partials.log-deletion-request-form')
@if ($canManage)
@if ($canArchive && ! request()->boolean('archived'))
@csrf @method('PATCH') @include('messages.partials.bulk-hidden-fields', ['scope' => 'selected'])
@csrf @method('PATCH') @include('messages.partials.bulk-hidden-fields', ['scope' => 'filtered'])
@if (request('device_id'))
@csrf @method('PATCH') @include('messages.partials.bulk-hidden-fields', ['scope' => 'filtered'])
@endif @endif @if ($canArchive && request()->boolean('archived'))
@csrf @method('PATCH') @include('messages.partials.bulk-hidden-fields', ['scope' => 'selected'])
@endif @if ($canDelete)
@csrf @method('DELETE') @include('messages.partials.bulk-hidden-fields', ['scope' => 'selected'])
@csrf @method('DELETE') @include('messages.partials.bulk-hidden-fields', ['scope' => 'filtered'])
@if (request('device_id'))
@csrf @method('DELETE') @include('messages.partials.bulk-hidden-fields', ['scope' => 'filtered'])
@endif
@csrf @method('DELETE') @include('messages.partials.bulk-hidden-fields', ['scope' => 'all'])
@endif @if ($canPrint) @endif
@endif
@if ($canManage) @endif @if ($canManage) @endif @forelse ($messages as $message) @php $canView = auth()->user()->canViewMessageDetails($message); @endphp $message->isArchived()])> @if ($canManage) @endif @if ($canManage) @endif @empty @endforelse
Time User Device Sender Message TypeActions
{{ $message->received_at->format('M d, H:i') }} {{ $message->device?->user?->name ?? 'Unassigned' }} {{ $message->device?->device_name ?? '—' }} {{ $message->sender }} @if ($canView) {{ Str::limit($message->message, 80) }} @else {{ Str::limit($message->message, 80) }} @endif @php $typeClass = match ($message->message_type) { 'payment' => 'badge-success', 'otp' => 'badge-warning', default => 'badge-neutral', }; @endphp {{ $message->message_type }} @if ($message->isArchived()) Archived @endif
@if ($canView) View @endif @if ($canPrint) Print @endif @if ($canExport) Export @endif @if ($canArchive) @if ($message->isArchived())
@csrf @method('PATCH')
@else
@csrf @method('PATCH')
@endif @endif @if ($canDelete)
@csrf @method('DELETE') @foreach ($queryParams as $key => $value) @if (is_scalar($value)) @endif @endforeach
@endif
No messages found.
{{ $messages->links() }}
@endsection