Files
WMS/Modules/Helpdesk/Livewire/HelpdeskDashboardWidget.php
T
2026-06-12 09:41:57 +01:00

29 lines
925 B
PHP

<?php
declare(strict_types=1);
namespace Modules\Helpdesk\Livewire;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Auth;
use Livewire\Component;
use Modules\Helpdesk\Models\Ticket;
final class HelpdeskDashboardWidget extends Component
{
/** @return View */
public function render(): View
{
$user = Auth::user();
$base = Ticket::query()->visibleTo($user);
return view('helpdesk::livewire.dashboard-widget', [
'openCount' => (clone $base)->whereNull('completed_at')->count(),
'closedCount' => (clone $base)->whereNotNull('completed_at')->count(),
'criticalCount' => (clone $base)->whereNull('completed_at')->whereHas('priority', static fn ($q) => $q->where('slug', 'critical'))->count(),
'recentTickets' => (clone $base)->with(['status', 'priority'])->latest('last_activity_at')->limit(5)->get(),
]);
}
}