@if($rows->isEmpty())
No recordings match your filters.
@else
|
Date / Time ↓ |
Direction |
Ext |
From |
To |
Duration |
Status |
Transcript |
Sentiment |
Tags |
|
@foreach($rows as $r)
@php
$durFmt = gmdate($r->duration >= 3600 ? 'H:i:s' : 'i:s', (int)$r->duration);
$dispClass = match($r->disposition ?? '') {
'ANSWERED' => 'rec-disp-ans',
'NO ANSWER' => 'rec-disp-no',
'BUSY','FAILED' => 'rec-disp-busy',
default => 'rec-disp-no',
};
$dirClass = match($r->direction ?? '') {
'OUT' => 'rec-dir-out',
'IN' => 'rec-dir-in',
default => 'rec-dir-int',
};
$sentClass = match($r->sentiment ?? '') {
'positive' => 'rec-sent-pos',
'negative' => 'rec-sent-neg',
default => 'rec-sent-neu',
};
$info = json_encode([
'calldate' => $r->calldate,
'src' => $r->src, 'dst' => $r->dst,
'src_name' => $r->src_name, 'dst_name' => $r->dst_name,
'duration' => (int)$r->duration, 'durFmt' => $durFmt,
'disposition' => $r->disposition,
'direction' => $r->direction,
'extension' => $r->extension,
'extension_name' => $r->extension_name,
'filename' => $r->recordingfile,
]);
@endphp
|
{{ \Illuminate\Support\Carbon::parse($r->calldate)->format('Y-m-d H:i:s') }}
|
{{ $r->direction ?: '—' }} |
{{ $r->extension }}
@if($r->extension_name)
{{ $r->extension_name }}
@endif
|
{{ $r->src }}
@if($r->src_name)
{{ $r->src_name }}
@endif
|
{{ $r->dst }}
@if($r->dst_name)
{{ $r->dst_name }}
@endif
|
{{ $durFmt }} |
{{ $r->disposition }} |
@if(!empty($r->transcript))
Transcribed
@elseif($r->file_exists)
Pending
@else
—
@endif
|
@if($r->sentiment)
{{ ucfirst($r->sentiment) }}
@else
—
@endif
|
@foreach(array_filter(array_map('trim', explode(',', (string)($r->tags ?? '')))) as $t)
{{ $t }}
@endforeach
|
@if(!$r->file_exists)
missing
@else
@endif
|
@endforeach
{{-- Pagination + count --}}
Show
entries | Showing {{ $rows->firstItem() }} to {{ $rows->lastItem() }} of {{ number_format($rows->total()) }} entries
{{ $rows->links() }}
@endif