@php // function formatTimeDifference($start, $end) // { // $diff = $start->diff($end); // return sprintf('%02d:%02d:%02d', $diff->h, $diff->i, $diff->s); // } function formatTimeDifference($start, $end) { $diff = $start->diff($end); $days = $diff->days; $hours = $diff->h + $days * 24; return sprintf('%02d:%02d:%02d', $hours, $diff->i, $diff->s); } @endphp
{{-- @if ($reportData != null) --}}
@if ($subType == 'sentEmails') @forelse($sentEmails as $email) @empty @endforelse
Source ID Title Content Sent To Agent Name Agent ID DateTime Attachment
{{ $email?->id }} {{ $email?->resourceInfo?->email?->subject }}
{!! strip_tags(html_entity_decode($email?->resourceInfo?->content, ENT_QUOTES, 'UTF-8')) !!}
{{-- @foreach ($email?->resourceInfo?->messages ?? [] as $message)
{!! strip_tags(html_entity_decode($message?->html, ENT_QUOTES, 'UTF-8')) !!}
@endforeach --}}
{{ $email?->resourceInfo?->email?->to }} {{ $email?->user?->first_name . ' ' . $email?->resource?->user?->last_name }} {{ $email?->user?->username }} {{ Carbon::parse($email?->created_at)?->format('Y-m-d h:i:s A') }} @foreach ($email?->resourceInfo?->attachments ?? [] as $attachment)
{!! $attachment?->file !!}
@endforeach
There is no data found
@elseif($subType == 'assignment') @forelse($assignments as $assignment) @empty @endforelse
Source ID Agent ID Agent Name Assigned At Assigned From Created At
{{ $assignment?->resource_id }} {{ $assignment?->resource?->user?->username }} {{ $assignment?->resource?->user?->first_name . ' ' . $assignment?->resource?->user?->last_name }} {{ $assignment?->resource?->user_id == 0 ? '-' : ($assignment?->resource?->assign_at ? Carbon::parse($assignment?->resource?->assign_at)?->format('Y-m-d h:i:s A') : '-') }} {{ $assignment?->channel }} {{ $assignment?->created_at?->format('Y-m-d h:i:s A') }}
There is no data found
@elseif($subType == 'historicalNonVoice') @foreach (\App\Models\Tenant\CategoryLevel::where('status', 1)?->get() as $level) @endforeach {{-- --}} {{-- --}} {{-- --}} @php $categoryCount = \App\Models\Tenant\CategoryLevel::where('status', 1)->count(); @endphp @foreach ($historical_facebook_comments ?? [] as $comment) {{-- --}} {{-- --}} @php // Collect all resource categories $allCategories = collect($comment?->facebook?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_linkedin_comments ?? [] as $comment) {{-- --}} {{-- --}} @php // Collect all resource categories $allCategories = collect($comment?->linkedin?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_youtube_comments ?? [] as $comment) @php // Collect all resource categories $allCategories = collect($comment?->youtube?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_facebook_messages ?? [] as $message) {{-- --}} {{-- @foreach ($message?->facebook?->resourceInfo?->resource?->resourceCategories ?? [] as $item) @endforeach --}} @php // Collect all resource categories $allCategories = collect($message?->facebook?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_instagram_comments ?? [] as $comment) {{-- --}} {{-- @foreach ($comment?->instagram?->resourceInfo?->resource?->resourceCategories ?? [] as $item) @endforeach --}} @php // Collect all resource categories $allCategories = collect($comment?->instagram?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_instagram_messages ?? [] as $message) {{-- --}} {{-- @foreach ($message?->instagram?->resourceInfo?->resource?->resourceCategories ?? [] as $item) @endforeach --}} @php // Collect all resource categories $allCategories = collect($message?->instagram?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_emails ?? [] as $email) {{-- --}} {{-- new --}} {{-- @foreach ($email?->email?->resourceInfo?->resource?->resourceCategories ?? [] as $item) @endforeach --}} @php // Collect all resource categories $allCategories = collect($email?->email?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_livechats ?? [] as $livechat) {{-- --}} {{-- @foreach ($livechat?->livechat?->resourceInfo?->resource?->resourceCategories ?? [] as $item) @endforeach --}} @php // Collect all resource categories $allCategories = collect($livechat?->livechat?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_whatsapp ?? [] as $whatsapp) {{-- --}} {{-- @foreach ($whatsapp?->whatsapp?->resourceInfo?->resource?->resourceCategories ?? [] as $item) @endforeach --}} @php // Collect all resource categories $allCategories = collect($whatsapp?->whatsapp?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach @foreach ($historical_google ?? [] as $google) {{-- --}} {{-- @foreach ($google?->google?->resourceInfo?->resource?->resourceCategories ?? [] as $item) @endforeach --}} @php // Collect all resource categories $allCategories = collect($google?->google?->resourceInfo?->resource?->resourceCategories ?? []) ->sortByDesc(function ($item) { return $item->category?->created_at; }) ->unique('category_level_id') ->take($categoryCount); @endphp @foreach ($allCategories as $item) @endforeach @endforeach
Source ID Channel Customer Status Contents Email Contents Reply Created At Reply Time First Response Time Resolved At Closed At Group Agent ID ِAgent Name {{ $level?->label }} CategoryFirst Sub Category Second Sub Category Third Sub Category Fourth Sub CategoryUpdated ByUpdated Comments
{{ $comment?->facebook?->resourceInfo?->resource?->id }} {{ 'Facebook' }} {{ $comment?->facebook?->resourceInfo?->customer?->display_name }} {{ $comment?->facebook?->resourceInfo?->resource?->status }} {{ $comment?->text }} {{ '-' }} @php $nextOutboundComment = $all_historical_facebook_comments ?->where('type', 'Outbound') ?->filter(function ($commentItem) use ($comment) { return $commentItem?->facebook?->resourceInfo?->resource?->id === $comment?->facebook?->resourceInfo?->resource?->id; }) ?->filter(function ($commentItem) use ($comment) { return $commentItem?->created_at > $comment?->created_at; }) ?->sortBy('created_at') ?->first(); @endphp {{ $nextOutboundComment ? $nextOutboundComment?->text : '-' }} {{ $comment?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundComment?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $comment?->facebook?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $newTicketIntervals = []; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$newTicketIntervals, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!empty($newTicketIntervals) && end($newTicketIntervals)['end'] === null) { $newTicketIntervals[count($newTicketIntervals) - 1]['end'] = $resolvedOrClosedActionTime; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'New Ticket') { $newTicketIntervals[] = [ 'start' => $action?->created_at, 'end' => null, ]; } }); $totalNewTicketDuration = 0; foreach ($newTicketIntervals as $interval) { if ($interval['end']) { $totalNewTicketDuration += $interval['end']->diffInSeconds($interval['start']); } } if ($nextOutboundCommentCreatedAt && ((!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime) && !$totalNewTicketDuration)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime) { $initialDuration = $resolvedOrClosedActionTime->diffInSeconds($comment->created_at); $totalDuration = $initialDuration - $totalNewTicketDuration; $timeDiff = formatTimeDifference($comment->created_at, $comment->created_at->copy()->addSeconds($totalDuration)); } elseif ($nextOutboundCommentCreatedAt) { $initialDuration = $nextOutboundCommentCreatedAt->diffInSeconds($comment->created_at); $totalDuration = $initialDuration - $totalNewTicketDuration; $timeDiff = formatTimeDifference($comment->created_at, $comment->created_at->copy()->addSeconds($totalDuration)); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $comment?->facebook?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $comment?->facebook?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{ optional($comment?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $comment?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ optional($comment?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $comment?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Facebook' }} {{ $comment?->facebook?->resourceInfo?->resource?->user?->username }} {{ $comment?->facebook?->resourceInfo?->resource?->user?->first_name . ' ' . $comment?->facebook?->resourceInfo?->resource?->user?->last_name }}{{ $item->category->name }}
{{ $comment?->linkedin?->resourceInfo?->resource?->id }} {{ 'LinkedIn' }} {{ $comment?->linkedin?->resourceInfo?->customer?->display_name }} {{ $comment?->linkedin?->resourceInfo?->resource?->status }} {{ $comment?->text }} {{ '-' }} @php $nextOutboundComment = $all_historical_linkedin_comments ?->where('type', 'Outbound') ?->filter(function ($commentItem) use ($comment) { return $commentItem?->linkedin?->resourceInfo?->resource?->id === $comment?->linkedin?->resourceInfo?->resource?->id; }) ?->filter(function ($commentItem) use ($comment) { return $commentItem?->created_at > $comment?->created_at; }) ?->sortBy('created_at') ?->first(); @endphp {{ $nextOutboundComment ? $nextOutboundComment?->text : '-' }} {{ $comment?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundComment?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $comment?->linkedin?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $newTicketIntervals = []; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$newTicketIntervals, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!empty($newTicketIntervals) && end($newTicketIntervals)['end'] === null) { $newTicketIntervals[count($newTicketIntervals) - 1]['end'] = $resolvedOrClosedActionTime; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'New Ticket') { $newTicketIntervals[] = [ 'start' => $action?->created_at, 'end' => null, ]; } }); $totalNewTicketDuration = 0; foreach ($newTicketIntervals as $interval) { if ($interval['end']) { $totalNewTicketDuration += $interval['end']->diffInSeconds($interval['start']); } } if ($nextOutboundCommentCreatedAt && ((!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime) && !$totalNewTicketDuration)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime) { $initialDuration = $resolvedOrClosedActionTime->diffInSeconds($comment->created_at); $totalDuration = $initialDuration - $totalNewTicketDuration; $timeDiff = formatTimeDifference($comment->created_at, $comment->created_at->copy()->addSeconds($totalDuration)); } elseif ($nextOutboundCommentCreatedAt) { $initialDuration = $nextOutboundCommentCreatedAt->diffInSeconds($comment->created_at); $totalDuration = $initialDuration - $totalNewTicketDuration; $timeDiff = formatTimeDifference($comment->created_at, $comment->created_at->copy()->addSeconds($totalDuration)); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $comment?->linkedin?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $comment?->linkedin?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{ optional($comment?->linkedin?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $comment?->linkedin?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ optional($comment?->linkedin?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $comment?->linkedin?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'LinkedIn' }} {{ $comment?->linkedin?->resourceInfo?->resource?->user?->username }} {{ $comment?->linkedin?->resourceInfo?->resource?->user?->first_name . ' ' . $comment?->linkedin?->resourceInfo?->resource?->user?->last_name }}{{ $item->category->name }}
{{ $comment?->youtube?->resourceInfo?->resource?->id }} {{ 'Youtube' }} {{ $comment?->youtube?->resourceInfo?->customer?->display_name }} {{ $comment?->youtube?->resourceInfo?->resource?->status }} {{ $comment?->text }} {{ '-' }} @php $nextOutboundComment = $all_historical_youtube_comments ?->where('type', 'Outbound') ?->filter(function ($commentItem) use ($comment) { return $commentItem?->youtube?->resourceInfo?->resource?->id === $comment?->youtube?->resourceInfo?->resource?->id; }) ?->filter(function ($commentItem) use ($comment) { return $commentItem?->created_at > $comment?->created_at; }) ?->sortBy('created_at') ?->first(); @endphp {{ $nextOutboundComment ? $nextOutboundComment?->text : '-' }} {{ $comment?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundComment?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $comment?->youtube?->resourceInfo?->resource?->resourceActions ?? collect(); $resourceActions = $resourceActions->sortBy('created_at'); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{ optional($comment?->youtube?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $comment?->youtube?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ optional($comment?->youtube?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $comment?->youtube?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Youtube' }} {{ $comment?->youtube?->resourceInfo?->resource?->user?->username }} {{ $comment?->youtube?->resourceInfo?->resource?->user?->first_name . ' ' . $comment?->youtube?->resourceInfo?->resource?->user?->last_name }}{{ $item->category->name }}
{{ $message?->facebook?->resourceInfo?->resource?->id }} {{ 'Facebook' }} {{ $message?->facebook?->resourceInfo?->customer?->display_name }} {{ $message?->facebook?->resourceInfo?->resource?->status }} {{ $message?->text }} {{ '-' }} @php // $nextOutboundMessage = $all_historical_facebook_messages // ?->where('type', 'Outbound') // ?->where('created_at', '>', $message?->created_at) // ?->sortBy('created_at') // ?->first() // ?->whereHas('facebook.resourceInfo.resource', function ($q) { // $q?->where('id', $message?->facebook?->resourceInfo?->resource?->id); // }); $nextOutboundMessage = $all_historical_facebook_messages ?->where('type', 'Outbound') ?->filter(function ($messageItem) use ($message) { return $messageItem?->created_at > $message?->created_at; }) ?->sortBy('created_at') ?->filter(function ($messageItem) use ($message) { return $messageItem?->facebook?->resourceInfo?->resource?->id === $message?->facebook?->resourceInfo?->resource?->id; }) ?->first(); @endphp {{ $nextOutboundMessage ? $nextOutboundMessage?->text : '-' }} {{ $message?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundMessage?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $message?->facebook?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $message?->facebook?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{ optional($message?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $message?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ optional($message?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $message?->facebook?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Facebook' }} {{ $message?->facebook?->resourceInfo?->resource?->user?->username }} {{ $message?->facebook?->resourceInfo?->resource?->user?->first_name . ' ' . $message?->facebook?->resourceInfo?->resource?->user?->last_name }}{{ $item?->category?->orderBy('id', 'DESC')->limit(\App\Models\Tenant\CategoryLevel::where('status', 1)?->count())->name }} {{ $item->category->name }}{{ $message?->facebook?->resourceInfo?->resource?->user?->first_name . ' ' . $message?->facebook?->resourceInfo?->resource?->user?->last_name }}
{{ $comment?->instagram?->resourceInfo?->resource?->id }} {{ 'Instagram' }} {{ $comment?->instagram?->resourceInfo?->customer?->display_name }} {{ $comment?->instagram?->resourceInfo?->resource?->status }} {{ $comment?->text }} {{ '-' }} @php // $nextOutboundComment = $all_historical_instagram_comments // ?->where('type', 'Outbound') // ?->where('created_at', '>', $comment?->created_at) // ?->sortBy('created_at') // ?->first() // ?->whereHas('instagram.resourceInfo.resource', function ($q) { // $q?->where('id', $comment?->instagram?->resourceInfo?->resource?->id); // }); $nextOutboundComment = $all_historical_instagram_comments ?->where('type', 'Outbound') ?->filter(function ($commentItem) use ($comment) { return $commentItem?->created_at > $comment?->created_at; }) ?->sortBy('created_at') ?->filter(function ($commentItem) use ($comment) { return $commentItem?->instagram?->resourceInfo?->resource?->id === $comment?->instagram?->resourceInfo?->resource?->id; }) ?->first(); @endphp {{ $nextOutboundComment ? $nextOutboundComment?->text : '-' }} {{ $comment?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundComment?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $comment?->instagram?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $comment?->instagram?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundComment?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($comment->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($comment->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{ optional($comment?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $comment?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ optional($comment?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $comment?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Instagram' }} {{ $comment?->instagram?->resourceInfo?->resource?->user?->username }} {{ $comment?->instagram?->resourceInfo?->resource?->user?->first_name . ' ' . $comment?->instagram?->resourceInfo?->resource?->user?->last_name }}{{ $item?->category?->orderBy('id', 'DESC')->limit(\App\Models\Tenant\CategoryLevel::where('status', 1)?->count())->name }} {{ $item->category->name }}{{ $comment?->instagram?->resourceInfo?->resource?->user?->first_name . ' ' . $comment?->instagram?->resourceInfo?->resource?->user?->last_name }}
{{ $message?->instagram?->resourceInfo?->resource?->id }} {{ 'Instagram' }} {{ $message?->instagram?->resourceInfo?->customer?->display_name }} {{ $message?->instagram?->resourceInfo?->resource?->status }} {{ $message?->text }} {{ '-' }} @php // $nextOutboundMessage = $all_historical_instagram_messages // ?->where('type', 'Outbound') // ?->where('created_at', '>', $message?->created_at) // ?->sortBy('created_at') // ?->first() // ?->whereHas('instagram.resourceInfo.resource', function ($q) { // $q?->where('id', $message?->instagram?->resourceInfo?->resource?->id); // }); $nextOutboundMessage = $all_historical_instagram_messages ?->where('type', 'Outbound') ?->filter(function ($messageItem) use ($message) { return $messageItem?->created_at > $message?->created_at; }) ?->sortBy('created_at') ?->filter(function ($messageItem) use ($message) { return $messageItem?->instagram?->resourceInfo?->resource?->id === $message?->instagram?->resourceInfo?->resource?->id; }) ?->first(); @endphp {{ $nextOutboundMessage ? $nextOutboundMessage?->text : '-' }} {{ $message?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundMessage?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $message?->instagram?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $message?->instagram?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{ optional($message?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $message?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ optional($message?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $message?->instagram?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Instagram' }} {{ $message?->instagram?->resourceInfo?->resource?->user?->username }} {{ $message?->instagram?->resourceInfo?->resource?->user?->first_name . ' ' . $message?->instagram?->resourceInfo?->resource?->user?->last_name }}{{ $item?->category?->orderBy('id', 'DESC')->limit(\App\Models\Tenant\CategoryLevel::where('status', 1)?->count())->name }} {{ $item->category->name }}{{ $message?->instagram?->resourceInfo?->resource?->user?->first_name . ' ' . $message?->instagram?->resourceInfo?->resource?->user?->last_name }}
{{ $email?->email?->resourceInfo?->resource?->id }} {{ 'Email' }} {{ $email?->email?->resourceInfo?->customer?->display_name }} {{ $email?->email?->resourceInfo?->resource?->status }} {{ '-' }} {{ strip_tags(html_entity_decode($email?->html, ENT_QUOTES, 'UTF-8')) }} {{-- Reply --}} @php // $nextOutboundMessage = $all_historical_emails // ?->where('type', 'Outbound') // ?->where('created_at', '>', $email?->created_at) // ?->sortBy('created_at') // ?->first() // ?->whereHas('email.resourceInfo.resource', function ($q) { // $q?->where('id', $email?->email?->resourceInfo?->resource?->id); // }); $nextOutboundMessage = $all_historical_emails ?->whereIn('type', ['Outbound', ' Outbound']) ?->filter(function ($emailItem) use ($email) { return $emailItem?->created_at > $email?->created_at; }) ?->sortBy('created_at') ?->filter(function ($emailItem) use ($email) { return $emailItem?->email?->resourceInfo?->resource?->id === $email?->email?->resourceInfo?->resource?->id; }) ?->first(); @endphp {{ $nextOutboundMessage ? strip_tags(html_entity_decode($nextOutboundMessage?->html, ENT_QUOTES, 'UTF-8')) : '-' }} {{ $email?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundMessage?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $email?->email?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $email?->email?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($email->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($email->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundMessageCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($email->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{-- resolved at --}} {{ optional($email?->email?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $email?->email?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{-- closed at --}} {{ optional($email?->email?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $email?->email?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Email' }} {{ $email?->email?->resourceInfo?->resource?->user?->username }} {{ $email?->email?->resourceInfo?->resource?->user?->first_name . ' ' . $email?->email?->resourceInfo?->resource?->user?->last_name }}{{ $item?->category?->orderBy('id', 'DESC')->limit(\App\Models\Tenant\CategoryLevel::where('status', 1)?->count())->name }} {{ $item->category->name }}{{ $email?->email?->resourceInfo?->resource?->user?->first_name . ' ' . $email?->email?->resourceInfo?->resource?->user?->last_name }}
{{ $livechat?->livechat?->resourceInfo?->resource?->id }} {{ 'Livechat' }} {{ $livechat?->livechat?->resourceInfo?->customer?->display_name }} {{ $livechat?->livechat?->resourceInfo?->resource?->status }} {{ $livechat?->message }} {{ '-' }} {{-- Reply --}} @php // $nextOutboundLivechat = $all_historical_livechats // ?->where('type', 'Outbound') // ?->where('created_at', '>', $livechat?->created_at) // ?->sortBy('created_at') // ?->first() // ?->whereHas('livechat.resourceInfo.resource', function ($q) { // $q?->where('id', $livechat?->livechat?->resourceInfo?->resource?->id); // }); $nextOutboundLivechat = $all_historical_livechats ?->where('type', 'Outbound') ?->filter(function ($livechatItem) use ($livechat) { return $livechatItem?->created_at > $livechat?->created_at; }) ?->sortBy('created_at') ?->filter(function ($livechatItem) use ($livechat) { return $livechatItem?->livechat?->resourceInfo?->resource?->id === $livechat?->livechat?->resourceInfo?->resource?->id; }) ?->first(); @endphp {{ $nextOutboundLivechat ? $nextOutboundLivechat?->message : '-' }} {{ $livechat?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundLivechat?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $livechat?->livechat?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundLivechat?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $livechat?->livechat?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundLivechat?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($livechat->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($livechat->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($livechat->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{-- resolved at --}} {{ optional($livechat?->livechat?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $livechat?->livechat?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{-- closed at --}} {{ optional($livechat?->livechat?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $livechat?->livechat?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Livechat' }} {{ $livechat?->livechat?->resourceInfo?->resource?->user?->username }} {{ $livechat?->livechat?->resourceInfo?->resource?->user?->first_name . ' ' . $livechat?->livechat?->resourceInfo?->resource?->user?->last_name }}{{ $item?->category?->orderBy('id', 'DESC')->limit(\App\Models\Tenant\CategoryLevel::where('status', 1)?->count())->name }} {{ $item->category->name }}{{ $livechat?->livechat?->resourceInfo?->resource?->user?->first_name . ' ' . $livechat?->livechat?->resourceInfo?->resource?->user?->last_name }}
{{ $whatsapp?->whatsapp?->resourceInfo?->resource?->id }} {{ 'Whatsapp' }} {{ $whatsapp?->whatsapp?->resourceInfo?->customer?->display_name }} {{ $whatsapp?->whatsapp?->resourceInfo?->resource?->status }} {{ $whatsapp?->text }} {{ '-' }} {{-- Reply --}} @php // $nextOutboundwhatsapp = $historical_whatsapp // ?->where('type', 'Outbound') // ?->where('created_at', '>', $whatsapp?->created_at) // ?->sortBy('created_at') // ?->first() // ?->whereHas('whatsapp.resourceInfo.resource', function ($q) { // $q?->where('id', $whatsapp?->whatsapp?->resourceInfo?->resource?->id); // }); $nextOutboundWhatsapp = $historical_whatsapp ?->where('type', 'Outbound') ?->filter(function ($whatsappItem) use ($whatsapp) { return $whatsappItem?->created_at > $whatsapp?->created_at; }) ?->sortBy('created_at') ?->filter(function ($whatsappItem) use ($whatsapp) { return $whatsappItem?->whatsapp?->resourceInfo?->resource?->id === $whatsapp?->whatsapp?->resourceInfo?->resource?->id; }) ?->first(); @endphp {{ $nextOutboundWhatsapp ? $nextOutboundWhatsapp?->text : '-' }} {{ $whatsapp?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundWhatsapp?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $whatsapp?->whatsapp?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $whatsapp?->whatsapp?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundWhatsapp?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($whatsapp->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($whatsapp->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($whatsapp->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{-- resolved at --}} {{ optional($whatsapp?->whatsapp?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $whatsapp?->whatsapp?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{-- closed at --}} {{ optional($whatsapp?->whatsapp?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $whatsapp?->whatsapp?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Whatsapp' }} {{ $whatsapp?->whatsapp?->resourceInfo?->resource?->user?->username }} {{ $whatsapp?->whatsapp?->resourceInfo?->resource?->user?->first_name . ' ' . $whatsapp?->whatsapp?->resourceInfo?->resource?->user?->last_name }}{{ $item?->category?->orderBy('id', 'DESC')->limit(\App\Models\Tenant\CategoryLevel::where('status', 1)?->count())->name }} {{ $item->category->name }}{{ $whatsapp?->whatsapp?->resourceInfo?->resource?->user?->first_name . ' ' . $whatsapp?->whatsapp?->resourceInfo?->resource?->user?->last_name }}
{{ $google?->google?->resourceInfo?->resource?->id }} {{ 'Google' }} {{ $google?->google?->resourceInfo?->customer?->display_name }} {{ $google?->google?->resourceInfo?->resource?->status }} {{ $google?->text }} {{ '-' }} {{-- Reply --}} @php // $nextOutboundGoogle = $all_historical_google // ?->where('type', 'Outbound') // ?->where('created_at', '>', $google?->created_at) // ?->sortBy('created_at') // ?->first() // ?->whereHas('google.resourceInfo.resource', function ($q) { // $q?->where('id', $google?->google?->resourceInfo?->resource?->id); // }); $nextOutboundGoogle = $all_historical_google ?->where('type', 'Outbound') ?->filter(function ($googleItem) use ($google) { return $googleItem?->created_at > $google?->created_at; }) ?->sortBy('created_at') ?->filter(function ($googleItem) use ($google) { return $googleItem?->google?->resourceInfo?->resource?->id === $google?->google?->resourceInfo?->resource?->id; }) ?->first(); @endphp {{ $nextOutboundGoogle ? $nextOutboundGoogle?->text : '-' }} {{ $google?->created_at?->format('Y-m-d h:i:s A') }} {{ $nextOutboundGoogle?->created_at?->format('Y-m-d h:i:s A') ?? '-' }} @php $resourceActions = $google?->google?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundMessageCreatedAt = $nextOutboundMessage?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $resourceActions?->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime) { if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; } } }); if ($nextOutboundMessageCreatedAt && (!$earliestActionTime || $nextOutboundMessageCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $nextOutboundMessageCreatedAt); } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($message->created_at, $resolvedOrClosedActionTime); } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($message->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} @php $resourceActions = $google?->google?->resourceInfo?->resource?->resourceActions ?? collect(); $nextOutboundCommentCreatedAt = $nextOutboundGoogle?->created_at ?? null; $earliestActionTime = null; $pendingActionTime = null; $resolvedOrClosedActionTime = null; $isFirstActionClosed = null; $hasClosedAction = null; $hasPendingAction = null; $resourceActions->each(function ($action) use (&$earliestActionTime, &$pendingActionTime, &$resolvedOrClosedActionTime, &$isFirstActionClosed, &$hasPendingAction, &$hasClosedAction) { // Check for 'Closed' or 'Resolved' actions if (in_array($action?->action, ['Closed', 'Resolved'])) { $resolvedOrClosedActionTime = $action?->created_at; // if it has a closed action if ($action->action == 'Closed') { $hasClosedAction = true; } if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; if ($action->action == 'Closed') { $isFirstActionClosed = true; } } } // Check for 'Pending' actions if ($action?->action == 'Pending') { $pendingActionTime = $action?->created_at; $hasPendingAction = true; if (!$earliestActionTime || $action?->created_at < $earliestActionTime) { $earliestActionTime = $action?->created_at; $isFirstActionClosed = false; } } }); // Determine the time difference if ($nextOutboundCommentCreatedAt && (!$earliestActionTime || $nextOutboundCommentCreatedAt < $earliestActionTime)) { $timeDiff = formatTimeDifference($google->created_at, $nextOutboundCommentCreatedAt); } elseif ($resolvedOrClosedActionTime && !$pendingActionTime) { // } elseif ($resolvedOrClosedActionTime && (!$earliestActionTime || $resolvedOrClosedActionTime < $earliestActionTime)) { $timeDiff = formatTimeDifference($google->created_at, $resolvedOrClosedActionTime); // new requirement; if the first action was closed, then show the timeDiff as '-' if ($isFirstActionClosed) { $timeDiff = '-'; } } elseif (!$nextOutboundCommentCreatedAt && $hasClosedAction && $hasPendingAction) { $timeDiff = '-'; } elseif ($pendingActionTime) { $timeDiff = formatTimeDifference($google->created_at, $pendingActionTime); } else { $timeDiff = '-'; } @endphp {{ $timeDiff != '00:00:00' ? $timeDiff : '-' }} {{-- resolved at --}} {{ optional($google?->google?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved'))?->created_at ? $google?->google?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Resolved')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{-- closed at --}} {{ optional($google?->google?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed'))?->created_at ? $google?->google?->resourceInfo?->resource?->resourceActions?->firstWhere('action', 'Closed')?->created_at?->format('Y-m-d h:i:s A') : '-' }} {{ 'Google' }} {{ $google?->google?->resourceInfo?->resource?->user?->username }} {{ $google?->google?->resourceInfo?->resource?->user?->first_name . ' ' . $google?->google?->resourceInfo?->resource?->user?->last_name }}{{ $item?->category?->orderBy('id', 'DESC')->limit(\App\Models\Tenant\CategoryLevel::where('status', 1)?->count())->name }} {{ $item->category->name }}{{ $google?->google?->resourceInfo?->resource?->user?->first_name . ' ' . $google?->google?->resourceInfo?->resource?->user?->last_name }}
@elseif($subType == 'socialMediaUsers') @forelse ($users_with_resolved_resources as $user) @empty @endforelse
Agent Name Date From Date To Resolved Tickets Responses
{{ $user?->first_name . ' ' . $user?->last_name }} {{ $from_date_preview }} {{ $to_date_preview }} {{ $user?->resolved_resources_count }} {{ $user?->outbound_facebook_comments_count + $user?->outbound_facebook_messages_count + $user?->outbound_instagram_messages_count + $user?->outbound_instagram_comments_count + $user?->outbound_whatsapp_messages_count + $user?->livechat_sessions_count + $user?->google_reviews_count }} {{-- @php $total = 0; foreach ($user?->resources as $res) { if ($res?->resourceInfo) { $total += $res?->resourceInfo?->facebook ? $res?->resourceInfo?->facebook?->count() : 0; $total += $res?->resourceInfo?->instagram ? $res?->resourceInfo?->instagram?->count() : 0; $total += $res?->resourceInfo?->whatsapp ? $res?->resourceInfo?->whatsapp?->count() : 0; $total += $res?->resourceInfo?->livechat ? $res?->resourceInfo?->livechat?->count() : 0; $total += $res?->resourceInfo?->google ? $res?->resourceInfo?->google?->count() : 0; } } @endphp {{ $total }} --}}
There is no data found
@endif
{{-- @else
no report select
@endif --}}
Type

Sub Type

@if ($subType == 'historicalNonVoice')
Filters

@endif @if ($subType != null)
@endif {{-- @endif --}}