@php $trendMax = max(1, (int) $trend->max(fn($row) => max($row['created'], $row['resolved']))); $pointCount = max(1, $trend->count() - 1); $createdPoints = $trend->map(fn($row, $i) => ($i * (100 / $pointCount)).','. (88 - (($row['created'] / $trendMax) * 68)))->implode(' '); $resolvedPoints = $trend->map(fn($row, $i) => ($i * (100 / $pointCount)).','. (88 - (($row['resolved'] / $trendMax) * 68)))->implode(' '); $palette = ['#ef4444', '#f59e0b', '#3b82f6', '#8b5cf6']; $priorityTotal = max(1, $priorityBreakdown->sum('count')); $offset = 0; $segments = []; $donutSegments = []; foreach($priorityBreakdown as $index => $priority) { $percent = ($priority['count'] / $priorityTotal) * 100; $segments[] = $palette[$index % count($palette)].' '.$offset.'% '.($offset + $percent).'%'; $donutSegments[] = [ 'colour' => $palette[$index % count($palette)], 'length' => $percent, 'offset' => -$offset, ]; $offset += $percent; } @endphp

Dashboard

Overview of your helpdesk system

Total Tickets{{ $totalCount }}All visible tickets
Resolved{{ $closedCount }}Completed workload
In Progress{{ $inProgressCount }}Actively being worked
Open{{ $openCount }}Awaiting resolution

Tickets Over Time

{{ $days }} days
CreatedResolved
@foreach($trend as $row){{ $row['label'] }}@endforeach

Tickets by Priority

{{ $priorityTotal }}
@foreach($priorityBreakdown as $i => $priority)
{{ $priority['name'] }}{{ $priority['count'] }} ({{ round(($priority['count']/$priorityTotal)*100, 1) }}%)
@endforeach

Latest Tickets

View all

Top Requesters

@forelse($topRequesters as $row)
{{ $row['user']->initials() }}{{ $row['user']->name }}{{ $row['count'] }} tickets
@empty
No requester data yet.
@endforelse