user()->reservations(); $next = (clone $query) ->with('items.asset:id,name,asset_tag,category_name') ->where('ends_at', '>', now()) ->whereNotIn('status', [ReservationStatus::Rejected, ReservationStatus::Cancelled, ReservationStatus::Expired]) ->orderBy('starts_at') ->first(); return Inertia::render('dashboard', [ 'summary' => [ 'pending' => (clone $query)->where('status', ReservationStatus::PendingApproval)->count(), 'approved' => (clone $query)->whereIn('status', [ReservationStatus::Approved, ReservationStatus::Ready])->count(), 'inUse' => (clone $query)->whereIn('status', [ReservationStatus::Delivered, ReservationStatus::InUse, ReservationStatus::Overdue])->count(), ], 'nextReservation' => $next, 'recentReservations' => (clone $query) ->with('items.asset:id,name,asset_tag') ->latest() ->limit(5) ->get(), ]); } }